合并某个分支上的单个commit(摘樱桃)

eg: 想把develop上的版本82ecb31合到master分支;

1
2
git checkout master  
git cherry-pick 82ecb31

会把develop上的82ecb31版本的改动合并到master,会在master分支上产生一个新的commit;

合并某个分支上的一系列commits

eg: 想把develop上版本1111~9999合并到master;

  1. 基于develop拉一个新分支,并指定新分支的最后一个版本9999
    1
    2
    git checkout develop 
    git checkout -b newbranch 9999
  1. 变基(rebase)这个新分支的commitmaster分支, 1111^指明你想从哪个版本开始合代码,
    1
    git rebase --onto master 1111^ 

合并具体的文件到某分支

eg: 把develop分支上的test.js合并到master;

1
2
git checkout master
git checkout --patch develop test.js