2015-03-03 23 views
6

Tôi đã chuyển từ MBP công việc sang MBP nhà của tôi. Công việc được phép chạy lệnh git mà không cần sudo. Nhưng tôi thấy đây là một yêu cầu trên máy chủ của tôi.Lệnh Git yêu cầu sudo trên OSX

Tôi muốn để có thể chạy lệnh git mà không sudo.

Tôi đã xem các lệnh git trong/usr/bin và tất cả chúng đều có rwxr-xr-x (755) và được sở hữu bởi bánh xe gốc và nhóm. Tôi cho rằng tôi có thể thay đổi điều này thành rwxrwxrwx (777), nhưng tôi tự hỏi liệu có cách nào tốt hơn không. Tôi đang nghĩ đến việc thêm người dùng của mình vào nhóm bánh xe; nhưng liệu có tác dụng phụ nào khác không?

+2

Nếu các lệnh đã Execute chút đặt ra cho thế giới (và họ làm), sau đó thay đổi nhóm của bạn không phải là một giải pháp. –

+0

Bạn có thể muốn xem câu trả lời của tôi @ [Không thể chạy “git” mà không có sudo trên OS X] (http://superuser.com/a/1141913/659669) –

Trả lời

15

Việc cho phép trên git thực thi cũng tốt; không có lý do gì bạn cần phải thay đổi điều đó, hoặc thay đổi nhóm của bạn.

Đó là nhiều khả năng rằng các điều khoản trên thanh toán Git của bạn là sai. Nếu bạn vô tình kiểm tra nó ra với một cái gì đó giống như sudo git clone ssh://[email protected]/project.git, hoặc tại một số điểm bạn thực hiện một số loại hoạt động trong kho gây ra một số tác phẩm để được sở hữu bởi root, git chạy dưới tài khoản của bạn sẽ không thể để viết thư cho các tập tin.

Rất có thể, những gì bạn cần làm là chown -R <user> myproject để làm cho dự án của bạn sở hữu bởi tài khoản người dùng của riêng bạn, chứ không phải gốc.

+3

Cảm ơn Brian. Nó chỉ ra thư mục .git (mà tôi đã tạo bằng git init) được sở hữu bởi root. Áp dụng các chown (mà yêu cầu sudo, tất nhiên) và đã có thể thực hiện lệnh git mà không có sudo. (yay) – NotoriousWebmaster

+0

cảm ơn! tôi cũng muốn nói thêm rằng bạn có thể kiểm tra xem ai là chủ sở hữu với: "ls-al" –

+0

này đã làm việc cho tôi .. –

4

Nếu bạn được nhắc nhở như thế này:

đồng ý với các giấy phép Xcode/iOS yêu cầu đặc quyền quản trị, xin vui lòng chạy lại như là người chủ qua sudo.

Và sau đó bạn chạy:

sudo git init . 

Sau khi cập nhật giấy phép xcode. Chỉ cần xóa init và khởi động lại w/o sudo

sudo rm -rf .git 
git init . 

Điều này đã khắc phục sự cố của tôi.

+1

tôi đã chọn giải pháp này vì nó là nhanh nhất và dự án là mới, nhưng có lẽ bạn nên thêm một số cảnh báo cho người dùng có thể sao chép dán lệnh này mà không nhận ra rằng họ sẽ xóa các phiên bản tệp trước đó của họ? – Var87

Các vấn đề liên quan