2

リビジョン管理された yaml ファイルを使用して、ソフトウェア バージョンに関連付けられたパッケージを追跡し、追跡ファイルのさまざまな部分を編集する複数のジョブ (Jenkins で実行) を持っています。変更をファイルにプッシュしようとすると、ファイルのどの部分が編集されたかによって、マージの競合が発生することがあります。例えば:

頭:

...

Package6:
    Name: motorControl
    Version: 1.2
    Size: 341
Package7:
    Name: None
    Version: None
    Size: None
...

ローカル コピー:

...

Package6:
    Name: None
    Version: None
    Size: None
Package7:
    Name: eyeCandy
    Version: 3.2
    Size: 1087
...

競合を手動で解決する必要なく、これを解決するために使用できる別のマージ戦略はありますか?

4

1 に答える 1

2

.gitignoreあなたの場合、このファイルをバージョンではなく追加するのが最善かもしれません。その後、ファイルを更新するときに git-hooks で生成できます。

それが解決策でない場合は、git checkout --theirs -- <path/file>またはを使用できますgit checkout --ours -- <path/file>。次に、あなたgit addgit commit、まだ手動で行う手順がいくつかありますが、少なくともファイル内でこれらの競合を手動で解決する必要はありません。

しかし、最善の方法は、自動生成されたファイルを無視することです。

于 2012-12-06T16:22:46.493 に答える