我是GIT的初学者。我在工作项目中做了一些更改,并使用
创建了测试分支git checkout -b 'test'
我做了两次改变。
git add .
git commit -m "first commit"
git push --set-upstream origin test
我再次做了一些更改并提交了更改
git add .
git commit -m "second commit"
git push --set-upstream origin test
现在我创建了拉取请求。究竟想要什么,我现在有两个提交。当我合并到master分支时,我不希望看到这两个提交消息,我想合并这些消息" first commit"和#34;第二次提交"进入一条消息并合并到主分支。
我尝试了rebase和rest命令。可能是我以错误的方式使用。任何人都可以帮助我。
答案 0 :(得分:2)
如果要将两个最后一次提交合并为一个具有给定名称的提交
git reset --soft "HEAD^"
git commit --amend
答案 1 :(得分:0)
由于您希望将两个提交合并为一个新的分支作为单个提交,因此您可以使用this answer。
假设您在自己的主题分支中。如果你想合并 最后2个提交到一个看起来像英雄,分支提交 就在你进行最后两次提交之前。
git checkout -b temp_branch HEAD ^ 2
然后压缩提交另一个分支 在这个新的分支中:
git merge branch_with_two_commits --squash
那将带来 更改但不提交它们。所以只需提交它们就可以了。
git commit -m"我的留言"
现在您可以合并此新主题分支 回到你的主要分支。
如果您只想在推送代码之前将两个提交合并到当前目录中,请使用this answer。
如果有多个提交,你可以使用git rebase -i来压缩两个 承诺一个。
如果您只想合并两个提交,那么它们就是 "最近的两个",以下命令可用于组合 两个提交成一个:
git reset --soft" HEAD ^"
git commit --amend
安全地说它是重复但我希望你有链接到你正在寻找的答案。