2015-03-03 115 views
6

我已經從我的工作MBP移回到我的家庭MBP。允許運行git命令而不需要sudo的工作。但我發現這是我家用機器上的一項要求。Git命令需要OSX上的sudo

我寧願能夠在沒有sudo的情況下運行git命令。

我查看了/ usr/bin中的git命令,它們都有rwxr-xr-x(755),並且由root和group wheel所有。我想我可以改變這個rwxrwxrwx(777),但我想知道是否有更好的方法。我正在考慮將我的用戶添加到輪組;但會有其他副作用嗎?

+2

如果這些命令的執行位設置爲世界(他們這樣做),那麼更改您的組不是一個解決方案。 – 2015-03-03 13:24:38

+0

你可能想看看我的答案@ [無法在OS X上運行sudo而無法運行git](http://superuser.com/a/1141913/659669) – 2016-11-03 09:47:23

回答

15

git可執行文件的權限很好;你沒有理由需要改變它,或者改變你的小組。

這很可能是你的Git簽出的權限是錯誤的。如果您不小心將其與sudo git clone ssh://[email protected]/project.git之類的東西進行了檢查,或者某些時候您在存儲庫中執行了某些操作(導致某些文件被root用戶擁有),那麼在您帳戶下運行的git將無法​​寫入這些文件。

很可能,您需要做的是chown -R <user> myproject,以使您的項目由您自己的用戶帳戶擁有,而不是root。

+3

謝謝Brian。事實證明,.git目錄(我使用git init創建的)由root擁有。應用了chown(當然需要sudo),並且能夠在沒有sudo的情況下執行git命令。 (耶) – NotoriousWebmaster 2015-03-03 14:14:06

+0

謝謝,是它!我還補充說,你可以檢查是誰的主人:「ls -al」 – 2017-02-18 17:19:57

+0

這對我有效.. – 2018-03-06 16:35:52

4

如果您被提示是這樣的:

在同意的Xcode/iOS的許可證需要管理員權限,請通過sudo重新以root身份運行。

然後你跑:

sudo git init . 

更新Xcode的許可證後。只需刪除init和重新啓動w/o sudo

sudo rm -rf .git 
git init . 

這解決了我的問題。

+1

我選擇這個解決方案,因爲它是最快的,該項目是新的,但也許你應該添加一些警告誰可能會複製粘貼此命令而沒有意識到他們將刪除其早期版本的文件? – Var87 2016-09-20 15:10:13