在對分支master
進行了一些更改後,我決定從一個新分支開始工作。我做了git checkout -b new_branch_name
並創建並檢出了一個新的分支。 git status
顯示我對master
所做的更改。混帳分支創建git
我很好奇,如果我的更改現在在兩個分支(master
和new_branch_name
)或只是new_branch_name
。所以我檢查了master
並注意到我的變化也在那裏。所以我用git checkout -- fileThatChanged
恢復了這些修改。這些變化確實從master
消失了。
不幸退房new_branch_name
和正在運行git status
顯示我的更改也從該分支恢復。
我想了解發生了什麼以及未來如何避免這種情況。
一個解決方案是在開始工作之前創建/檢出新分支。
你需要記住的是分支指向提交,並且提交表示整個工作樹的快照。簽出的分支就是下一次提交的分支。 (工作樹與提交完全分開,索引是兩者之間的中間區域。)如果您想要對Git的核心思想進行羅嗦解釋,可以嘗試[The Git Parable](http:// tom.preston-werner.com/2009/05/19/the-git-parable.html)。 – Cascabel