我想运行一个git pull并指定目录。有人说使用--git-dir和--work-tree应该可以工作,比如
git --git-dir=/var/www/.git --work-tree=/var/www pull
将此返回“不能在没有工作树的情况下使用”。我唯一可以使用它的方法是使用“。”,“..”或当前目录上方的任何目录
这篇帖子暗示可能是一个错误? git pull while not in a git directory
最后我需要在一行中运行一个sudo git pull。我欢迎任何工作。感谢
答案 0 :(得分:18)
在回答这个问题后的两年内,出现了Git 1.8支持使用git
标志在其他目录中调用-C
:
git -C /var/www pull
答案 1 :(得分:11)
使用sudo并将命令作为参数提供给sh?
类似的东西:
sudo sh -c 'cd /dir && git pull'
答案 2 :(得分:0)
您正在使用--work-dir
,这不是正确的参数。它是--work-tree
,应该可以满足您的需求。或者,如果您希望拉动在单个命令/行中,则可以cd /var/www && git pull
。
答案 3 :(得分:0)
在MINGW64的Windows上:
git -C "C:\Trunk190117\crewcontrol-source" pull
或
git -C /c/Trunk190117/crewcontrol-source pull