工作中Git的使用

前言

Git的日常使用命令

在日常开发中,git是当今的开发人员必须会且要求掌握熟练的代码管理工具,但是相关成体系的文章本萌新找遍了也没有找到,本人使用到的开发工具是VSCode,本文讲解的也是以VSCode为主–VSCode使用的命令比较多;使用到IDEA或者VS的XDM也可以参考下,反正都大差不差,只是IDEA提供的快捷按钮功能多一点,而且多了一个update的快捷按键。

工作外使用

一般我们在工作外使用的情况,大多是拉取代码到本地,若是从github中拉取别人的项目来借鉴借鉴,就需要去获取相关项目下获取SSH或者HTTPS路径,通过git clone 路径到目标文件夹下就可以了,当然推荐先 git init初始化一下,我们自己拿来玩的git仓库一半不会涉及到分支,那么提交代码时直接push上去就好了(注:在自己创建的仓库中,可以通过git rebase来进行代码更新与代码拉取,但是rebase会改变基底,其实是会覆盖一些代码更新的日志,这在工作中一般是禁止的,但是自己的仓库对日志没啥感觉的就随便玩),相关的命令依次为:

--下载代码
git clone url地址

--提交代码
git init  --初始化文件
git add .  --上传文件夹下的所有文件
git commit -m "msg"  -- -m后跟上传注释信息
git push origin--上传到远端仓库

--远端仓库的设置,origin是仓库名,随便起,地址为你的远端仓库地址(.git结尾)
git remote add origin 地址

第一次使用远程仓库一般是需要注册SSL的,但是由于时间问题(要下班了),这个各位自己去找吧,很简单。

工作中使用

这里以我使用的VSCode为例,后端开发的框架为loopback4,使用TS,使用的代码仓库是gitlab,一般企业中都会有自己的gitlab代码仓库,通过项目下的命令窗口进行git指令的执行。

一、提交修改代码到远端分支

VSCode提供了两个步骤的按钮:add,commit
VSCode内置图
想要在VSCode中使用git和其他软件一样,要下载相关的插件,这里就不做赘述了
在更改了代码后,我们可以在第三栏看到与原代码不同的文件,鼠标移动到更改下的文件就会出现三个图标选项(这里截图搞不了,将就想象一下),打开文件,取消修改,暂存修改,点击暂存修改在这里插入图片描述
就发现它跑上去了,这里就相当于是add操作–将修改提交到暂存区。然后点击那个V按钮,就相当于commit到本地仓库了。
注意:提交代码的规范是每一次提交都必须写上备注,就是这个消息中的信息,每一个公司的格式不同,按照自己公司要求来就行。
然后,在命令行中输入 git push就可以将本地修改提交到远程分支了。
在进组时一般会创建一个自己的分支(branch),这个分支可以在本地创建,也可以在远端创建,远端很简单,通过master那里新建一个分支就行,但是这样需要在新建后拉取一次项目,比较麻烦,所以我们这里演示本地创建分支,然后提交到主分支去,通常提交自己分支的代码到主分支也是这个步骤。

  1. 新建分支
    点击底部的分支图标(就是那个),就会在中间出现一个信息栏,这里可以看见新增分支的选择,创建新分支并命名,此时,在本地仓库你已经创建好了自己的分支

  2. 合并分支
    将项目提交一下,确定自己现在所在的分支git branch,通过git checkout 分支名跳转到目标分支,通过git merge 分支名合并分支,然后git pull将修改后的项目拉一下

注意点:

  • 合并分支的时候一般是在主分支上,合并自己的分支,这样多人操作同一个分支时提交到一个文件,就算产生了冲突也不会影响自己的代码,直接回退即可
  • 在提交代码之前养成先pull一下远端代码到本地的习惯,如果没有pull,而同时有其他同事在操作该分支时,是无法提交上去的
  • 若是在修改了代码,此时又想要拉取其他人刚提交的代码,但是又不想提交自己的代码,更不想删除,就可以使用stash来暂存本地修改的代码

二、stash的使用

git stash save "hello"  --这里后面也可以不取名字,会自动生成文件保存
git stash list  --这行可以查看当前通过stash保存的文件
git pop "hello" --取出stash文件,若是只有一个文件,或者没有取名字,直接 git pop就可

stash的作用在工作中体现很突出,需要掌握哦。

三、上传了自己不想上传的的补救方法

这个我肯定不会用到,相信你们也是(工作中的第二个任务接口我就上传了自己刚测完以为需要联合测其实就应该上传的接口,脑子一抽上传上去的时候突然惊呆),在add阶段,还没有commit阶段,直接点击提供的回滚按钮就行(或者git restore 相关文件名),若是提交了–commit了,更甚至是push了,不要怕,你可能有点慌慌的去找解决方案,这里就有:

git reset head^
windows中:>>git reset "head^"
^表示退一步,^^表示退两步
~n 表示退n步
可指定commit:git commit sdadsdads^ --回退到commitcode为sdadsdads的前一步

若是觉得这样不好,不够精确,还可以通过

git log  --查看提交修改记录

一条记录中包含的信息:
commit ee0e31e0b26b7a100b2a89f5b023095ca57eb0c1 (HEAD -> 涉及的分支名)
Author:本机使用者
Date:   Mon May 16 16:40:12 2022 +0800

通过commitcode可以回滚到指定的时间之前--git是代码时光机的所在
git reset commitcode --这里的commitcode就是ee0e31e0b26b7a100b2a89f5b023095ca57eb0c1 

若是你觉得这个git在很早早更新版本之前就有问题,就可以通过revert回退git版本

  • 保留git log
  • 多人协作专案,版本策略(告知其他人我回退了版本)

目前我理解到的git主要是在三个代码存放地的反复横跳:本地暂存区(add后),本地代码库(commit后),远端代码库(push后),理解熟悉命令后基本工作是没有问题的,若是想要成为git专家,可以去看看init生成的.git文件,观察在执行各个命令后.git中各个文件的改变,有兴趣的可以去看看我的视频,额我么有视频,好的,那就去看看git的三个组成(blob,tree,commit)与四个指标(tag,head,remote,branch)吧,git的底层若是都精通了就请通知我,我遇到难题就来抱大佬大腿,蟹蟹。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值