美文网首页
git开发常规流程和命令

git开发常规流程和命令

作者: 五月的天at | 来源:发表于2020-09-03 18:22 被阅读0次

    1、养成建分支的好习惯

    a、本地建分支:

    git branch dev(本地分支名)

    切换本地分支到dev

    git checkout dev

    两个命令可以一起实现用: git checkout -b dev  意思就是新建本地分支dev并切换到本地分支dev

    删除本地分支:

    git branch -d dev(本地分支名)

    强制删除用D

    b、远程建分支

    git push origin master(本地任意一个分支):yuancheng(要新建的远程分支名)

    其实尼也可以直接在git官网上新建一个远程分支

    删除远程分支:

    git push origin --delete yuancheng(远程分支名)

    c、git提交的常规操作

    新建本地分支进行开发

    git checkout -b dev

    从远程分支克隆到本地:

    git clone git地址 

    如果是克隆远程分支的代码到本地则(一般来说我们是在自己的远程分支开发的,push之后再到git官网提merge合并到远程master):

    git clone -b 远程分支名 git地址

    把所有的文件和文件夹从功能工作区提交到暂存区(一把的编辑器都会提示是否add,如果add的话其实就可以不用这一步了)

    git add .

    当然也可以单独提交某个文件或者文件夹如:

    git add test.txt   就是把test.txt文件提交到暂存区

    撤销上一步提交(add);

    git reset HEAD

    从远程仓库更新代码:

    git pull origin 远程分支名:本地分支名

    如:git pull origin master:bendi

    此时pull的时候可能会遇到问题,是因为最新的代码和自己本地代码有冲突,需要消除差异执行此命令:

    git pull origin master(需要pull的远程分支名) --allow-unrelated-histories。

    执行完之后有看日志有冲突解决冲突就好了。解决冲突其实就是打开有冲突的文件,选择自己要保留的代码删除不需要的代码即可。

    把暂存区文件提交到版本库

    git commit -m "添加提交记录"

    撤销commit:

    git reset --soft HEAD

    如果想同时撤销commit和add操作可以用如下命令:

    git reset --hard HEAD

    查看add提交状态:

    git status   

    简单来说就是黄色的就是add之后的文件,红色就是没有add的文件

    commit之后就可以把本地分支的代码merge到本地master了

    切换到本地master:

    git checkout master

    然后merge本地分支dev

    git merge dev

    最后就是把本地代码推送到远程分支了

    git push origin master(本地):远程分支

    如果远程没有分支的话直接推送到远程master就直接用:

    git push origin master(本地):master(远程)

    然后到git官网提merge使自己的远程分支代码合并到远程分支master。有权限的管理员同意merge之后,就齐活了!

    2、解决疑难杂症

    a、git stash的使用

    其实我们经常会遇到这样一个问题,就是我们在自己的本地分支上开发某个功能但是还没开发完,这是来了一个bug需要我们改一下,所以我们需要重新再本地新建一个bug分支。但是直接新建分支的话发现bug分支上还是有dev分支开发的代码,就不得不完成功能在改bug了。所以这个时候我们只需要用:

    git stash

    就可以把开发的代码隐藏起来了,这个时候再新建一个本地分支就可以改bug了。我们改完bug之后就可以按照常规操作提交代码了。此时我们需要继续开发功能,只需要切到dev分支执行:

    git stash pop

    就可以恢复之前隐藏起来的代码了

    哈哈!  git stash 没有讲太深,想充分了解就自己百度补充下吧!

    b、解决冲突无法合入的问题

    把代码拉取到本地分支然后手动解决冲突再合入主干再推送远程分支

    1、拉取远程分支并创建本地分支:看这里

    git fetch origin 远程分支:本地分支名字

    这种方式不会切换到本地分支,目前还在当前分支,需要手动git checkout

    2、使用该方式会在本地新建分支x,并自动切换到该本地分支x。

    git checkout -b 本地分支名x origin/远程分支名x

    解决掉本地分支和本地主干的冲突,然后再合入主干,push到远程分支

    相关文章

      网友评论

          本文标题:git开发常规流程和命令

          本文链接:https://www.haomeiwen.com/subject/eejosktx.html