處理一些代碼並希望稍後保存它的一部分。假設在兩個變更集之間沒有太多的事情發生,我決定去git stash -p
。一個小時左右後,我們意識到它會變得毛茸茸的,並且不想鬆開我的藏匿處。所以我想創建一個分支。從git stash中自動引用合併分支
不幸的是做一個簡單的
git branch stash-branch [email protected]{0}
不會產生我想要的結果。望着樹我看到
* 99b0d0c (refs/stash, stash-branch) WIP on my-dev-branch: 2af1f8b PARTIAL but it builds again!
|\
| * d45ddae index on my-dev-branch: 2af1f8b PARTIAL but it builds again!
|/
* 2af1f8b (HEAD -> my-dev-branch) PARTIAL but it builds again!
| * d8bb99f (origin/my-dev-branch) PARTIAL but it builds again!
|/
* fe1296d PARTIAL (doesn't compile)
我的預期是什麼stash-branch
是在d45ddae
,但並沒有出現這樣的工作。噢,我會去尋找另一種自動執行此操作的方法。
經過一番搜索,找不到任何東西。所以我的問題:是否有一種自動的方式在[email protected]{N}
的提示之前引用提交?我所有的努力導致新制作的分支指向my-dev-branch
。
編輯:上面的git branch
命令是不正確的。已更正。
此外,據我所知git stash branch
總是自動檢出分支。在這種情況下,我只想在現有的sha上創建一個新的分支。
基本上,我想創建一個新的分支,而不檢查出來,在d45ddae
。
'git branch'命令是一個錯字。它已被糾正。因爲它只是返回「不是有效的分支名稱」。校正結果如下所示。帶有'git stash branch'的問題在於它自動檢出分支。這不是我想要的。 –
是的,'git stash branch'創建並檢出新分支,以便應用和刪除存儲。創建一個指向存儲的父提交的分支名稱*沒有*切換到它是沒有意義的,因爲該提交將保持引用(通過存儲)直到存儲被刪除,並且您可以隨時通過'^2'。直到閱讀才能開始使用未隱藏的隱藏提交進行提交,並且希望爲他們提供分支名稱行爲,則不需要分支名稱*。 (不是它*傷害了*,給這些東西的名字很好。) –
torek
你比我更努力。我的藏匿名單經常被污染。我通常用快速的'git stash clear'來解決這個問題。使用分支我至少可以給它一個明智的名字,並且更有意識地刪除它。 –