我想获取一个单独的远程分支,然后将我当前的工作分支重新基于它,因为我正在与某人共享它。通常我只会做:
git fetch
git rebase origin/branch_im_working_on
这似乎工作正常,但它似乎从远程存储库获取所有分支。所以我环顾四周发现了这个:
git fetch origin branch_im_working_on
当我这样做时,git告诉我它取了头,然后试着去做:
git rebase origin/branch_im_working_on
git告诉我,我是最新的,没有什么可做的,即使我知道有一些变化被推到远程。
如果我试着做:
git rebase origin branch_im_working_on
我得到了很多合并冲突,所以必须回到原来的命令中才能更新我的分支:
git fetch
git rebase origin\branch_im_working_on
有人能帮我了解这里发生了什么吗?
发布于 2017-11-24 09:13:59
git fetch与git fetch origin的差异
origin (您可以通过git remote -v检查遥控器),那么这两个命令的工作方式是相同的。origin和upstream。git fetch将从远程origin和upstream获取所有更改。git fetch origin将只从远程origin获取更改。此外,如果您只想从远程获取某个分支,则可以使用git fetch remotename branchname。例如,git fetch origin branch_im_working_on将只从原始branch_im_working_on获取更改。
在远程分支的顶部重新设置本地更改:
假设提交历史记录在抓取后如下所示:
…---A---B---C---D branch_im_working_on
\
E---F origin/branch_im_working_on如果您希望您的本地更改(提交C和提交D)位于origin/branch_im_working_on (最新提交)的顶部,下面的任何命令都可以正常工作:
git rebase origin branch_im_working_on
git rebase origin/branch_im_working_on
git fetch origin branch_im_working_on --rebase然后提交历史记录将是:
…---A---B---E---F---C---D branch_im_working_on
|
origin/branch_im_working_on但是命令不能工作(对于windows ),因为origin\branch_im_working_on不是一个有效的分支(既不是本地分支,也不是跟踪分支)。
https://stackoverflow.com/questions/47469380
复制相似问题