用于自动git svn rebase的shell脚本,推送到github

时间:2011-05-18 14:00:22

标签: git shell

我正在尝试设置一个shell脚本(最终作为cron作业运行)以自动执行git svn rebase,然后将结果推送到github存储库。这就是我现在所拥有的:

#!/bin/sh

export PATH=/sw/bin:$PATH
cd ~/Projects/FieldTrip

git checkout svnMirror
git svn rebase
git push github svnMirror
git checkout master
git merge svnMirror

问题是,它执行checkout和rebase,但它不是那些之后的任何步骤:

$ fieldtrip_rebase.sh 
Switched to branch 'svnMirror'
Current branch svnMirror is up to date.
Everything up-to-date
Switched to branch 'master'
Your branch is ahead of 'github/master' by 7 commits.
Already up-to-date.

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

让我们按照步骤和输出:

git checkout svnMirror

你得到Switched to branch 'svnMirror' - 好

git svn rebase

你得到Current branch svnMirror is up to date. - 好

git push github svnMirror
你有Everything up-to-date - 好。所以你没有什么可推动的。然后它继续......

git checkout master

你得到了Switched to branch 'master'.Your branch is ahead of 'github/master' by 7 commits.

git merge svnMirror

你得到Already up-to-date.没有什么可以从svnMirror分支合并。

它完成了你想要它做的所有事情。注意,7次提交是github / master之前的master,你没有推动它。