[英]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.