我目前正在開發的功能比預期的要大,所以最好創建一個分支來處理它。所以我需要從當前工作目錄創建一個新的分支,並將主分支重置爲當前的HEAD,以便可以完成對生產環境的一些修復。從當前工作樹創建分支並重置爲HEAD
不知何故,這聽起來像一個簡單的任務,但我無法弄清楚。可能是由於我缺乏睡眠。
我目前正在開發的功能比預期的要大,所以最好創建一個分支來處理它。所以我需要從當前工作目錄創建一個新的分支,並將主分支重置爲當前的HEAD,以便可以完成對生產環境的一些修復。從當前工作樹創建分支並重置爲HEAD
不知何故,這聽起來像一個簡單的任務,但我無法弄清楚。可能是由於我缺乏睡眠。
所以,創建工作的分支:
git checkout -b working_branch
提交或藏匿更改
git add <files>
git commit -m "message"
OR
git stash
回去掌握
git checkout master
git reset HEAD
如果你還沒有提交,那麼你不需要移動master,它已經在當前的HEAD
。你可以用checkout -b
結賬一個新的分支,它不需要你的工作樹是乾淨的。
E.g.
git checkout -b newtopic
你現在已經在newtopic
可以在這裏提交你的工作樹的變化。 master
不需要移動。
在checkout後立即執行'git reset HEAD'沒有意義。索引中不會有任何更改,檢查分支會更新檢出分支的索引。 – 2010-01-18 23:19:31
這有點矯枉過正,假設你在新分支中提交,工作樹應該是乾淨的。 – 2010-01-19 03:08:03
'git checkout -b working_branch'如果您有未提交/未變更的更改,這將失敗。 – user1712447 2018-01-07 19:25:39