[英]Git force pull branch from remote
所以我在GitHub上有2个分支:master和branchA。 假设我一直在研究master,并且master领先3次提交。 因此,master上的提交d,e和f不在branchA中。 接下来说,我的同事通过提交g将branchA上传到GitHub。 因此,我们有:
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 origin
git checkout origin/branchA -b <local branch name>
这将创建一个名为本地分行您指定的精确复制branchA
的origin
。 如果您的GitHub遥控器被命名为origin
以外的其他origin
,请进行相应调整。
您也可以使用git branch
指定起点:
git fetch origin
git branch <local branch name> origin/branchA
git checkout <local branch name>
如果您打算检出正在创建的分支,则git checkout
的-b
标志只会使操作缩短一步。
此外,如果您希望本地分支名称与远程分支相同,则可以使用更短的方法:
git fetch origin
git checkout -t origin/branchA
这将创建一个本地branchA
相匹配origin
的branchA
。
你应该
git fetch
然后检查发生了什么类似的事情
git log --all --oneline --graph --decorate
现在,您可以合并或重新整理同时完成的工作。 前缀为“ origin”的所有分支都将是github上的内容(假设您是从那里克隆的)。 本地分支机构的颜色也将不同。
如果您要处理尚未处理的已被下拉的分支,请签出并在本地分支中跟踪
git checkout -t origin/someBranch
仅在合并或修改自己的工作的特殊情况下,才使用pull。 根据其他人的所作所为,我可能会选择合并而不是合并。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.