相关概念
为了更好的学习Git,我们需要了解Git相关的一些概念:
- 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
- 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码。
- 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。
Git仓库分为本地仓库和远程仓库,本地仓库就是开发人员自己电脑上的Git仓库,可能就是电脑中的一个文件夹,远程仓库可以借助一些代码托管平台来创建,例如GitHub、Gitee。
一个文件夹下只能有一个Git仓库,一个本地仓库对应一个远程仓库。
本地仓库的初始化有两种方式:git init和git clone [克隆地址]
本地仓库操作的常用命令:
git status 查看文件状态
git add 1.txt 将1.txt文件夹加入暂存区
git log 查看日志(包含每次提交的版本号信息)
git reset 将暂存区的文件取消暂存或者是切换到指定版本(git reset --hard 版本号)
git commit -m '新增了1.txt文件' 1.txt 将暂存区的1.txt文件提交到版本库中
远程仓库操作的常用命令
git remote 查看远程仓库
git remote add [远程仓库别名] [克隆地址] 将远程仓库与本地仓库相关联
git clone [克隆地址] 从远程仓库克隆,此时会帮我们初始化一个本地仓库
git pull [远程仓库别名] [分支名] 拉取远程仓库中的某个分支中的代码
git push [远程仓库别名] [分支名] 推送分支代码到远程仓库
分支操作常用指令:
通过git init创建本地仓库时默认会创建一个master分支
git branch 查看所有本地分支
git branch -r 查看所有远程分支
git branch -a 查看所有本地分支和远程分支
git branch [name] 创建分支
git checkout [name] 切换分支
git push [远程仓库别名] [分支名] 推送该分支到远程仓库分支中(加入远程仓库没有这个分支就会自动创建一个)
git merge [name] 将指定的分支合并到当前分支
git branch -d [name] 删除分支
标签操作常用指令:
标签指的是某个分支某个时间点的状态。通过分支可以保存该状态下的文件,也可以很方便的切换到标记时的状态。
git tag 列出已有的标签
git tag [name] 创建标签
git push [远程仓库别名] [name] 将该标签推送到远程仓库中
git checkout -b [branch] [name] 检出标签到一个新的分支中(将标签内容检出到一个新的分支当中去(类似于复制到branch分支中),操作完后会进入到该分支中。)