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

    技术2022-07-16  82

    一、项目整个的提交流程

    背景:使用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 版本号来回退。远程变得干净了。暂存区干净了。只保留的当时本地工作区的更改

     

    Processed: 0.037, SQL: 10