我正在尝试设置一个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.
知道为什么会这样吗?
答案 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,你没有推动它。