我们有一个由大约 10 名开发人员组成的团队,我们经常遇到有人的更改意外恢复的情况。我们的工作流程非常简单。开发人员进行本地提交,从上游拉取,然后推送到上游(简而言之,这是我们的工作流程,但它也可能包括从开发人员的个人上游分支在 Github 上发出拉取请求)。奇怪的行为是开发人员进行本地提交,从上游拉取,然后发现他的更改已恢复。就好像 git 正在解决与theirs
策略的冲突,尽管我们都没有这个设置,也没有涉及实际的合并冲突。变化更像是这样的:
本地提交:
.some_style {
- width: 150px;
+ width: 100px;
color: black;
}
合并后:
.some_style {
width: 150px;
color: black;
}
没有其他提交涉及这部分代码,也没有人手动解决合并冲突(无论如何都不应该存在)。在开发人员完成合并并将其推送到上游后,我们有时会看到另一个开发人员提交的差异日志,该日志似乎反转了第一个开发人员所做的更改。通常,此还原提交以其他人的名义出现,尽管他们没有触及相关文件。
其他一些开发人员的提交:
.some_style {
+ width: 150px;
- width: 100px;
color: black;
}
我们不知道这是如何发生的或如何重新创建它。也许我们在某些方面缺乏 git 协作的知识,希望有人能指出我们正确的方向。
编辑 这个问题似乎只影响 css/scss 文件。我注意到差异标头显示了错误的信息:
@@ -359,10 +367,12 @@ img.badge-pic {
#sampleProfileCover {
float: left;
- width: 200px;
+ width: 230px;
+ height: 150px;
text-align: center;
img {
width: 200px;
+ height: 220px;
}
}
请注意,标题将此样式标识为img.badge-pic
. 这种风格实际上在文件中出现得更早。git 可能无法解析 css/sass 吗?