工作中常用的Git命令

Git 现在作为工作中主流的版本控制系统,同时它也是个内容管理系统(CMS),工作管理系统等的。所以在这里对于Git的介绍我就不赘述过多了。所以我在工作中常用的Git命令在这里我会分享给大家。

1.“git init”

       创建git的暂存区和版本库

       创建.git的隐藏文件夹  

       应用场景:一般会用于初始化搭建项目的时候会用到。

2.“配置git的用户信息” 

        全局:一个设置只需要配置一次,重复配置会覆盖

        `git config --global  user.name "用户名"

        `git config --global user.email "邮箱"`

        项目(局部):一个项目只需要配置一次,重复配置会覆盖

        `git config  user.name "用户名"`

        `git config  user.email "邮箱"`

         缺少局部,会自动找全局,全局没有,上传版本信息时,会报错

 3.“git add .”

         添加到暂存区

  4.“git commit -m '提交的commit说明' ”

          上传到版本库

          注意:这里建议commit提交说明中添加一些规范。

例:
feat:新功能(feature)  常用
fix:修补bug            常用
peaf:优化               常用
focs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
Test:增加测试
Chore:构建过程或辅助工具的变动

  5.“git push origin master”

          将本地仓库推送到远程仓库

  6.“git log”

             查看版本日志

  7.“git reflog”

            查看操作日志

  8.“git reset --hard  <commit id>”

           回退版本(回退到第几次修改时文件的修改时的状态)

  9.“git clone <远程仓库地址>”

        将远程仓库克隆到本地

  10.“git branch”

              创建分支:git branch dev

              查看当前所在分支:git branch

              查看本地和远程的分支:git branch -a

                                remote:代表远程

        (注意:删除分支时首先不要再将要删除的分支上输入命令)                     

                 删除本地分支:git branch -d dev

                 删除远程仓库分支:git push origin --delete dev

                 上传分支:git push -u origin dev

11.“git pull”

                 拉去当前分支上最新的代码 

12.“git checkout”

                 切换分支

                 git checkout -b dev 创建并切换到dev分支上

12.“git  merge

           git merge是一个重点,作用是合并该分支上的commit

           场景:比如dev环境开发完了,需要合并到master分支。     

    git add .   //上传到暂存区
    git commit -m 'feat:...'  //上传到版本库
    git pull                //拉去最新的代码
    git push origin dev     //推送到dev 分支
    git checkout master    //切换到master 分支
    git pull                //拉去 master 分支上的最新代码
    git merge dev            //合并dev 分支上代码

但是再git merge 需注意一下几点

        1.git merge通常情况下合并的log日志,不产生log日志的原因是因为当前分支没有最新的提交代码。

        2.所以会有常考的面试题,就会说git merge 和git rebase 的区别在哪里,答案就是一个会产生log日志,一个则不会。

        3.所以对于这个log日志,工作流程比较严谨的公司,都会采用git merge的方法,去产生log日志,便于出问题之后回滚版本。但是没有最新的提交产生log日志怎么办呢。所以会去使用

git merge --no-ff dev

当当前分支没有最新提交的时候,git merge 会快速合并不产生log日志,而 no-ff的作用就是不让他进行快速合并。

12.“git cherry-pick”

        这个命令相对于来讲的话,只有业务比较复杂的时候会用到,鄙人有幸(emm....)

        场景:开发分支dev,子分支a,b ,c,三个分支都是从dev上创建出来的,a,b,c三个分支呢对应三种不同的需求开发,也有可能呢,这三个分支会有相同的需求都会合并到这三个分支上,所以这时候呢,我们就需要在dev上开发,但是我们开发完三个需求之后,对应的合并到a,b,c三个不同的分支上去,我们不可能使用 git merge,这样的话,就会把所有的代码都合并上去了,显然这不是我们想要的,我们就需要用到git cherry-pick的命令。

        他是合并相对的commit 我们push到仓库之后会有commitId,我们根据这个commitId去相对应的合并

git cherry-pick commitId

git cherry-pick 教程 - 阮一峰的网络日志 (ruanyifeng.com)

如果我说的不够详细的话,具体可以看阮一峰老师的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值