git - 如何将一堆 git 本地提交 merge 到一个提交中?

标签 git git-commit

在我的公司,我们最近迁移了 git。在这个环境中工作的过程中,我最终进行了一堆本地提交(在我的本地分支中)。为了保持我的代码更新,我进行了 pull 。现在的最终结果是,当我执行 git log 时,我会在该日志中找到我的提交以及其他开发人员的提交。在将我的提交推送到远程之前,我想收集所有本地提交并将它们 merge 为一个提交(为了减少日志中的噪音)并将其推送到远程。我如何在 git 中做到这一点?

最佳答案

最简单的事情是,一旦你完成了 git pull 并解决了所有冲突并且全部是最新的,请将分支指针重置为最新的远程提交(我假设origin/master),然后进行新的提交。

git reset --soft origin/master
git commit

新提交将是您的所有更改,作为远程​​主提交之上的单个新提交。然后您可以将此提交推送到远程。在推送之前使用 git show 验证提交。

注意:这假设您仅从一个共享分支 (master) 中提取,或者您提取的任何其他共享分支已被 merge 进入 Remote 的master

关于git - 如何将一堆 git 本地提交 merge 到一个提交中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081986/

相关文章:

git - Intellij IDEA - git ssh - 权限被拒绝(公钥)

git - 如何将主分支恢复到上游

git - 是否可以将 git commit 设置为具有 1970 年之前的时间戳?

git - 执行 'git commit --amend' 后如何推送到 repo

混帐庆典 : stuck after writing the message for commit

Git:预接收钩子(Hook)只允许 merge 而不是直接提交到主

git 只克隆一个子目录,在当前目录的根目录下

svn - 如何将 git log(或 svn log)限制为针对某个特定文件的修订?

git - 如何在不使用 SSH key 的情况下从脚本向 git push 输入密码?

git - 如何删除 git commit 默认模板消息?