質問: git初心者です。 gitのpullで削除はmergeさせず、追加だけmergeさせたいです。 まずやったことを順を追って説明します。 1.masterブランチを作成する。 2.masterブランチでsample1.txtを作成する。 3.masterブランチからtestブランチを作成する。 4.testブランチでsample1.txtを消して、sample2.txtを作成する。 5.masterブランチにcheckoutする。 6.masterブランチにtestブランチをmergeする。 ↑ 6.の時にsample1.txtを残したままsample2.txtをmasterにpullしたいです。 何か方法はあるでしょうか?
回答: 前提として`git pull`は裏で`fetch + merge`を行うので、自動で変更をmergeされて困る場合は まず`git fetch`で内容を確認してからmergeを行う必要があります。 他のブランチの変更(コミット)のうち、一部のファイルのみ取り込みたい場合には`git checkout`でブランチ名と対象のファイル名を指定すればよいみたいです。 ``` git checkout <ブランチ名> -- <ファイル名> ``` 今回の場合であればmasterブランチ上で以下のコマンドを実行すれば、testブランチのsample2.txtのみをチェックアウトすることができるはずです。 ``` git checkout test -- sample2.txt ``` 参考: Git 1ファイルだけ別のブランチから持ってくる - Qiita