前言
实用主义的Git入门教程,快速了解常用的Git命令。
1. git clone
从Git服务器拉取代码:git clone https://github.com/SilenceZheng66/SilenceZheng66.github.io.git
代码会下载到当前工作目录中,名称为SilenceZheng66.github.io
。
2. git init
当然,如果想要在本地新建一个git仓库,只需要在对应工作目录中输入git init
命令。
首次创建仓库需要commit后才能创建主分支master。
3. git config
该命令用于获取并设置存储库或全局选项。这些变量可以控制Git的外观和操作的各个方面。
全局配置开发者用户名:git config --global user.name SilenceZheng66
对某一项目配置开发者邮箱(需进入项目目录):git config user.email silencezheng66@126.com
查看当前用户全局配置:git config --global --list
查看当前仓库配置:git config --local --list
4. git branch
创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。
git branch daily/0.0.0
,创建一个名为daily/0.0.0
的日常开发分支,分支名只要不包括特殊字符即可。
git branch -m daily/0.0.0 daily/0.0.1
,如果觉得之前的分支名不合适,可以为新建的分支重命名,如重命名为daily/0.0.1
。
查看当前项目分支列表:git branch
,按q退出。
删除分支:git branch -d daily/0.0.1
5. git checkout
该命令用于切换分支。
如:git checkout daily/0.0.1
切换到历史版本:git checkout <commit SHA>
6. git status
该命令用于查看文件变动状态。
比如可以在项目中新建一个文件hh.txt
后,键入该命令查看状态,得到:Untracked files:...
。
7. git add
该命令用于添加文件变动到暂存区。
git add hh.txt
,查看状态得到:Changes to be committed:...
将所有修改添加到暂存区:git add .
。
8. git commit
该命令用于提交文件变动到版本库。
git commit -m '提交原因'
,通过-m
参数可直接在命令行里输入提交描述文本。
9. git push
该命令用于将本地的代码改动推送到服务器。
git push origin daily/0.0.1
,origin
指代的是当前的git服务器地址。
10. git pull
该命令用于将服务器上的最新代码拉取到本地。
git pull origin daily/0.0.1
,将服务器上daily/0.0.1
分支的代码拉取到本地。
如果线上代码做了变动(其他项目成员进行了编辑),而你本地的代码也有变动(你做了改动),拉取的代码就有可能会跟你本地的改动冲突,一般情况下 Git 会自动处理这种冲突合并,但如果改动的是同一行,那就需要手动来合并代码,编辑文件,保存最新的改动,再通过git add .
和git commit -m 'xxx'
来提交合并。
11. git log
该命令用于查看版本提交记录,我们可以查看整个项目的版本提交记录,它里面包含了散列码、提交人、日期、提交原因等信息。
提交记录可能会非常多,按 J 键往下翻,按 K 键往上翻,按 Q 键退出查看
查看分支树:git log --oneline --graph --decorate --all
12. git tag
该命令用于为项目标记里程碑。
1 | git tag publish/0.0.1 |
当我们完成某个功能需求准备发布上线时,应该将此次完整的项目代码做个标记,并将这个标记好的版本发布到线上,这里表示以publish/0.0.1
为标记名并发布。
13. git merge
该命令用于将两个或两个以上的分支合并到一起。
以最简单的“master-dev”模式举例,当我们处于开发分支写完一段代码,确认没有问题后想要合并到主分支:
1 | git checkout master |
执行以上命令,就可以将开发分支代码合并到主分支,并形成自动提交。
当然合并命令也可以使用其他参数更改其行为,例如合并代码但不自动提交:git merge --no-commit dev
。
参考文献
[1] gafish的Git教程,找不到原文链接了,可以在 GitHub 搜到作者。
后记
首发于 silencezheng.top,转载请注明出处。