2012-07-19 136 views
0

環顧四周,找不到答案!我是一個完整的git n00b,並且非常感謝任何能給我一些提示的人。Git - 移動分支內提交,然後插入分支

我最初曾在我的倉庫提交的一個長分支,我想改變我的分支

所以我做

git checkout master~14 
git commit --amend -m "added the new description for the commit bla bla bla" 
分配到以前的承諾(主〜14)的消息

不幸的是,現在我放入分離的頭模式 於是我就慌了一下,創建一個新的分支,這樣我就不會失去裁判這一承諾

git branch detached 

現在我遇到了這樣的情況,我在自己的樹枝上的樹頂部有主〜14,我想把它放回原來的樹中,而不會造成任何衝突或覆蓋任何東西

+  [detached] xxxxx 
    * + [master] xxxxx 
    * + [master^] xxxxx 
    * + [master~2] xxxxx 
    * + [master~3] xxxxx 
    * + [master~4] xxxxx 
    * + [master~5] xxxxx 
    * + [master~6] xxxxx 
    * + [master~7] xxxxx 
    * + [master~8] xxxxx 
    * + [master~9] xxxxx 
    * + [master~10] xxxxx 
    * + [master~11] xxxxx 
    * + [master~12] xxxxx 
    * + [master~13] xxxxx 
    * + [master~14] xxxxx 

我也想(在解決這個問題之後)將我的提交從主〜14..master〜5分支爲一棵新樹,最後把〜4..master作爲另一棵樹。

+0

我應該做的重命名擺在首位提交信息在這裏回答:HTTP:/ /stackoverflow.com/questions/179123/how-do-i-edit-an-incorrect-commit-message-in-git – Imme22009 2012-07-24 16:24:31

回答

1

Q1:

git checkout master 

這讓你回到主提示

或使用

git reflog 

git reflog show master

怎麼看指針進行移動

但更好的方法來整的東西會

git rebase -i master~14 

然後標記必要的承諾停止修改,那麼你止跌」 t在分離頭狀態

q2: 對我來說,這聽起來像你想要主〜14..master〜5和主~4..master從m開始翠菊〜15 如果這是正確的(爲簡單起見,我將創建一個名爲分支機構):

git branch feature1 master~5 
git branch master15back master~15 
git rebase --onto master15back feature1 master 

看到git rebase doc

+0

感謝您的幫助。 對於(一) 我居然落得這樣做: 的Git分支-D分離 後來我重新做了更名後的建議在這裏: HTTP://計算器。COM /問題/ 179123 /怎麼辦-I-編輯的,不正確提交消息功能於混帳 – Imme22009 2012-07-24 16:30:06

0

對於Q1,你可以嘗試git的重訂-i高手〜14

在此之後,改變有關承諾R表示更新提交信息

+0

我建議也指出reflog。太奇妙了。 – Arafangion 2012-07-19 14:38:23