我正在为中央存储库编写gitosis后推 Hook

将更新从中央存储库 pull 到测试环境
nano /var/git/repositories/holding.git/hooks/post-update

 #!/bin/bash

 cd /var/vh/holding;
 git reset --hard;
 git checkout testing;
 git pull;

在推送客户端(开发VM)后,我得到了什么
# blah ...
Counting objects: 57, done.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (30/30), 3.42 KiB, done.
Total 30 (delta 18), reused 0 (delta 0)
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
To [email protected]:holding.git
   233b5a2..0f46cd8  testing -> testing

显然,我尝试告诉git应该在哪里执行pull的尝试失败了。

在bash脚本中为指定的工作副本运行git命令的正确方法是什么?

最佳答案

herethere所述,您可以在所有git命令之前添加:

 env -i

为了确保没有副作用,例如,以前可能已设置的GIT_DIR环境变量。
(env -i或简称:unset GIT_DIR)

关于git - 在bash脚本中执行git命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6122932/

10-13 09:16