Skip to content

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 仓库的账号

shell
# 配置用户名
git config --global user.name "用户名"
# 配置邮箱
git config --global user.email "邮箱地址"

配置好这个以后我们输入便可以看到我们所有的配置信息了,然后可以看到 user.name 和 user.email 配置得对不对

shell
git config -l

另外,当我们配置好邮箱和用户名之外,还需要配置一下 ssh 密钥(当然不配置也行,就是每次 pull、push 代码的时候都要输入密码,比较麻烦,所以还是一劳永逸配置一下 ssh 密钥方便以后开发)

关于 github 如何配置 ssh 密钥可以参考这篇文章 将 ssh 密钥添加到 github

关于 gitlab 如何配置 ssh 密钥可以参考这篇文章gitlab 配置 ssh 密钥

Git 基本使用

在开发项目中,我们一般需要创建自己的代码分支,多人同时开发的时候项目就很容易产生冲突,所以我们每个人拥有一个自己的开发分支是比较好的选择,最后开发完成上线的时候再提交的预发环境分支中进行测试,当最后测试完成通过后再提交到项目的主分支 master,然后就可以通过 CI/CD 进行部署了,这是一套开发的基本的流程,所以我们再来看看如何去创建自己的分支。

1、拉取项目

我们到公司中,首先就是要先克隆公司的代码到本地

shell
git clone 仓库地址

当 clone 完成之后,本地仓库就与远程仓库自己进行了连接,接下来我们就可以进行自己的开发以及自己的代码提交了。

2、创建分支

首先拉取项目下来之后,我们就要创建自己的开发分支,以后提交代码都主要在自己的开发分支上进行提交

首先我们可以先查看一下目前所有的分支

shell
git branch -a

然后可以创建自己的分支

shell
git branch 分支名称

切换到自己创建的分支

shell
git checkout 需要切换到的分支名称

上述两个指令可以合并成下面的这一个指令,创建并切换到分支

shell
git checkout -b 分支名称

创建完分支并切换之后,查看自己当前分支

shell
git branch

3、提交代码到缓存

shell
git add .

4、查看已经提交到缓存的数据

git status

5、删除缓存中的文件

# 如果没设置.gitignore不小心上传了一些不想上传的东西可以删除掉
git rm --cached 文件名

6、代码提交的注释

一般提交代码的时候我们都要写上注释,而且写注释也有一定的规范,然后这个规范跟自己的公司有关,按照自己公司的规范来提交就行了,另外一般我们使用的提交规范有比如说像下面这样:

feat:增加新功能

fix:修复 bug

docs:只改动文档

style:格式(不影响代码运行的改动)

refactor:重构

test:增加测试

shell
git commit -m "注释内容"

比如我们增加了一个新模块:git commit -m "feat: 完成了订单下载模块"

7、代码提交

代码写完之后就可以提交到我们自己的开发分支上了

shell
git push origin 提交的分支名字(比如说主分支origin master)

这上面就是一套简单的拉取别人仓库代码以及开发提交代码的流程了。

代码仓库建立

我们在某一个项目的文件夹下可以建立一个 git 代码仓库,然后就可以给我们生成关于 git 的一些文件(可能是隐藏了的文件夹)

shell
git init

或者我们可以使用下面这个指令来直接新建一个目录,该目录会作为 git 代码库

shell
git init 项目名称

远程操作指令

1、显示所有远程仓库

shell
git remote -v

2、获取远程仓库的变动

一般是将远程代码获取下来,然后去和git merge做合并处理

shell
git fetch origin 分支名称(比如说主分支origin master)

3、将代码进行合并

shell
git merge 分支名

4、拉取远程仓库代码并与本地分支合并

一般可以看作是 git fetch 和 git merge 的结合体,如果要追究它们有什么不同,那就是更深入的了,这篇文章只做 git 使用的基本介绍

shell
git pull

5.、强行推送当前分支到远程仓库,即使有冲突

shell
git push --force

其它指令

1、显示有变更的文件状态

shell
git status

2、显示当前分支版本历史

shell
git log

3、显示提交的历史和发生变更的文件

shell
git log --stat

4、显示过去 5(n)次提交

shell
git log -5 --pretty --oneline

5、显示该仓库所有提交过代码的用户,并按提交次数排名

shell
git shortlog -sn

6、显示今天提交的文件变更、代码变动的行数

shell
git diff --shortstat "@{0 day ago}"

7、删除本地分支

git branch -d localBranchName

8、删除远程分支

git push origin --delete remoteBranchName

代码回滚

在代码回滚之前我们先使用 git log 查看我们的代码提交记录,然后看了代码提交记录之后我们便可以按照版本进行回退

1、回退到上个版本

shell
git reset --hard HEAD^

2、回退到 n 次提交之前

shell
git reset --hard HEAD~n

3、回退到指定提交版本

shell
git reset --hard commit的哈希值

#这个哈希值就是输入git log之后可以看到的一大串字符
#比如说 git reset --hard 92f1eb5aa5db9e04753e75a37ffd76f793cb281e

回滚后有可能代码会提交失败,必须进行强制推送到远程

shell
git push origin HEAD --force

4、回到 merge 时最初的状态,取消 merge 后的修改操作

shell
git merge --abort

远程仓库控制

1.查看远程仓库地址

git remote -v

2.修改远程仓库地址

git remote set-url origin 仓库url

3.删除远程仓库地址

git remote rm origin

4.添加远程仓库地址

git remote add origin 仓库url

总结

上面就是一些 git 的基本使用指令了,其实还有很多很多指令以及一些 git 的原理我们也需要去了解,后面使用到的时候再去了解即可,现在这些指令已经基本够我们日常开发使用了,所以就目前记录一下,方便今后自己使用查阅,同时希望也可以帮助大家。

每天进步一丢丢