Git一些常用指令和规范
当我们写完代码的时候肯定是需要提交代码的,这时候就需要用到Git了,所以我们必须要了解一些Git常用的指令。在多人协作的大项目中,我们也要懂得一些规范。
首先我们电脑需要安装git,安装好git之后做一些配置,以及设置好SSH才可以正常使用git
git官网 在官网中我们可以找到git的下载地址
安装完git之后,如果是Windows系统我们可以打开git bash(就是那个带颜色的黑框框,安装好git后可以直接在win菜单搜索)控制台来使用git指令,如果是mac的系统,我们可以直接按command + 空格,搜索terminal打开控制台,然后我们输入git --version
便可以看到我们安装的git版本
(进了滴滴之后公司发了Macbook Pro,第一次使用mac,不得不说mac对于程序员真的很友好,省去了在windows上的好多麻烦)。
然后第一次使用git 我们还需要进行一下用户环境的配置。
初始化git
第一次使用git的时候我们需要给git配置用户名和邮箱,用户和邮箱可以使用github的,也可以使用自己公司的git lab仓库的账号
# 配置用户名
git config --global user.name "用户名"
# 配置邮箱
git config --global user.email "邮箱地址"
复制代码
配置好这个以后我们输入便可以看到我们所有的配置信息了,然后可以看到user.name和user.email配置得对不对
git config -l
复制代码
另外,当我们配置好邮箱和用户名之外,还需要配置一下ssh密钥(当然不配置也行,就是每次pull、push代码的时候都要输入密码,比较麻烦,所以还是一劳永逸配置一下ssh密钥方便以后开发)
关于github如何配置ssh密钥可以参考这篇文章 将ssh密钥添加到github
关于gitlab如何配置ssh密钥可以参考这篇文章gitlab配置ssh密钥
Git基本使用
在开发项目中,我们一般需要创建自己的代码分支,多人同时开发的时候项目就很容易产生冲突,所以我们每个人拥有一个自己的开发分支是比较好的选择,最后开发完成上线的时候再提交的预发环境分支中进行测试,当最后测试完成通过后再提交到项目的主分支master,然后就可以通过CI/CD进行部署了,这是一套开发的基本的流程,所以我们再来看看如何去创建自己的分支。
1、拉取项目
我们到公司中,首先就是要先克隆公司的代码到本地
git clone 仓库地址
复制代码
当clone完成之后,本地仓库就与远程仓库自己进行了连接,接下来我们就可以进行自己的开发以及自己的代码提交了。
2、创建分支
首先拉取项目下来之后,我们就要创建自己的开发分支,以后提交代码都主要在自己的开发分支上进行提交
首先我们可以先查看一下目前所有的分支
git branch -a
复制代码
然后可以创建自己的分支
git branch 分支名称
复制代码
切换到自己创建的分支
git checkout 需要切换到的分支名称
复制代码
上述两个指令可以合并成下面的这一个指令,创建并切换到分支
git checkout -b 分支名称
复制代码
创建完分支并切换之后,查看自己当前分支
git branch
复制代码
3、提交代码到缓存
git add .
复制代码
4、代码提交的注释
一般提交代码的时候我们都要写上注释,而且写注释也有一定的规范,然后这个规范跟自己的公司有关,按照自己公司的规范来提交就行了,另外一般我们使用的提交规范有比如说像下面这样:
feat:增加新功能
fix:修复bug
docs:只改动文档
style:格式(不影响代码运行的改动)
refactor:重构
test:增加测试
git commit -m "注释内容"
复制代码
比如我们增加了一个新模块:git commit -m "feat: 完成了订单下载模块"
5、代码提交
代码写完之后就可以提交到我们自己的开发分支上了
git push origin 提交的分支名字(比如说主分支origin master)
复制代码
这上面就是一套简单的拉取别人仓库代码以及开发提交代码的流程了。
代码仓库建立
我们在某一个项目的文件夹下可以建立一个git代码仓库,然后就可以给我们生成关于git的一些文件(可能是隐藏了的文件夹)
git init
复制代码
或者我们可以使用下面这个指令来直接新建一个目录,该目录会作为git代码库
git init 项目名称
复制代码
远程操作指令
1、显示所有远程仓库
git remote -v
复制代码
2、获取远程仓库的变动
一般是将远程代码获取下来,然后去和git merge
做合并处理
git fetch origin 分支名称(比如说主分支origin master)
复制代码
3、将代码进行合并
git merge 分支名
复制代码
4、拉取远程仓库代码并与本地分支合并
一般可以看作是git fetch和git merge的结合体,如果要追究它们有什么不同,那就是更深入的了,这篇文章只做git使用的基本介绍
git pull
复制代码
5.、强行推送当前分支到远程仓库,即使有冲突
git push --force
复制代码
其它指令
1、显示有变更的文件状态
git status
复制代码
2、显示当前分支版本历史
git log
复制代码
3、显示提交的历史和发生变更的文件
git log --stat
复制代码
4、显示过去5(n)次提交
git log -5 --pretty --oneline
复制代码
5、显示该仓库所有提交过代码的用户,并按提交次数排名
git shortlog -sn
复制代码
6、显示今天提交的文件变更、代码变动的行数
git diff --shortstat "@{0 day ago}"
复制代码
代码回滚
在代码回滚之前我们先使用 git log
查看我们的代码提交记录,然后看了代码提交记录之后我们便可以按照版本进行回退
1、回退到上个版本
git reset --hard HEAD^
复制代码
2、回退到n次提交之前
git reset --hard HEAD~n
复制代码
3、回退到指定提交版本
git reset --hard commit的哈希值
#这个哈希值就是输入git log之后可以看到的一大串字符
#比如说 git reset --hard 92f1eb5aa5db9e04753e75a37ffd76f793cb281e
复制代码
回滚后有可能代码会提交失败,必须进行强制推送到远程
git push origin HEAD --force
复制代码