質問: 元のソース ``` function my_func() { ・・・ } ``` ローカルで修正 元のソース ``` function my_func() { ・・・ } function my_func2() { ・・・この中身を大きく修正 } ``` ・my_funcの修正を取り込むために一旦git statshで退避 ・git pull ・stashの内容をマージするためにgit stash pullでマージ ここまで行ったところでコンフリクトが起きるのですが、マージの中身がかなり正しくない形でマージされてしまいます。 これはどのように解決すればよいのでしょうか? というかどのようにpullした内容を取り込むのが良いのでしょうか?
回答: こんにちは。 gitはプログラミング言語の文法を解釈しない筈です。 なので、my_func()とmy_func2()が別ものと理解できないため、良く似た行(同じ行?)があるとそこで同期してしまい、混乱が発生します。 マージ・アルゴリズムは複数あるようなのでいろいろ試してみるのも手かもしれませんが、変更箇所が関数1つしかないのなら、スタッシュ内のmy_func2()を手でコピペしするのが手っ取り早いと思います。