我是git的新手,並且在創建/刪除分支方面領先一點,並想找出正確的過程。基本上,我開始了一個新的分支(branch_a
),然後做了一些改變。然後我決定測試一個第三方軟件包,知道它可能無法正常工作。在這一點上,我在分支A中進行了一些改變,但我沒有分階段或提交。我繼續結帳一個新的分支(branch_b
)。我玩弄了這個「測試分支」,然後決定刪除它。首先,我做了退房的原分公司的:Git刪除分支和所有相應的更改
git checkout branch_a
然後,我刪除了分支想我做了會被刪除過的所有更改:
git branch -d branch_b
所以分支被刪除,但是當我回到branch_a
繼續從我離開的地方開始工作,我看到我在branch_b
中所做的更改仍然存在。由於我之前沒有提交任何內容,因此我無法弄清楚如何分開branch_b
和branch-b
之前的更改。這仍然是可能的嗎?
而就「過程」而言,是否有更好的方式來創建和刪除測試分支?例如。我應該使用git reset --hard
?
你確定你沒有隱藏或提交對'branch_a'的更改嗎?通常git不允許你在你的工作目錄很髒時簽出一個分支。如果你真的沒有隱藏或承諾你運氣不好,並將不得不手動恢復'branch_b'的變化,git無法知道你想保留什麼。 – dtech
Nah,沒有隱藏或提交任何更改。新的結賬工作的罰款只是給我這個消息: 'M\t分貝/ schema.rb' 'M \t日誌/ development.log' '切換到新的分支「branch_b'' 看起來我應該用混帳藏! – stoneage
是的,或者只是提交。使用git /分佈式版本控制,你通常希望經常提交。你可以隨時擠壓你的提交/分支,或者用['git merge --squash branchname']合併回master時整齊地整理所有內容(http://stackoverflow.com/questions/5308816/how-to-use-git-合併壁球) – dtech