我有两个分支(A和B),我想合并来自分支A的单个文件与来自分支B的相应单个文件。
当前回答
假设B是当前分支:
$ git diff A <file-path> > patch.tmp
$ git apply patch.tmp -R
注意,这只对本地文件应用更改。之后你需要做出承诺。
其他回答
假设B是当前分支:
$ git diff A <file-path> > patch.tmp
$ git apply patch.tmp -R
注意,这只对本地文件应用更改。之后你需要做出承诺。
我将这样做
Git format-patch branch_old..branch_new文件
这将为文件生成一个补丁。
在目标branch_old上应用补丁
去吧等等补丁
git checkout <target_branch>
git checkout <source_branch> <file_path>
下面的命令将 (1)比较文件的正确分支,以掌握 (2)交互式地询问您应用哪些修改。
git checkout --patch master <fn>
这使用git的内部扩散工具。 也许有一点工作要做,但是直截了当。
#First checkout the branch you want to merge into
git checkout <branch_to_merge_into>
#Then checkout the file from the branch you want to merge from
git checkout <branch_to_merge_from> -- <file>
#Then you have to unstage that file to be able to use difftool
git reset HEAD <file>
#Now use difftool to chose which lines to keep. Click on the mergebutton in difftool
git difftool
#Save the file in difftool and you should be done.
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- 如何合并字典的字典?
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支