一、merge 主分支
主分支同步到子分支
1、将分支切换到master
git checkout master
2、将代码拉到本地
git pull
3、提交本地代码(add后面是个英文句号[.])
git add .
4、本次提交日志描述
git commit -m "merge master into xxx_branch"
5、切换到更新的分支
git checkout xxx_branch
6、merge 主分支
git merge master
7、提交到远程git
git push
二、git 回滚删除的分支
1、使用git log 获取最近日志(打开gitlab,查看history)
#git log
2、使用git reset 回滚分支 (要回滚提交的记录号 )
#git reset --hard 9399dd0f649760c4d93a93b0d9137d1aea850b52
3、使用git push 代码推送分支(已删除的分支名称)
# git push -f origin springboot-2.3.12
三、删除已经push到远端的commit,并保留提交的代码
1、使用git log 获取最近的日志
#git log
2、使用git reset 指定回滚commit的位置(想要回退到哪个位置的commit id)
#git reset 515b796857fd34ee9dd9438cc392e5de2cdb092c
3、git push 覆盖到远程
#git push origin 分支名 --force
四、删除分支
1、删除本地分支
#git branch -D [branchname]
2、删除远程未合并的分支
#git push origin --delete [branchname]
五、在没有进行push前的撤销操作
1、不删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作 (–mixed)
注:-mixed 为默认参数。git reset --mixed HEAD^ 和 git reset HEAD^ 效果一样
#git reset HEAD^
2、不删除工作空间提交的代码,撤销 commit,但不撤销 git add . 操作(–soft)
注:撤回commit,保留修改的代码在本地仓库。
#git reset --soft HEAD^
3、删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作(–hard)
注:执行撤销后,删除本地提交的代码。等同于恢复到上一次的 commit 状态
#git reset --hard HEAD^