Git简介
Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具。
Git 的api很多,但其实平时项目中90%的需求都只需要用到几个基本的功能即可,所以本文将从 实用主义 和 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始在项目中动手用
准备阶段:
进入Git官网下载合适你的安装包,当前我下载到的版本是 2.34.1,本文也将在这个版本上演示效果。安装的细节请参考我的博客
安装好Git之后,我们可以直接在电脑桌面右键选择Git Bash Here打开Git的命令操作窗口,然后进入工作文件夹(这里为了便于理解,我选择直接在桌面上演示)但如果你想进入到自己事先创建的工作文件夹,我们可以通过 cd / 后接文件夹路径(例如 cd /d/demo,我们就可以进入d盘下demo文件夹)
然后我们在gitee或者github这两个代码管理平台创建一个仓库,我这里以gitee为例:
复制Git仓库链接后,回到Git Bash Here命令操作窗口进行Git常见相关命令操作
常见操作
所谓实用主义,就是掌握了以下知识就可以玩转 Git,轻松应对90%以上的需求。以下是实用主义型的Git命令列表,先大致看一
- git clone
- git config
- git branch
- git checkout
- git status
- git add 和 touch
- git commit
- git push
- git pull
- git log
- git tag
下面,我将通过对刚在gitee上创建的git-demo仓库进行以上命令操作来让大家熟悉各个命令。
git clone
从Git仓库拉取代码到本地工作文件夹
git clone https://gitee.com/llf2635/git-demo.git
git config
配置开发者用户名
git config user.name mike
配置开发者邮箱
git config user.email 123456789@qq.com
查看git的配置信息
git config --list
git branch
通过不带参数的branch命令可以查看当前项目本地分支列表
git branch
通过带参数 -r 可以查看当前项目远程仓库分支列表
git branch -r
通过带参数 -a 可以查看当前项目所有分支列表
git branch -a
创建一个名为 dev/0.0.1 的开发分支,分支名只要不包括特殊字符即可
git branch dev/0.0.1
如果觉得之前的分支名不合适,可以为新建的分支重命名,重命名分支名为 dev/0.0.2
git branch -m dev/0.0.1 dev/0.0.2
通过带参数 -d 可以删除指定分支
git branch -d dev/0.0.2
git checkout
从当前分支切换到指定分支
git checkout dev/0.0.1
git status
查看文件变动状态
git status
git add 和 touch
创建文件
touch README.md
添加文件到暂存区
git add README.md
git commit
将暂存区的文件提交到本地版本库,通过参数 -m 携带提交说明
git commit -m '这里写提交说明'
git push
将本地的版本库中dev/0.0.2这个分支合并带gitee远程仓库,origin 代表本地Git客户端的意思
git push origin dev/0.0.2
git pull
将远程仓库的最新代码拉取到本地,拉取的只是有变动的代码并不是整个项目的拉取,也可以说是代码同步更新
git pull origin dev/0.0.2
git log
查看版本提交记录
git log
git tag
为项目标记里程碑
git tag
例如:当我们完成某个功能需求准备发布上线时,应该将此次完整的项目代码做个标记,并将这个标记好的版本发布到线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回tag的相关内容信息则表示发布成功
给项目代码标记publish/0.0.1
git tag publish/0.0.1
将这个标记好的版本发布到线上
git push origin publish/0.0.1
git init
初始化一个本地Git仓库
git init
其他扩展:
工作区(Working Directory)
就是你在电脑里能看到的目录,比如从gitee上拉取到本地的项目git-demo文件夹就是一个工作区。此外,当我们对一个空文件夹使用git init命令后,该文件夹也就变成了一个工作区。
本地版本库(Local Repository)
工作区有一个隐藏目录 .git,这个隐藏文件夹可以理解为Git 的版本库,里面存放了提交日志、分支指针、工作区配置等相关信息。
暂存区(stage)
本地版本库里存了很多东西,其中最重要的就是称为 stage(在 .git 隐藏文件夹中为 index文件,里面存放了一些待提交的文件)的暂存区,还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD ,具体的分支存放在 refs 文件夹下的 heads 文件夹下。以下为隐藏文件夹的结构: