我在BranchA上做了很多工作。Git - 當分支BranchA時,如何重置我的新分支BranchB,使其沒有任何BranchA內容?
我現在想創建一個新的本地分支BranchB,並從GitHub下拉這個遠程分支。
但是,執行git checkout -b BranchB仍然會對BranchA做出所有更改。
如何重置此分支,使其沒有任何內容,因此我可以從GitHub中抽取乾淨的BranchB?
謝謝。
我在BranchA上做了很多工作。Git - 當分支BranchA時,如何重置我的新分支BranchB,使其沒有任何BranchA內容?
我現在想創建一個新的本地分支BranchB,並從GitHub下拉這個遠程分支。
但是,執行git checkout -b BranchB仍然會對BranchA做出所有更改。
如何重置此分支,使其沒有任何內容,因此我可以從GitHub中抽取乾淨的BranchB?
謝謝。
假設BranchB在服務器上,只是做git checkout BranchB
(沒有-b
選項)。這將創建BranchB並讓它自動跟蹤origin/BranchB。如果您已在本地創建了「錯誤的」BranchB,請務必先用git branch -d BranchB
刪除它。
您可以創建一個從歷史記錄中的某一點開始使用此命令的一個分支:
git checkout -b BranchB <sha1>
此命令執行兩件事情:
然後你可以把和跟蹤:
git push origin BranchB --set-upstream
注意<SHA1>可能是:
如果你已經有了一個「壞」的本地或遠程的分支,它的名字是BranchB,你可以將它們刪除:
git push origin :BranchB # Deletes the remote branch origin/BranchB
git branch -d BranchB # Deletes the local branch BranchB (if merged, no risk to loose data)
git branch -D BranchB # Deletes the local branch BranchB (force for not merged branches)