git如何仅合并项目下的某个文件夹

前言

假设目前在做的一个项目名为demoproject,目前版本为v1.0.0,标准开发都是在demoproject上进行的,但是有一个客户需要做定制化,需要将项目中的一些信息改为客户的,于是基于demoproject拉了一个v1.0.0-custom,然后将这个v1.0.0-custom交付给了客户。

过了一段时间,客户又提了新的需求,经过评估,这个需求是要做到标准版本上的,于是基于v1.0.0拉取了一个v1.1.0版本。等开发完成后,需要出一个v1.1.0-custom版本的交给客户。这个要怎么实现呢?最好是只将src/main/java目录下的代码合并到v1.1.0-custom。

实现

1. 先将v1.1.0和v1.0.0-custom的代码拉取到本地。

2. 将本地分支切到v1.0.0-ctyun,拉取最新代码

3. 打开命令行,切换目录,确保当前目录与src文件夹同级,执行以下命令:

git checkout v1.1.0 -- src/main/java

这将把v1.1.0 分支中 src/main/java 目录下的所有文件的更改应用到当前分支。

4. 解决冲突

如果合并过程中发生了冲突,你需要手动解决。IDEA会在冲突文件中标记冲突的部分,你需要选择保留哪些更改。

5. 提交合并后的修改

git commit -m "Merge changes xxx"

6. 提交合并

git push origin v1.1.0-custom

你可能感兴趣的:(git)