背景:我有一個實驗分支crazy-idea
,我在專門的子目錄madness/{src,docs}
中做了一些狂野的事情。大量的提交,包括筆記,圖片,哈克腳本來創建劇情。現在我已經完全明白自己在做什麼了,現在可以通過添加新功能並修改現有源文件來編輯src/
中的實際源文件。從分支櫻桃採摘可能會導致將此分支重新分配給主
由於在crazy-idea
混亂將混亂主人的歷史,一個新的分支good-idea
被創建合併到src/
變化到主。說服我建議我改變src/
中的文件仍然在crazy-idea
,然後從good-idea
中挑選提交。
現在我的問題:鑑於good-idea
已合併到master中,並且在此事件發生後,一些提交在master中完成。當我回到crazy-idea
進一步強化我的想法的一些其他方面時,難道預計在src/
,而重新掌握?
另一種方法是將src/
單獨留在crazy-idea
以內,製作子目錄的副本並以這種方式查看我的筆記,同時直接在good-idea
中進行編碼。
你們認爲更聰明的是什麼?
編輯嗯,我預計在
git rebase master
在crazy-idea
了衝突。將來我只會在一個分支中介紹變化,並且只有在我知道它已經被放棄時才使用櫻桃採摘。
編輯我解決了我的情況如下: 已經有n,其中在src/
變化承諾。可以說最後一個非src/
更改提交有消息'foobar'。亞基失敗後:
$ git rebase --abort
$ git reset --hard HEAD^
HEAD is now at ...
# more hard resets, I think actually N
HEAD is now at ... foobar
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying ..
...
完成。這顯然不像我所希望的那麼直截了當,但也不算太壞。我想我會走這條路線而不是複製madness/
。
不錯。我的猜測/希望是git忽略從哪裏來,只是在重新綁定時看內容。順便說一句,你有沒有用我描述過的方式來使用git,或者你確信它能夠很好地應對。 –
我已經做了一些非常複雜的rebases,並且我已經看到它正確地刪除了已經集成的整個提交。 – cdhowie
聽起來很棒。我會繼續,並在一兩天內將您的答案標記出來:P謝謝! –