当你第一次拉动(总是在主分支上)时,rebase如何工作?

时间:2013-06-16 21:41:31

标签: git version-control git-branch git-rebase git-pull

我有一个远程存储库和2个克隆 在其中一个克隆中,我做了2次提交并推动它们 在另一个存储库中,我执行一次提交并执行:git pull & --rebase
我希望最后master指向我的提交,然后是我提取的2次提交 但我所看到的是:

*   2b90a9c (HEAD, master) Merge branch 'master' of   https://user@repos/myrepos.git  
|\
| * 2d29cff (origin/master) Added call to reverse sort in main  
| * 5686863 Added call to sort in main  
* | 819ae7e Some stupid comment  
* |   bc5e9d9 Added a count?  
|\ \
| |/
在执行pull和rebase之前,

commit 819ae7e Some stupid comment是我的最后一次提交。似乎它应用了我在我最后一次提交当地主人时提取的内容 为什么?不是在tmp文件中保存rebase你所使用的是什么,应用你正在改变的那些然后应用你保存的东西?为什么它以相反的方式做到这一点?

当我跑git status时,我得到:
Your branch is ahead of 'origin/master' by 4 commits

4次提交?我只看到它提前一个提交。 (2d29cff vs 2b90a9c

1 个答案:

答案 0 :(得分:0)

git pull --rebase

是你在说什么。对于较少的输入,重新定位可以成为配置中git pull的默认值。 pull上的rebase选项是什么,它需要你尚未推送的任何提交,从最后一个公共点开始获取新的提交,然后让你的本地提交还没有推到那些。