git merge不同branch文件

平时用git开发过程会有这样一种场景,比如大伙都在branchA上commit,然后有一个临时的需求开了一个branchB,我一个人去那里commit了,大伙还继续在branchA上commit新功能。这时候我需要branchA上的一个新功能(不包含其它未完成的功能)merge到branchB里,也就是说我只需要merge branchA上指定一部分目录或者文件代码。看下面这个例子:

创建branch分支
$ git branch
  * master
$ mkdir dir1
$ cd dir1
$ echo "hello world" > 1.txt
$ git add dir1; 
$ git commit -a -m "add master branch"

创建develop分支
$ git checkout develop
$ mkdir dir2
$ echo "hello world" > 2.txt

master分支有ci
$ git checkout master
$ echo "add by branch master" >> 1.txt
$ git commit -a -m "update master branch"

merge master分支指定目录到develop分支
$ git checkout develop
$ git checkout master dir1/1.txt
  • git merge branchA的file1 到 branchB,仅需这样
$ git checkout branchB
$ git checkout branchA file1

标签:none