我是Git的新手。
我有一个主分支“开发”,其中所有分支都将合并
我正在分支“TESST123
”
我做了三次提交(使用:git commit -am "comment"
)并逐个推送(使用:git push origin TESST123
),例如
Commit 07834343kfjsd948343243....
Author myname
date thu aug 14 17:20:37 2014
Commit 34sdsad32432432dfdsf....
Author myname
date thu aug 14 15:12:52 2014
Commit dfasdsadkfjsd948343243....
Author myname
date thu aug 14 00:08:06 2014
如何在分支TESST123
中的单个提交中合并所有这些提交,然后再次推送,以便生成的分支将包含一个包含所有应用更改的提交。
我搜索过壁球但是没有清楚地理解它。
如果可能,请尝试使用git
命令进行回答。
答案 0 :(得分:0)
您可以使用git merge-base
git checkout TESST123
git reset --soft `git merge-base TESST123 dev`
git commit -m 'All of TESST123'
你需要强行推动你的分支,因为它的历史已经改变了。只有当其他人克隆了你的远程仓库并在同一个分支机构工作时,这才是一个问题。
git push --force origin TESST123
您还可以将一个提交本地合并到dev
:
git checkout dev
git merge TESST123
答案 1 :(得分:0)
找到另一种方法来git rebase -i HEAD~3
选择dfasdsad
选择34sdsad3
选择07834343
应用壁球将34sdsad3,0783434合并为dfasdsad
选择dfasdsad
壁球34sdsad3
壁球07834343
将最后两次提交合并为单一提交