我有一個名爲masterdev的分支。遠程和本地git存儲庫
我做了一些提交到該分支,所以它可能是提前10從服務器上的masterdev提交。但實際上這些提交不再好,所以我不想推它們。
我可以恢復或rebase可能會得到我在這些承諾做的相反。但是,我認爲這看起來不太清楚。
所以我想要做的就是獲得與git pull origin masterdev相同的行爲,如果masterdev落後的話。
我想消滅我的本地masterdev以獲得與服務器上相同的結果。
我有一個名爲masterdev的分支。遠程和本地git存儲庫
我做了一些提交到該分支,所以它可能是提前10從服務器上的masterdev提交。但實際上這些提交不再好,所以我不想推它們。
我可以恢復或rebase可能會得到我在這些承諾做的相反。但是,我認爲這看起來不太清楚。
所以我想要做的就是獲得與git pull origin masterdev相同的行爲,如果masterdev落後的話。
我想消滅我的本地masterdev以獲得與服務器上相同的結果。
如果你有什麼值得保存在索引和工作樹,一個簡單的git reset --hard
就足夠了:
$ git status
On branch masterdev
Your branch is ahead of 'origin/masterdev' by 10 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git fetch origin
... [snip]
$ git reset --hard origin/masterdev
如果你有一些工作來保存,你應該提交它做一些事情比簡單的git reset --hard
更復雜。
(中間git fetch
步驟可之前或之後git status
運行,雖然數量提交提前和/或後面可能因此而改變。我建議避免一般git pull
,你不會需要它這個案件)。
簡單,只需git checkout --track origin/master
。將爲您在本地創建分支,並且與遠程版本完全一樣
您可以簡單地執行git reset。 – ShellZero
[重置本地存儲庫分支可能與遠程存儲庫HEAD類似](https://stackoverflow.com/questions/1628088/reset-local-repository-branch-to-be-just-like-remote-repository-頭) – ob1