Git-拉取别的分支的代码/合并多个commit

一、拉取别的分支代码
1、git merge方式拉取

git add .
git commit -m '提交说明' -n
git push
git pull // 很多分支,会提示你拉具体分支
git merge origin/develop // 我要拉的分支
// 执行到这里之后,可能会有冲突,有冲突的话就继续提交
git add .
git commit -m '提交说明' -n
// 现在的分支wyz_develop,提交到origin的分支中的wyz_develop中
git push origin wyz_develop:wyz_develop

2、git rebase方式拉取

git add .
git commit -m '提交说明' -n
// wyz_develop是我的开发分支
git push origin wyz_develop:wyz_develop
// develop分支是用来拉取仓库代码的,和仓库中的主分支保持一致的,不会在develop分开改动代码
git checkout develop // 和仓库代码一致
git pull origin develop:develop
git checkout wyz_develop // 切换到开发分支
git rebase develop  // 拉取develop分支代码,这个时候可能会有冲突,如果有冲突的话,解决完冲突后,就继续执行
git add .
git commit -m '提交信息' -n
git rebase --continue
git push origin wyz_develop:wyz_develop

git merge和git rebase虽然都可以拉取代码,但是目前在我们的流程中我一直是在使用rebase,因为merge虽然能拉到最新的代码,但是你提交代码的时候会把拉取到代码一起提交,但是通过rebase的方式就不会出现这种情况

二、使用git reset使多个commit合并成一个commit
1、通过git log可以看到目前你提交的日志,例如:

coomit  a123421574239874158 
commit d287663214796325874
commit x5842669871145526699
commit f254556699874112566

2、合并
git reset的合并是这样的,例如你要合并前三条的提交,那就是

git reset  commitID // 这个commitId就是你要合并的前几条的下一条的id,在这里就是第四条id

所以就是

git reset f254556699874112566 // 执行之后前三条提交的代码内容在项目中都是未 git add 的状态了,继续执行
git add .
git commit -m ''
git push

你可能感兴趣的:(#,Git/小乌龟,合并多个commit,git拉取代码)