検索

ホームページ  >  に質問  >  本文

Git ではコードが自動的にマージされますが、マージ時にバグが発生する可能性はありますか?

以前 SVN を使用していたときにこの問題について考えたことがありましたが、その時は理解できず、バグには遭遇しませんでした。
今、Git を学習しているのですが、同じ質問があるので、質問させていただきました。

質問:
ブランチをマージするときに、競合がなければ、Git によって自動的にマージされたコードにはバグが発生しますか?
マージ中に Git によって検出される競合はすべて編集競合であるため、2 つの編集が同じ行にあるかどうか、2 つの編集に反対の操作があるかどうか (1 つは同じコードを追加し、もう 1 つは同じコードを削除する) など、明らかに Gitコード自体のロジックは気にしませんし、気にすることもできません。
したがって、マージ後にコードの正確性をチェックする必要があると思います。これは、2 つのブランチで解決された問題がマージ後に未解決の状態にあるかどうか、新しいバグが生成されていないかどうかを、マージのたびに検証することに相当します。 、そうすると仕事量が膨大になってしまいますよね?
実際に使ってみて確認してみてはいかがでしょうか?

迷茫迷茫2758日前1374

全員に返信(9)返信します

  • 淡淡烟草味

    淡淡烟草味2017-06-17 09:17:34

    Baidu をお持ちの場合は、同様の情報が表示されるはずです。開発はブランチ上にありますが、トランクから大きく逸脱しないようにするには、トランクからブランチに頻繁にマージする必要があります。

    チームがプロセスに従えば、それほど問題はありません。

    返事
    0
  • 学习ing

    学习ing2017-06-17 09:17:34

    複数のユーザーが同じコードを編集すると、Git はマージ競合を報告します。これは手動で解決する必要がありますが、これは避けられません。実際の複数人によるコラボレーション プロジェクトでは、通常、全員がモジュールで開発し、同じファイルを変更する前に共通のモジュールを更新することを避けようとします。

    マージ後に競合が報告されない場合は、同じコードがあまり変更されていないことを意味し、マージの正確性をチェックする必要はありません。論理的なバグを引き起こすマージされたコードについては、レビューする必要があります。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-17 09:17:34

    もちろん可能です。関数は a b c の 3 つのメソッドを使用する必要があります。3 人の人がその 3 つのメソッドを変更する必要があります (この場合、git はそれを競合とはみなしません)。 ; しかし、この機能が依然として 3 人が望んでいることを保証できますか?

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-17 09:17:34

    いいえ、git merge には 2 つの状況があるためです。1 つ目は、ファイル内で同じコードが 2 人によって同時に変更された場合で、git merge は競合を報告します。手動でマージする必要があります。 2 番目: 2 人が同じファイルの異なるコード セグメントを変更した場合。 git は自動的にマージされます。バグがあるかどうかは、完全にコードを書いた人の問題です。バグはありますし、合併後も当然バグは発生します。バグはなく、マージ後もバグはなくなるでしょう。他人を責めないでください!

    返事
    0
  • 三叔

    三叔2017-06-17 09:17:34

    横になっているときに Git が撃たれて、私はコードのマージに対してのみ責任を負い、責任は負わないと言いました。 。 。 。 。 。

    返事
    0
  • typecho

    typecho2017-06-17 09:17:34

    絶対的なものはなく、競合がなく、バグがマージできれば、勝利したとしか言えません。

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-17 09:17:34

    これはバグとは呼ばれません、冲突と呼ばれます。競合の解決:

    1. 他の人のバージョンを使用する

    2. 独自のバージョンを使用してください

    3. 手動マージ。

    競合を回避する非常に一般的な方法は次のとおりです: 変更する前に、まず pullローカル ブランチを作成して競合の可能性を減らします

    返事
    0
  • 怪我咯

    怪我咯2017-06-17 09:17:34

    そうですね、git は単なるバージョン管理ツールです。コードをマージしてバグが発生した場合、それはプロジェクト チーム自身のコードの問題であり、テスト コードを作成することで問題が解決されるはずです。

    返事
    0
  • 为情所困

    为情所困2017-06-17 09:17:34

    それは可能です、宝くじに当たるのと同じです

    返事
    0
  • キャンセル返事