工作总结之git分享篇

工作总结之git分享篇

前言

有空了,来分享一波平常笔者自己git使用的干货,也是做一个总结

干货

git pull

  1. 首先先纠正一个误区
    git pull并不是一个操作而是相当于git fetch + git merge
    其实以上都没有用,做个了解(有人觉得git fetch比较安全,但是该冲突还得冲突,最重要的是解决冲突)
  2. 不带参数
    笔者常用的就是这个命令
    git pull不带参数的时候做了什么呢:
    如果git pull不加任何参数,默认会获取所有远程分支的内容(相当于git fetch不加参数,应该是被追踪过的),注意不是所有分支都进行merge,是本地的当前分支进行merge。
    ps: 不带参数的情况实测适用于git clone下来的代码,不适用于手动切换分支之后的情况
  3. 执行该命令有冲突,还没有开发工具的情况下

    执行该命令有冲突

    根据建议,笔者选择隐藏自己的内容

    隐藏后再次git pull,别人的内容拿到了

    放出自己的内容,这个时候就会有冲突,注意git有冲突时会直接在文件中输出

    冲突的样子

    因为没有开发工具hh,直接打开记事本解决冲突,此处选择保留双方的代码,实际情况请和你的同事商量

    提交解决的冲突

    推送解决冲突后的内容
    ps:因为没有使用工具,使用https推送到gitee或者github的时候,可能不会弹出让你输入账号密码,可以手动增加
  4. 以上都是屁话,图一乐,一般都用工具
    但是继续往下,你会发现大不一样

git push

  1. 不带参数
    当git push不带参数的时候做了什么呢:
    默认情况下,git会选择origin作为远程仓库,你的当前分支作为要推送的分支(默认只推送当前分支)。
    ps:一般情况下,在日常开发过程中,直接使用不带参数的git pushgit pull命令就可以完成当前分支文件的推送和拉取操作。

git commit

  1. 提交命令
    需要注意的是,该命令只会提交暂存区里面的内容,可以使用git add fileName1 fileName2,然后执行git commit -m "提交说明"

git merge

  1. 作用
    合并分支,在git pull时也见识过一点
  2. 什么时候使用
    笔者曾就职过两家公司,第一家的开发流程是dev -> test -> prd,第二家开发流程是个人分支 -> dev -> prd,其实都大同小异,该冲突都得冲突,只要不开发的同一个模块都行,但是后者是最麻烦的,每个人都要去合并代码,而前者只需要固定的人去合并代码就行了,大家都在dev做开发。
    然后合并方式,笔者两者都用,具体是哪两者呢,一个是开发工具,另一个是命令行,笔者为啥会用到命令行呢,难道是装b吗,其实不是,原因是前端使用的vscode,vscode没有提供相关的图形界面,具体如下(都让开,我要装b了,别打我):
    - 命令行方式(从yyh到dev)
    git pull在yyh分支时执行,保持该分支代码最新
    git checkout dev:切换到dev
    git pull:在dev分支时执行,保持该分支代码最新
    git merge yyh:合并yyh到dev
    git push:推送到远程
    ps:前面的不再是屁话
    - 图形化方式(开发工具)

    切换到yyh,并且拉取最新的代码

    切换到dev,并且拉取最新的代码

    合并到dev,并且推送到远程
    合并完成!

git stash

  1. 作用
    将本地没有commit的代码暂存,不包括未被版本控制的文件(红色文件)
  2. 什么时候使用
    一个是前面遇到的git pull的时候,另一个就是正在开发某一个功能,突然告诉你,另一个功能比较着急,优先级更高,你就可以用这个了(不用跟老板或者是产品犟了)
    这是笔者经常用的一个功能了
  3. 罗嗦一下
    - 命令行
    git stash save "隐藏说明": 隐藏代码
    git stash apply:应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储。是的你可以stash多次。
    - 图形化方式(开发工具)

    笔者经常使用的是开发工具隐藏的hh

复制分支

git checkout dev:切换到需要复制的分支
git pull:保持代码最新
git checkout -b test:创建新的分支test
git push origin test:推送到远端
git pull:此时会报错,是因为没有做关联
git branch --set-upstream-to=origin/test:做关联
git pull:不再报错

cherry pick

  1. 作用
    曾经被朋友形容的是摘桃。作用就是从另一个分支获取某些提交
  2. 笔者只用过图形化的操作方式

    摘桃并推送,即可获取prd分支的提交到dev分支

初始化一个项目

可以使用git initgit clone,笔者几乎都是用的后者,也不用啥图形化工具,具体命令git clone -b 分支名 http链接或者ssh链接

推荐的一些图形化工具

笔者在这里墙裂推荐SourceTree和vscode,前者是因为windows和mac都有(小乌龟好像只有windows吧),还有它真的很好看(界面,我也成一个颜狗了),笔者除了开发工具和命令行外,就是它用的最多了;后者是因为足够的轻量化(windows和mac也都有,甚至Linux上也有),虽然不能图形化合并代码,但是可以图形化解决冲突(不想用记事本打开就用它吧,笔者经常拿它解决冲突,hh)

总结

以上是笔者工作以来经常用到的git干货,如果能给到路过的旅行者一点帮助,笔者也会感到非常的开心哒

posted @ 2023-06-25 01:54  xiaoxiaoguai98  阅读(24)  评论(0编辑  收藏  举报