2015-03-03 121 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