1. ホーム
  2. git

[解決済み] ある Git ブランチから別のブランチに、単一のファイルのバージョンをコピーするにはどうすればよいですか?

2022-03-20 01:38:13

質問

完全にマージされた2つのブランチがあります。

しかし、マージが完了した後、1つのファイルがマージによって台無しになっていることに気づきました(誰かが自動フォーマットを行いました、ガッ)。そして、もう一方のブランチで新しいバージョンに変更し、それを私のブランチに持ってきた後に私の一行の変更を挿入する方が簡単です。

では、Git でこれを行う最も簡単な方法は何でしょうか?

どのように解決するのですか?

最終的にファイルを作成したいブランチから実行します。

git checkout otherbranch myfile.txt

一般的な計算式

git checkout <commit_hash> <relative_path_to_file_or_dir>
git checkout <remote_name>/<branch_name> <file_or_dir>

いくつかの注意点(コメントより)。

  • コミットハッシュを使用すると、任意のコミットからファイルを引き出すことができます。
  • これは、ファイルおよびディレクトリに対して機能します
  • ファイルを上書きする myfile.txtmydir
  • ワイルドカードは使えないが、相対パスは使える
  • 複数パスの指定が可能

代替案です。

git show commit_id:path/to/file > path/to/file