Git学习
1.版本控制系统分类
- 本地版本控制
- 集中版本控制:SVN
- 分布式版本控制:Git
2.Git和SVN的区别
1.SVN是集中式的版本控制系统,版本库是集中在中央服务器上的,而工作时,要从中央服务器得到最新的版本,然后工作,完成后将自己的代码推送到中央服务器,必须联网才能工作。
2.Git是分布式版本控制系统,没有中央服务器,每个人电脑就是一个完整的版本库,工作的时候不需要联网,Git可以直接看到更新了那些代码和文件!
- Git读取配置
#查看系统config,读取git/etc/gitconfig
git config --system --list
#查看当前用户配置,读取user/.gitconfig
git config --global --list
- Git配置用户名和邮箱
#配置用户名
git config --global user.name "XXXX"
#配置密码
git config --global user.email "xxxxx"
Git基本理论
工作区域
Git本地有三个工作区域:工作目录(working Directory)、暂存区(Stage/index)、资源库(Repository或Git Directory),远程Git仓库(remote Directory)
- Workspace:工作区,平时存放项目代码的地方
- index/Stage:暂存区,用于临时存放改动,事实上只是一个文件,保存即将提交的文件列表信息
- Repository:仓库区,就是安全存放数据的位置,里面有所有的版本数据,HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,
请添加图片描述
Git项目搭建
创建工作目录与常用指令
- 创建新仓库
# 在当前目录新建一个Git代码库
$ git init
- 克隆远程仓库
#克隆一个项目和它整个代码历史
$ git clone [url]
Git文件操作
文件4种状态
查看文件状态
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
#添加所有文件到本地暂存器
git add .
#提交暂存区的东西到本地仓库,-m表示提交信息
git commit -m "注释"
忽略文件
Git分支
#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但依然停留在当前分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/brance]