git - 是否可以在 git 中 merge 提交?

标签 git version-control commit

有时(经常发生)我会犯错误并在推送后进行某种“快速修复”。

但为了明确提交,有时我会重新 fork (如果那是在我的 fork 中)并重新提交所有更改。

有什么办法可以 merge 提交吗?

最佳答案

是的,有一种方法,叫做压缩

git rebase -i sha1_of_the_first_concerened_commit

然后用squash(或s)替换相关提交下面所有提交的edit,保存文件,继续rebase使用 git rebase --continue

下次你推送时,你的推送可能会被拒绝,然后你需要 git push -f


但在您的特定情况下,无需执行所有操作,您可以使用 commit --amend 代替。

假设您提交了文件,然后快速修复了 file1。您只需要将文件添加到暂存区:

git add file1

然后:

git ci --amend

最后强制推送:

git push -f

重写历史时要小心,当你是唯一一个在 repo 上工作的人时,这很好,或者你确定没有人在你之后 pull ,否则对其他人来说是一种痛苦。

关于git - 是否可以在 git 中 merge 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291171/

相关文章:

git - 永久添加 SSH key

git - 如何使用 kdiff 获取目录 git branch diff

git - 如何将 git 存储库转换为 mercurial?

Git:移动到上一个和下一个提交

git - 我如何正确地可视化我的 git 仓库?

Git rebase 在每次提交之前停止,然后编辑和 rebase --continue

GIT:<目录> 已存在于索引中

git - 你什么时候使用 Git rebase 而不是 Git merge?

android - 通过 Android versionName 搜索 git 提交

java - java中的UserTransaction问题