git合并单个文件到一个分支上

  • Post author:
  • Post category:其他


日常开发中,可能会遇到需要将develop分支最后一次提交(最后一次提交会包含多个文件)某一个文件(或者多个文件,)代码合并到master分支,进行发布。如果直接用marge 就会将最后一次提交的所有文件全部合到master不符合要求。

例如:将test分支上UserEntity.java 文件合并到 develop分支上

解决方案一:

1. 先在test进行一次提交,然后切换到 develop分支
//                                              -- 用于分割文件,这里使用文件的绝对路径 ,如果文件在项目的根路径下,直接写文件名即可										
2. git checkout  --patch  test   -- D:/project/test/src/com/ratel/entity/UserEntity.java

ratel@DESKTOP-HRDC9NJ MINGW64 /d/project/test (develop)
$ git checkout  --patch  test   -- D:/project/test/src/com/ratel/entity/UserEntity.java
diff --git b/src/com/ratel/entity/UserEntity.java a/src/com/ratel/entity/UserEntity.java
index 847fcda..f2591f0 100644
--- b/src/com/ratel/entity/UserEntity.java
+++ a/src/com/ratel/entity/UserEntity.java
@@ -15,4 +15,5 @@ public class UserEntity {
     private String hobby;
     private String phone;
 //    测试git
+    //测试git01
 }
Apply this hunk to index and worktree [y,n,q,a,d,e,?]? y  //如果确定没问题 一直输入y即可,如果有问题输入n 即可中止操作。


ratel@DESKTOP-HRDC9NJ MINGW64 /d/project/test (develop)

可能会出现文件如果项目中存在一个 test 文件目录(和分支同名的文件目录)就需要使用 文件前加 – 进行区分,否则会报如下错误:

$ git checkout  --patch  test   src\com\ratel\entity\UserEntity.java
fatal: ambiguous argument 'test': both revision and filename
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

解决方案二:

1. 先在test进行一次提交,然后切换到 develop分支
2. 如果只是简单的将test分支的文件UserEntity.java copy到develop分支上,直接执行下面命令,(这样操作会覆盖掉develop分支同名文件,develop分支UserEntity.java 做的更改将会被覆盖)

git checkout    test   -- D:/project/test/src/com/ratel/entity/UserEntity.java



版权声明:本文为weter_drop原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。