git的操作指令(命令行方式),合并分支,提交到远程仓库,回滚。

一、项目整个的提交流程

背景:使用gitlab平台,master分支是受到保护的分支,使用两个分支,dev和master进行演示。

git pull --rebase 拉取dev的最新分支。

dev的代码写完了。

git commit -am"本次提交的内容"

git pull --rebase 拉取代码。假如有冲突,解决冲突,执行git rebase --continue。

git checkout master。切换到master分支。

git pull --rebase 拉取master的最新代码。

git checkout dev。切换回dev。

git merge master。将master代码的更改合并到dev上来。有冲突解决冲突。

git push origin dev。发布到远程的分支。

 

这几部操作完成之后,dev已经和origin dev的冲突解决完毕。dev和远程master 的冲突也解决完毕。现在再去gitlab提个merge request就好了。

source branch是dev  target branch是master。

二、意外发生,撤销更改,回滚的操作。

git reset --hard 将工作区和暂存区全部删除

git reset --soft  暂存区的删除 但是保留了本地的(工作区)代码

git reset 版本号 回滚到某个提交

场景一:

dev已经做了更改(工作区改变了),但是没有commit(暂存区没有).

解决办法:git reset --soft

场景二:

dev的工作区和暂存区 都有了。

解决方法:本地  git reset --hard

场景三:

dev都已经push了,我想回退。

解决方法:我们想把本地和远程仓库都回退到某个版本,直接在远程server的仓库目录下,执行git reset –soft 版本号来回退。远程变得干净了。暂存区干净了。只保留的当时本地工作区的更改

 

你可能感兴趣的:(git)