Git版本控制介绍与常用命令
Git概述
目前市面上较流行的版本控制有SVN和Git,就目前来看Git已经领先SVN很多,许多企业已经慢慢淘汰SVN。
Git相比较SVN来说,有几个最大的特点
- 分布式版本控制服务。
- 允许多分支并行开发
- 从数据和访问量上考虑,有能力支持管理超大规模项目。
Git工作流程
- 从远程仓库Clone代码到本地仓库。
- 从本地仓库Checkout到工作区,并可以进行修改代码。
- 提交前将代码先Add到暂存区。
- 将暂存区的代码Commit到本地仓库
- 将本地仓库的代码Push到远程仓库
节点 | 说明 |
---|---|
远程仓库 | 远程服务器上的Git仓库 |
本地仓库 | 开发人员自己电脑上的Git仓库 |
工作区 | 可以理解为不同的分支(包含.git文件夹的目录就是工作区,用于存放开发代码) |
暂存区 | 代码推送前的确认推送暂存区(.git文件夹下的一个index文件就是暂存区) |
托管服务
常用的有三个托管服务供我们选用
托管服务 | 说明 |
---|---|
gitHub | 全球最大的面向开源代码托管平台 |
GitLab | 用于仓库管理系统的开源项目 |
码云 | 国内的代码托管平台,服务器在国内,速度比另外两个快 |
Git常用命令
1、初始化本地仓库命令
安装完git后,首先需要配置用户名和email地址,目的是在在提交、推送的时候,以此用户名和email作为日志记录。
1.1、配置用户名和邮箱
git config --global user.name “beansice”
git config --global user.email “1727728892@qq.com”
1.2、查看Git配置信息
git config --list
2、本地仓库操作命令
配置完后,我们要在获得本地仓库,一般我们采取以下两种办法获取仓库
2.1、克隆远程仓库命令
git clone https://[远程仓库地址]
2.2、初始化本地仓库
创建一个空文件夹作为一个仓库,在空文件夹内
git init
2.3、查看文件状态
git status
2.4、查看文件状态(简洁)
git status -s
状态颜色 | 说明 |
---|---|
红色(未跟踪) | 未被纳入版本控制 |
黑色(已跟踪) | 未修改 |
蓝色(已跟踪) | 已修改 |
绿色(已跟踪) | 已暂存 |
2.5、将文件加入暂存区中
git add [文件名.文件格式]
2.6、将多个文件加入暂存区中
git add .
2.7、将暂存区文件取消暂存
git reset [文件名.文件格式]
2.8、将暂存区文件提交到本地仓库
git commit -m "日志信息" [文件名.文件格式]
2.9、删除文件
git rm [文件名.文件格式]
只是删除工作区文件,如需真正删除需要commit,也可以通过reset取消删除操作
2.10、忽略列表
用于去除无需交由Git管理的文件,在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件。
# 文件格式为.a的文件都去除
*.a
# 除了lib.a的文件都去除
!lib.a
# 当前目录下的TODO文件去除
/TODO
# 包括build目录下的所有文件去除
build/
# doc目录下以.txt文件格式的所有文件去除
doc/*.txt
# doc目录下以.pdf文件格式的所有问价去除(包括子包下)
doc/**/*.pdf
2.11、查看日志
git log
3、远程仓库操作命令
3.1、查看已经绑定的远程仓库(显示绑定的远程仓库的名字简写)
git remote
3.2、查看已经绑定的远程仓库(只显示绑定的远程仓库的名字及地址)
git remote -v
3.3、查看指定远程仓库的详细信息
git remote -show [远程仓库名称简写]
3.4、绑定远程仓库
git remote add [远程仓库名称简写] [远程仓库地址]
3.5、解绑远程仓库
git remote rm [远程仓库名称简写]
3.6、从远程仓库抓取到本地仓库(不会自动导入到工作区)
git fetch [远程仓库名称简写] [分支名称]
3.7、从本地仓库合并到工作区
git merge [远程仓库名称简写]/[分支名称]
3.8、从远程仓库拉取最新版本到本地仓库和工作区
git pull [远程仓库名称简写] [分支名称]
3.9、从本地仓库推送到远程仓库
git push [远程仓库名称简写] [分支名称]
4、分支操作命令
4.1、列出所有本地分支
git branch
4.2、列出所有远程分支
git branch -r
4.3、列出所有本地分支和远程分支
git branch -a
4.4、列出所有本地分支和远程分支
git branch -a
4.5、创建分支
git branch [分支名称]
4.6、切换分支
git checkout [分支名称]
4.7、合并分支
在A分支里操作,就是A合并B。
git merge [分支名称]
4.8、删除本地仓库分支
如果文件未推送到远程仓库,则会不允许删除,可以使用-D进行强制删除
git branch -d [分支名称]
git branch -D [分支名称]
4.9、删除远程仓库分支
如果文件未推送到远程仓库,则会不允许删除,可以使用-D进行强制删除
git push [远程仓库名称简写] –d [分支名称]