2014-03-29 90 views
1

我想重寫當前存在的特定分支,以覆蓋/替換遠程存儲庫服務器中的所有內容。Git覆蓋遠程存儲庫中的特定(活動)分支

如果我在那個分支上做git pull我總是得到一個合併衝突,因爲這兩個文件都被改變了,我無法得到它合併的權利(沒有mergetool),我想避免任何提交是不必要的,尤其是從這個服務器becaue它只有一個預覽服務器。

我已經編輯好文件並再次添加/提交文件,但沒有成功。 所以我回滾git reset --hard <sha1>到最後一個真正的承諾。 希望wa sok這樣做?

+0

是,你在做什麼是好的。你可以按照這個鏈接來更好地理解。 http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull – chanchal118

+0

我試過git fetch --all,現在git狀態告訴我im背後的22個提交。但是,如果我把所有東西從遠程不應該是up2date什麼22承諾? – user2370234

+0

你回滾了你的本地樹,所以它應該說你落後了,因爲遠程樹還沒有回滾。 –

回答

0

你的方法是修復一個文件。

要重置旅遊分支,你可以簡單地取出,並將其重置爲遠程分支:

git checkout yourBranch 
git fetch 
git reset --hard origin/anotherBranch 

YourBranch現在指的是相同的承諾爲origin/anotherBranch
(取決於你想要什麼分支,YourBranchorigin/anotherBranch可能具有相同的名稱)

確保你沒有任何正在進行中的工作(如復位 - 硬將刪除)

相關問題