在git push上执行git命令

时间:2013-08-28 10:03:05

标签: git

当我git push要掌握时,有没有办法执行几个git命令? 我想到的是,一旦我执行了git push咕噜声执行:

git checkout gh-pages
git merge master
git checkout master

2 个答案:

答案 0 :(得分:1)

为什么要使用Grunt执行这些命令?我认为普通的shell脚本就足够了。假设您使用的是Linux,请在post-receive子目录中创建一个名为.git/hooks的可执行文件,其中包含以下内容:

#!/bin/sh
export GIT_WORK_TREE=$GIT_DIR/..
git checkout gh-pages
git merge master
git checkout master

有关详细信息,请在this page中搜索“post-receive hook”。

答案 1 :(得分:0)

您可以在post-receive hook中执行此操作,即:

  • 转到非裸仓库(意味着您需要在服务器端进行2次回购:one bare,一次非裸仓)
  • git从你推到
  • 的同一个裸仓中拉出来
  • 结帐,合并,结帐

您在“how do I deploy multiple branches to different directories via git push?”中有一个示例,但您需要使用unset GIT_DIR完成该脚本,以确保git在cd /path/to/non/bar/repo之后考虑了正确的非裸仓库