平时用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