这篇文章写得是git的使用相关知识,包括命令行,使用流程,过程中的处理等等,关于使用,可以跟着一步步的做下来
上文已经提到git有三种状态,已提交(committed),已修改(mofified),已暂存(staged)
相应的有三个区域:git仓库(Repository),工作目录(work DIrectory),暂存区域(staging)
可以再解释一遍:
git仓库:是保存项目原数据和对象数据库的地方,也就是克隆时的文件
工作目录:就是某一个拉取下来的某个版本,用于在本地进行使用或修改
暂存区:保存下次将提交的信息
当推动master时才是远程仓库的提交
一、获取git仓库
1.在创建的文件下初始化git仓库,会默认创建一个.git的隐形文件(最好不要动这个文件)
$ git init
如果该文件中已有文件,应该跟踪和提交则运行如下:
$ git add Item //跟踪文件 (可以理解为将mySelfs Item放入仓库(前提是仓库有这个文件夹)不然会报错)
$ git commit -m '备注修改信息' //提交
注意:这只是初始化仓库,文件并没有被跟踪
2.在服务器克隆现有的仓库,本地文件夹就会下载所有文件
$ git clone [url] +自定义文件名 //远程仓库的地址
二、记录每次更新到仓库
注意:
初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态
工作目录下的每一个文件就只有两种状态,已跟踪和未跟踪,
所有被纳入版本库的都是已跟踪文件
三、检查当前文件状态
$ git status
文件状态解释:
(1)如果在克隆之后立即使用此命令会看到
$ git status
On branch master //分支名是master,这个分支同远程服务器上对应的分支没有偏离
nothing to commit, working directory clean //没有修改过,也没有未跟踪文件
四、跟踪新文件
在仓库中建立一个新文件:
比方说 远程克隆的ydfqxin.github.io
再运行 $git status ,结果如下==》ydfqx.github.io文件未跟踪
此时运行:
$ git add ydfqxin.github.io //跟踪文件
结果如下:
只要在changes to be committed下面,都是已暂存文件,(可以了解为已修改等待提交)
注意:git add 参数如果是路径,就会跟踪这个路径下的所有文件
五.暂存已修改文件
如上:我修改了项目中index.html文件中的某处(即修改一个已跟踪的文件),再运行$ git status ,结果入下
changes not staged for commit :下面的文件 说明已跟踪文件做了修改,但是没有放到暂存区
对已修改文件进行暂存,运行:
$ git add +文件
注意:$git add 命令 多功能:
可以跟踪文件,
可以暂存文件,
还可以用于合并时把有冲突的文件标记为已解决状态
运行暂存结果如下,下次提交会一并记录到仓库: