私たちには約 10 人の開発者のチームがあり、誰かの変更が予期せず元に戻されるという状況に頻繁に遭遇しています。私たちのワークフローはとてもシンプルです。開発者はローカル コミットを作成し、アップストリームからプルしてからアップストリームにプッシュします (これは簡単に言えば私たちのワークフローですが、アップストリームの開発者個人のフォークから Github でプル リクエストを発行することも含まれる場合があります)。奇妙な動作は、開発者がローカル コミットを行い、アップストリームからプルしてから、自分の変更が元に戻ったことに気付くというものです。theirs
私たちの誰もこの設定を持っておらず、実際のマージの競合も関係していませんが、git が戦略との競合を解決しているかのようです。変更は次のようになります。
ローカルコミット:
.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 ファイルにのみ影響するようです。diff ヘッダーに間違った情報が表示されていることに気付きました。
@@ -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 の解析に問題を抱えている可能性はありますか?