Git 简介
版本控制:版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
版本控制工具:Git、SVN、CVS、VSS、TFS
版本控制分类:
- 本地版本控制:记录文件每次的更新,对每个版本做一个快照。
- 集中式版本控制:所有的版本数据都保存到服务器上,协同开发者从服务器上同步更新或上传自己的修改。(SVN)
- 分布式版本控制:所有的版本信息仓库同步到本地每个用户,可以离线本地提交,联网同步到服务器或其他开发者电脑上。(Git)
Git和SVN的主要区别:
- SVN 是集中式版本控制系统,版本库是存放到中央服务器上,工作的时候需要先从服务器上得到最新的版本,工作完成推送到服务器,集中式版本控制系统需要联网才能工作。
- Git 是分布式版本控制系统,没有中央服务器,每个人都有完整的版本,工作的时候不需要联网。Git是目前世界上最先进的分布式版本控制系统。git 是使用C语言编写。
一、Git 基本理论
1、git四个工作区:
- 工作目录
- 暂存目录
- 资源库
- 远程git 仓库
git的工作流程:
- 1、在工作目录中添加、修改文件
- 2、将需要的版本管理文件放入暂存区域
- 3、将暂存区域的文件提交到git仓库
git安装后设置的命令:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
生成公钥:ssh-keygen -t rsa
git 常用命令:
初始化一个项目:git init
克隆一个项目:git clone [url]
查看指定文件状态:git status [文件名]
查看所有文件状态:git status
添加文件到暂存区:git add <file-name>
添加所有文件到暂存区:git add .
添加暂存区中的内容到本地仓库:git commit -m <message>
推送到远程服务器:git push
查看具体改变的位置:git diff
显示从最近到最远的提交日志:git log
版本退回:git reset
记录每一次命令:git reflog
删除文件:git rm
恢复删除的文件:git checkout -- <文件名>
分支常用命令:
列出所有本地分支:git branch
列出所有远程分支:git branch -r
新建一个分支,依然停留在当前分支:git branch [branch-name]