0%

合并不同仓库的历史提交

目的:
如两个开发人员分别在本地创建了自己的仓库进行同一项目的开发工作, 后需合并的同时需要保留所有历史提交或其中某个重要的历史提交

合并部分提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 如将repo1合并到repo中

# 在repo中添加repo1为远程分支
git remote add rrepo1 //repo1的路径

# 拉取repo1的变更记录
git fetch rrepo1 # 自动创建rrepo1/master的分支

# 查看rrepo1/master的历史提交
git log rrepo1/master

# 合并某一次提交
git cherry-pick <commit-hash>

# 合并连续的几次提交
git cherry-pick A..B # 合并从A~B的提交(不含A)
git cherry-pick A^..B # 合并从A~B的提交(含A)

# 查看提交记录
git log

合并所有提交

1
2
3
4
5
6
7
8
9
10
11
12
13
# 如将repo1合并到repo中

# 在repo中添加repo1为远程分支
git remote add rrepo1 //repo1的路径

# 拉取repo1的变更记录
git fetch rrepo1 # 自动创建rrepo1/master的分支

# 合并到repo
git merge rrepo1/master

# 查看提交记录
git log