一、Git基本工作流程
1.初始化一个仓库
git init
git clone
git仓库分为两种情况:
第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器克隆一个现有的 Git 仓库
git init –bare git 创建一个裸仓库
2.git仓库有三个区域
工作区working directory日常编辑代码的地方
历史仓库history repository是commit指向的一个树形结构
暂存区Staging area相当于是工作区与历史提交中间的缓存,它代表着是你要提交代码的一个工作状态,它维护的是一个虚拟的树形结构
讲述完了git的区域,接下来讲解下git文件的状态,其实git的状态无外乎两种:已跟踪和未跟踪,已跟踪的文件说明的是被纳入版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
讲解下文件变化周期,比如我们在项目中添加了一个文件a,这时候文件a处于的状态则是Untracked未跟踪状态,当我们git add的时候这时候就会将文件放到暂存区中这时候状态变为Stage,当我们commit这个暂存区的文件后这个文件就变成未修改状态,因为没有进行修改过了相对于版本控制中的文件,当我们修改了a文件后这时候从unmodified变成modified(修改状态),这是再git add的时候就会将修改的文件变成stage,放入暂存区用于等待commit。
接下来就详细讲解下这些命令:
往暂存区里面添加东西使用如下git指令
git add
从暂存区提交到历史记录使用如下指令
git commit
查看工作区和暂存区之间的区别,来确保提交时我们所需要的呢?
git status
从暂存区里面删除内容
git rm
工作区内重命名文件或者移动文件,然后再把他们添加到暂存区
git mv
确保工作区内里面不需要的文件不被添加进去添加到暂存区和历史。
.gitignore
实例讲解:
新建一个仓库
git init git_init
cd git_init
touch a //新建a文件
git add a //将a添加到暂存区
git status会显示我们要提交的内容a文件,这时候a两个文件都是Changes to be committed也就是待commit的状态。
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)
new file: a
git commit -m “initial commit”//提交a文件到版本控制中。
touch b新建文件b
git add b //将b放入暂存区中</