2013-03-01 29 views
4

另一位開發人員已經刪除並重建了一個名爲「開發」的遠程分支,我已經有一個已經簽出的副本。他做了這個刪除並重建,從中刪除了一些垃圾。這很棒。使用git,我該如何刪除遠程分支的本地副本?或者至少拉不合並?

但是當我做一個「git pull origin development」時,它不斷髮生合併衝突。但我不想要我的副本。我只想要什麼是原產地。

那麼如何刪除我的本地副本並將其拉回?或者至少拉沒有合併我的本地信息呢?

回答

7

從原點遙控器獲取最新的更改。這一步是您在問題中要求提供的「未合併」步驟。 git pull相當於git fetch,然後是git merge

$ git fetch origin 

如有必要,請到一個乾淨的分支。

$ git stash 

使用乾淨的分支,如果您不在那裏,請切換到開發分支。

$ git checkout development 

最後,強制您的本地開發分支指向與原始相同的提交。

$ git reset --hard origin/development 

總是想到用git reset --hard,與rm -rf前兩次。這是一個尖銳的,有用的工具,但如果你不小心,它可能會破壞工作。

+0

太棒了,這正是我一直在尋找的。我已經從中立的狀態開始工作,所以我不需要存儲,我也不擔心失去任何工作。真棒! – pthurmond 2013-03-01 17:31:30

+0

@pthurmond太棒了!我很高興它有幫助。 – 2013-03-01 17:33:09

4

要永久刪除本地分支,這樣做:

git branch -D <branch-name> 

獲取從遠程回購的變化,但不合並:

git fetch 

現在創建和檢出遠程分支的本地副本和跟蹤它:

git checkout -b development origin/development 

git應該告訴你「分支機構的發展,以追蹤遠程分支機構的發展從原產地出發「,並將其從本地切換到開發分支。

+1

爲什麼要更新主分支? (你的意思是:''git fetch''?) – 2013-03-01 17:07:56

+0

是的,抓取。謝謝。 – 2013-03-01 17:18:10

相關問題