開発基盤部会 Blog

開発基盤部会 Blog >> 記事詳細

2020/07/24

Git、GitHubの説明で思った、Conflict解消のシナリオも幾つかあるね。

Tweet ThisSend to Facebook | by nishino
 先日、作成した動画を基に、内輪での説明会を行ったんですが、よくよく考えると、Conflict解消のシナリオも幾つかあるなぁ。なんて思ったりしました。

 具体的には、

  1. GitはConflictを検知しないが、実際は、
    コードレベルのConflict(不整合)が発生しているケース。

  2. Gitが検知した部分のConflictのみ解決したケース。

  3. 上記の1, 2 の合わせ技で、
    Gitが検知した部分のConflictのみ解決したが、他の部分で、
    コードレベルのConflict(不整合)が発生しているケース。

 などがありそうです。
 (他にもあるかもしれない)

※ (3)のケースは、そもそも、Pull Request送信元のpull忘れでConflictが発生しているので、送信元の想定していない部分が、送信先で書き換えられている。ってケースが多いんじゃないか?と思います(そして、この部分は、送信先でのみ書き換えられているため、Pull Requestでは、Conflictが検出されない)。

 ...なんと言うか、

 自分が作成した動画なんですが、改めて視聴すると、一瞬、「?」となる所が幾つかあるんですよね。で、よくよく考えると「なるほど。」となる。つまり、結構、長い間、Git、GitHubと付き合っていても、やはり、Conflict周辺で、混乱する所はアリ、結局の所、コレが、分散型のバージョン管理システム、Gitの難しさなんだろうなぁ。

 ...と思った次第です。

 この解決策は、Gitフローなどのフローを定義して、設計変更連絡票などを使った、SI運用を行うことで解決できると思います。
09:00 | 投票する | 投票数(0) | コメント(1) | ご報告
コメント
nishino2020/07/29 11:47:27
以下のような動画を発見。

今さら聞けない人のためのgit超入門
OSCオンライン新潟2020 - YouTube
https://www.youtube.com/watch?v=4crnFbiiFvE