首页 > 解决方案 > 当团队成员提交时如何阻止 Git 进行额外的合并提交

问题描述

我有一班学生,我们都在一个存储库中工作,并不断检查小的状态更新和代码等。

我们注意到,除了我们所做的提交之外,Git 似乎也创建了合并并将它们签入,见截图。

这些提交充满了来自其他团队成员的更改,因此只会让我们混淆我们的 git 历史。

这些自动提交是什么,有什么方法可以配置 Git 不进行这些提交?

在此处输入图像描述

标签: gitmergecommit

解决方案


您的评论解释了为什么会这样:

我们只是更新每个目录中的文件,将它们作为提交推送到 GitHub 的 dev 分支,并从 GitHub的 dev 分支中提取提交

这是导致合并提交的拉动。大概你们都在检查dev分支,进行提交,并在某个时候提取最新的。当您从分支的远程版本拉取提交并且您在本地分支上也有新提交时,Git 中的默认设置将创建一个合并提交。

为避免这种情况,您有几个选择:

  1. 拉动时,使用git pull --rebase. 这会将您的本地提交重新定位到最新版本,dev而不是创建合并提交。如果这是您决定采用的方式,您可以让每个人都将其配置为自动发生
  2. 不要再拉了。如果要更新本地副本dev,请先git fetch执行git rebase origin/dev. 结果与 #1 相同,但这让您更清楚地知道您正在这样做。
  3. 与 #2 类似,您可以开始使用单独的分支,而不是每个人都在dev. 在合并到 之前,请先执行deva 。git fetchgit rebase origin/dev

3 号可能是最好的方法,但工作流程稍微复杂一些。但是,如果您想同时处理不同的事情,它可以启用任务切换。


推荐阅读