我有两个完全合并的分支。
但是,在完成合并之后,我意识到一个文件已经被合并搞砸了(其他人做了自动格式化,gah),并且更容易在另一个分支中更改为新版本,并且然后重新插入我的一行更改后将其带入我的分支。
那么 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.txt
和mydir
替代:
git show commit_id:path/to/file > path/to/file
我在类似的搜索中结束了这个问题。在我的情况下,我希望从另一个分支中提取一个文件到当前工作目录,该目录与文件的原始位置不同。 答案 :
git show TREEISH:path/to/file >path/to/local/file
使用 checkout 命令怎么样:
git diff --stat "$branch"
git checkout --merge "$branch" "$file"
git diff --stat "$branch"