Git入门
1.1 简介
免费、开源、分布式的一款版本控制系统。
集中式版本控制(如CVS,SVN)版本被中央服务器集中管理,分布式版本控制系统中各节点地位同等,每个工作机都拥有项目的所有版本。
1.2 版本库本质
版本库本质是一个高效的数据存储结构,由以下部分组成:
⭕️文件(blob)文本、二进制数据等;
⭕️目录(Tree)保存与文件名向关联的内容,也包含目录;
⭕️版本(commit)每一个版本所定义的都是相应的目录的某个可恢复的状态,每当创建一个新的版本,其作者、时间、注释以及其之前的
本都将会保存下来。
1.3 初次使用
首先,我们需要下载安装,地址如下:
初次安装后使用,git会要求我们配置用户名和邮箱,使用如下命令配置:
git config --global user.name 'your username';
git config --global user.email 'your email';
创建版本库,进入我们进行版本管理的项目目录,通过init命令创建版本库
$ cd /Users/cesar/Documents/study/git/
$ mkdir first-git-prj
$ cd first-git-prj/
$ git init
Initialized empty Git repository in /Users/cesar/Documents/study/git/first-git-prj/.git/
$ ls -a
. .. .git
创建完成后,项目目录中多了一个名为".git"的隐藏文件夹,用于存储项目的历史版本信息
提交文件,使用add命令指定加入下次提交的文件,commit命令将文件提交至本地版本库
$ git add bar.txt foo.txt
$ git commit
$ git commit --message "commit bar.txt,foo.txt文件"
[master (root-commit) 4861a62] commit bar.txt,foo.txt文件
2 files changed, 2 insertions(+)
create mode 100644 bar.txt
create mode 100644 foo.txt
使用commit 命令提交需要带 --message 参数,填写提交说明,否则会提交失败,并出现如下提示:
Please enter the commit message for your changes. Lines starting
检查状态,我们现在进行如下操作后(修改bar.txt,删除foo.txt,新建baz.htm),使用status命令查看上次提交以来所有的操作状态

baz.html标记成了未跟踪状态
比较文件内容修改的差异 , diff 命令
1. git diff [filename]: 不带参数比较工作区与暂存区所有差异文件

查看操作日志,git log
克隆副本, git clone
![]()
取回修改,git pull [remote] [branch]
不带参数的pull命令只在克隆版本库中有效,因为只有克隆体中有默认的原版本库链接
原版本库从克隆体取回:
$ git pull ../first-git-prj-clone/ master
共享版本库,git clone --bare
通常通过git clone --bare 创建一个不带工作区的版本库(裸版本库)作为共享版本库,用于开发者之间传递交互文件
上载修改,git push
上载只适用于向共享版本库上载: git push ../first-git-prj-clone-bare/
命令提炼:
git init :创建版本库
git add :将修改或新增文件纳入下次提交(暂存区)
git commit: 提交到版本库
git status: 查看当前修改的文件的状态(新建、删除、add\commit等)
git log : 查看提交记录
git rm : 对删除的文件执行rm命令,使删除操作记录版本库,方便恢复文件
git clone:克隆版本库
git clone --bare :克隆共享版本库(裸版本库)

浙公网安备 33010602011771号