git - 当团队成员提交时如何阻止 Git 进行额外的合并提交
问题描述
我有一班学生,我们都在一个存储库中工作,并不断检查小的状态更新和代码等。
我们注意到,除了我们所做的提交之外,Git 似乎也创建了合并并将它们签入,见截图。
这些提交充满了来自其他团队成员的更改,因此只会让我们混淆我们的 git 历史。
这些自动提交是什么,有什么方法可以配置 Git 不进行这些提交?
解决方案
您的评论解释了为什么会这样:
我们只是更新每个目录中的文件,将它们作为提交推送到 GitHub 的 dev 分支,并从 GitHub的 dev 分支中提取提交。
这是导致合并提交的拉动。大概你们都在检查dev
分支,进行提交,并在某个时候提取最新的。当您从分支的远程版本拉取提交并且您在本地分支上也有新提交时,Git 中的默认设置将创建一个合并提交。
为避免这种情况,您有几个选择:
- 拉动时,使用
git pull --rebase
. 这会将您的本地提交重新定位到最新版本,dev
而不是创建合并提交。如果这是您决定采用的方式,您可以让每个人都将其配置为自动发生。 - 不要再拉了。如果要更新本地副本
dev
,请先git fetch
执行git rebase origin/dev
. 结果与 #1 相同,但这让您更清楚地知道您正在这样做。 - 与 #2 类似,您可以开始使用单独的分支,而不是每个人都在
dev
. 在合并到 之前,请先执行dev
a 。git fetch
git rebase origin/dev
3 号可能是最好的方法,但工作流程稍微复杂一些。但是,如果您想同时处理不同的事情,它可以启用任务切换。
推荐阅读
- python - 突出显示图片的一部分并选择它
- java - Java ProcessBuilder 在线程中不起作用
- uibezierpath - 从 UIBezierpath 中删除部分
- ios - 不使用用户的当前位置,但苹果请求“应用程序的 Info.plist 文件应包含 NSLocationWhenInUseUsageDescription 键”
- javascript - componentDidCatch + window.addEventListener('error', cb) 未按预期运行
- ios - 解雇了 Imagepickercontroller 和当前模态呈现的视图控制器(弹出控制器)
- c# - 未呈现活动路由自定义 TagHelper
- python - 如何获得一个范围的平均值?
- node.js - 无法通过 aws-sdk 节点 js 连接到 AWS
- javascript - 用不同的标识符替换对象属性名称