Git 基本使用
1 实用主义:常用命令
.gitignore:此文件设置哪些内容不需要推送到服务器,这是一个配置文件,每一行代表一个要忽略的文件或目录。如:以下内容的意思是 Git 将忽略 demo.html 文件 和 personal/ 目录,这些内容不会被推送到服务器上
demo.html
personal/
# git clone 从git服务器拉取代码
git clone https://github.com/SolomanXBR/test-project
# git config 配置开发者用户名和邮箱,每次代码提交的时会生成一条提交记录,其中包含当前配置的用户名和邮箱。
git config user.name Solomanxbr
git config user.email Solomanxbr@mit.edu.com
# git branch 创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。
# 创建一个名为 dev/v1.0.0 的日常开发分支,分支名只要不包括特殊字符即可。
git branch dev/v1.0.0
# 重命名分支名为 dev/v0.0.1
git branch -m dev/v1.0.0 dev/v0.0.1
# 通过不带参数的branch命令可以查看当前项目分支列表
git branch
# 如果分支已经完成使命则可以通过 -d 参数将分支删除
git branch -d dev/v1.0.0
# git checkout 切换分支到 dev/v2.0.0,后续的操作将在这个新分支上进行
git checkout dev/v2.0.0
# git status 查看文件变动状态
git status
# git add 添加单个文件变动到暂存区
git add README.md
# 添加所有变动文件到暂存区
git add .
# git commit 提交文件变动到版本库,通过 -m 参数可直接在命令行里输入提交描述文本
git commit -m "完成版本2.0.0的基础功能"
# git pull 将服务器上的最新代码拉取到本地,origin 指代的是当前的git服务器地址
git pull origin dev/version2.0.0
# git push 将本地的代码改动推送到服务器,origin 指代的是当前的git服务器地址
git push origin dev/version2.0.0
如果线上代码做了变动,而你本地的代码也有变动,拉取的代码就有可能会跟你本地的改动冲突,一般情况下 Git 会自动处理这种冲突合并,但如果改动的是同一行,那就需要手动来合并代码,编辑文件,保存最新的改动,再通过 git add . 和 git commit -m 'xxx' 来提交合并。
# git log 查看版本提交记录,可以查看整个项目的版本提交记录,它里面包含了提交人、日期、提交原因等信息
git log
# git tag 为项目标记里程碑,当我们完成某个功能需求准备发布上线时,应该将此次完整的项目代码做个标记,并将这个标记好的版本发布到线上
git tag publish/v2.0.0

2 高手进阶:深入探索
2.1 工作区(Working Directory)
简单理解为本地保存代码的文件夹
2.2 本地版本库(Local Repository)
工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库
2.3 暂存区(stage)
本地版本库里存了很多东西,其中最重要的就是称为 stage(或者叫index)的暂存区,还有Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD。
2.4 远程版本库(Remote Repository)
一般指的是 Git 远程服务器上所对应的仓库
工作区、暂存区、本地版本库、远程版本库之间几个常用的 Git 操作流程如下图所示
