-1

git push当我掌握时,有没有办法执行几个 git 命令?我想到的是,一旦我做了一个git pushfor grunt 来执行:

git checkout gh-pages
git merge master
git checkout master
4

2 回答 2

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

有关更多信息,请在此页面搜索“接收后挂钩”。

于 2013-08-28T10:20:23.480 回答
0

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

  • 去一个非裸仓库(这意味着你在服务器端需要 2 个仓库:一个是裸的,一个是非裸的)
  • git pull 从你刚刚推送到的同一个裸仓库中
  • 结帐,合并,结帐

您在“如何通过 git push 将多个分支部署到不同目录? ”中有一个示例,但是您需要完成该脚本unset GIT_DIR,以确保 git 在cd /path/to/non/bar/repo.

于 2013-08-28T10:20:28.767 回答