Gitでは、複数のブランチをマージすることで、開発を効率的に進めることができます。しかし、すべてのファイルをマージすると、不要な変更も取り込まれてしまうことがあります。
そこで、特定のファイルだけをマージする方法を知っておくと便利です。今回は、Gitで特定のファイルだけをマージする2つの方法を紹介します。
方法1:git checkoutコマンドを使う
git checkoutコマンドを使う方法は、マージ元のブランチから、特定のファイルをチェックアウトする方法です。
git checkout [マージ元のブランチ] -- [特定のファイルの相対パス]
例えば、ブランチ「master」からファイル「app/index.html」をチェックアウトするには、以下のコマンドを実行します。
git checkout master -- app/index.html
このコマンドを実行すると、ファイル「app/index.html」が作業ディレクトリにチェックアウトされます。
git merge-fileコマンドを使う
git merge-fileコマンドを使う方法は、マージ元のブランチとマージ先のブランチの特定のファイルをマージする方法です。
git merge-file [マージ元のブランチ] [マージ先のブランチ] [特定のファイルの相対パス]
例えば、ブランチ「master」からブランチ「develop」のファイル「app/index.html」をマージするには、以下のコマンドを実行します。
git merge-file master develop app/index.html
このコマンドを実行すると、ファイル「app/index.html」がマージされます。
注意点
特定のファイルをマージする場合、コンフリクトが発生する可能性があります。コンフリクトが発生した場合は、マージ元とマージ先の両方で同じファイルを編集している場合に発生します。コンフリクトを解決するには、マージ元とマージ先のどちらの変更を優先するかを決定します。
まとめ
Gitで特定のファイルだけをマージするには、以下の2つの方法があります。
- git checkoutコマンドを使う
- git merge-fileコマンドを使う
マージ元とマージ先を間違えないように注意してください。また、コンフリクトが発生する可能性があるので、その場合は適切に解決してください。