2012-07-19 141 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