https://www.cnblogs.com/zhangyinhua/p/8099185.html
一、Git的工作区、暂存区和版本库之间的区别和联系
1)工作区
在PC中能看得到的创建的一个管理仓库的目录。比如目录下GitTest里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
2)版本库(repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个
指针叫HEAD。
3)联系
在初始化git版本库之后会生成一个隐藏的文件 .git ,可以将该文件理解为git的版本库 repository,而我们自己建立的项目文件夹即工作区 working directory ,
在.git 文件夹里面还有很多文件,其中有一个index 文件 就是暂存区也可以叫做 stage ,git还为我们自动生成了一个分支master以及指向该分支的指针head。
从图中可以看出来respository包括分支master和stage, working diretory 可以理解为我们打开开发环境如eclipse,里面的内容即工作区的内容,在工作区里面
有的代码以及配置文件等我们需要提交到版本库里面,最终是到了分支master上面,暂存区只是一个临时保存修改文件的地方。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是:用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是:用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
4)编写一个Demo
我们在lance.txt再添加一行内容为eeeeee,接着在目录下新建一个文件为fosun.txt 内容为test,我们先用命令== git status==来查看下状态,如下:
现在我们先使用git add . 命令把2个文件都添加到暂存区中,再使用git status来查看下状态,如下:
注意:当在工作去修改了文件或者新建了文件没有加入到暂存区去时,使用git status显示的是红色的。加入到之后是绿色的了。
接着我们可以使用git commit一次性提交到分支上,如下:
二.Git和GitHub的关联
git remote add origin “远程仓库地址”
关联后才能拉取pull和提交push到远程仓库
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。
git push -u origin master
第一次推送master分支时,由于远程库是空的,加上了 –u参数,
Git不但会把本地的master分支内容推送的远程新的master分支,
还会把本地的master分支和远程的master分支关联起来,
在以后的推送或者拉取时就可以简化命令。