Git force pull remote from
所以我在GitHub上有两个分支:master和branchA。假设我一直在做主,主人在3次提交之前。因此,master上有不在branchA中的提交d,e和f。接下来说,我的同事用commit g将branchA上传到GitHub。所以我们有:Git force pull remote from
master: a, b, c, d, e, f
branchA: a, b, c, g
说现在我想切换到branchA并拉到GitHub上的东西。我遇到的问题是,当我使用git branch branchA
时,它会自动使用master作为我的起始位置,因此添加d,e,f,并且当我拉branchA时,由于g和d,e,f不兼容,我得到冲突。
有没有办法从GitHub中拉出我的本地提交日志与GitHub上的匹配?我尝试了git pull -f
,但那显然不起作用。
你应该
git fetch
然后检查什么东西像蒸发了
git log --all --oneline --graph --decorate
现在你可以合并或衍合这是在同一时间完成的工作。任何以“origin”为前缀的分支将成为github上的内容(假设这是你从中克隆的)。当地分行的颜色也会有所不同。
如果你想在一个地方分公司的工作,被拉倒,你还没有还上工作的一个分支,检查出来,并跟踪它与
git checkout -t origin/someBranch
我只会用在特殊情况下,拉我正在合并或重新设计自己的作品。根据别人的做法,我可以选择重新合并。
git fetch origin
git checkout origin/branchA -b <local branch name>
这将创建一个名为本地分行您指定的branchA
上origin
一个确切的重复。如果您的GitHub遥控器被命名为origin
以外的其他名称,请相应地进行调整。
你也可以只是git branch
指定起点:
git fetch origin
git branch <local branch name> origin/branchA
git checkout <local branch name>
的-b
标志git checkout
只是让一步算一步短,如果你打算看看你创建反正分支。
此外,如果你希望你的本地分支的名字是相同的远程分支,有一个更短的方式:
git fetch origin
git checkout -t origin/branchA
,这将创造出匹配origin
的branchA
本地branchA
。
是的我添加了更短的方式,然后你编辑并添加到你的答案:) – 2012-02-10 22:12:19
任何事情,以作出更好的答案。 – Amber 2012-02-10 22:29:21
git checkout -t origin/someBranch完美工作。谢谢! (我不能接受另外7分钟的答案,但我会做一次) – 2012-02-10 22:05:53
没问题。我希望你能理解我对获取先检查,然后决定根据工作基础重建或合并点做:) – 2012-02-10 22:07:20
我已经取了一切,我只是无法弄清楚如何切换到分支我没有创造,但没有拉我所有的主人以及。但-t param创造了奇迹。我会用日志,但也有几百提交我需要通过排序和我懒部分= P – 2012-02-10 22:08:42