tag設定 - show git tag




在git中切換分支名稱 (4)

master啟動,創建一個名為in-progress的分支,然後將master重置為先前的提交。

$ git branch in-progress
$ git reset --hard HEAD^

可能有不止一種方法來問這個問題,所以這裡是對問題的解釋。 我一直在做主人並做了一些事情,然後決定暫時擱置這項工作。 我支持了一些提交,然後在開始我的垃圾工作之前分支。 實際上,這工作得很好,我現在有一個不同的分支作為我的主要開發分支。 我想知道我怎麼能改變事物,所以我再次在主人身上工作,但它沒有我的垃圾工作,並說工作在不同的分支上。

一些方法可以被問到/解決:我如何重命名我的主分支到其他東西,然後重命名其他東西來掌握? 我如何備份master,然後導致我所備份的所有提交都在不同的分支上?

感謝所有(快速)回答! 他們都很好。


我認為你應該考慮一個不同的發展戰略來防止這樣的問題。 似乎最適合我的一種做法是,不要直接在我的主分支上進行開發。 無論我在做什麼變化,我總是為新代碼創建一個新分支:

git checkout -b topic/topic_name master

從那裡,我可以推出對公共倉庫的更改:

git push pu topic/topic_name

或者最終只是將其重新合併到我的主分支中:

git checkout master && git merge topic/topic_name

如果你真的需要回到較早的時間點並將其設置為你的主人,那麼你可以將當前的分支重命名為其他東西,然後檢查一個舊版本作為你的主人:

 git branch -m master junk
 git co -b master old_sha1_value

這是相對容易的:

git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master               # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master                # optional -- switch on to your master branch

除了其他評論,你可能會發現-m(move)切換到git-branch會有幫助。 您可以將您的舊主人重命名為其他人,然後將您的新分支重命名為主人:

git branch -m master crap_work
git branch -m previous_master master




branch