1、合并分支
eg: 将 fun
分支 的代码合并到 dev
分支
1)、将分支切到dev
分支
2)、使用 git merge fun
合并分支
3)、有冲突解决冲突
4)、git add .
、 git commit -m "提交"
、git push
三个命令进行提交
5)如果 在解决冲突之前,后悔合并了,使用 git merge --abort
能够简单的撤销合并
2、已经将代码合并到远程仓库,结果发现合并错了,回滚方式
1)、git log
查找到需要回滚版本的指针 比如 9d41545b7e7a352bb8f338537ff57764ff31133c
2)、git reset --hard HEAD^
回退到上一个版本
git reset --hard HEAD~3
回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard 9d41545b7e7a352bb8f338537ff57764ff31133c
回滚到指定版本
3)、git push origin 分支名 --force
强制推到远程
注:如果担心回滚出错,可以重新切一个新的分支,然后再将新的分支上回滚过的代码合并到开发分支上
3、遴选合并
eg: 将 fun
分支 的代码合并到 dev
分支
1)、将分支切到dev
分支
2)、在dev分支执行 git log
查找到需要遴选的版本指针 比如 9d41545b7e7a352bb8f338537ff57764ff31133c
,9c41545b7e7a352bb8f338537ff57764ff31133c
,
8d41545b7e7a352bb8f338537ff57764ff31133c
3)、git cherry-pick 9d41545b7e7a352bb8f338537ff57764ff31133c 9c41545b7e7a352bb8f338537ff57764ff31133c 8d41545b7e7a352bb8f338537ff57764ff31133c
4)、解决冲突,git add . ,再次遴选会报错,git stash 放到暂存区,再次git cherry-pick id 就可以遴选成功了
4、切分支
eg:从master分支切一个新的分支
1、git checkout master // 切换到master分支
2、git pull origin master // 拉取master最新的代码
3、git checkout -b newBranch // 本地创建一个新的分支
4、git push -u origin newBranch // 将本地分支推到远程对应的分支(本地分支和远程分支关联)
5、git stash 的使用
1)、暂存本地代码 (先进后出)
git stash
git stash save “描述信息”
2)、查看本地有多少缓存代码
git stash list (数字越小代码越新)
3)、合并本地缓存代码
3.1 git stash apply // 默认合并最新的缓存代码,不会删除缓存的代码
3.2 git stash apply 1 // 合并索引为 1 的缓存代码 , 不会删除缓存的代码
3.3 git stash pop // 默认合并最新的缓存代码,并删除缓存的代码
4)、删除某一个缓存代码
git stash drop 2 // 删除索引为 2 的 缓存代码
5)、清除本地所有缓存代码
git stash clear