git基础--git是什么,基本命令

 git是一个分布式的代码版本管理系统。有三个分区:

1.git仓库。2.工作目录。3.暂存区。

先配置你的信息,

git help config查看配置帮助

git --help查看帮助

配置信息:

 $ git config --global user.name "erasec1994"

 $ git config --global user.email 360495388@qq.com

表示往该仓库提交代码的人的信息,因为是分布式,所以有必要做区分。

(global表示无论在那里新建仓库,向仓库提交文件,都是以这个账户作为用户信息保存。)

 $ git config -l 可以查看你的配置信息。l 表示list

也可以查看指定一项目:

 $ git config user.name

 $ git config -e 表示修改配置文件  git config --global表示全局

建立仓库:

到e:盘建立一个文件,作为本地的仓库。

mkdir test就可以在本地新建一个文件夹

cd test  进入当前目录中的文件夹test。

之后git init就可以得到一个新的git仓库。 

(如果要回到上一层目录,cd ..   就可以了)

(ps:当然也可以从通过一个远程仓库地址,克隆到本地,从而得到一个git仓库)

(命令:git clone url 文件夹名。)

有了git仓库后,可以开始工作了!现在为git仓库目录中创建一个readme

(直接在git目录下新建即可!)

现在可以查看我git仓库的状态,是否多了一个文件

$ git status 

on branch master在主分支上

untracked:表示是一个未被监视的文件。一般在本地git目录新创建的文件都是这个状态

untracked这个状态是最元素的状态,上面提示我们 git add file 添加到暂存区。

git add. 表示将该文件夹中的文件添加到暂存区,当然,也可以指定添加单个 git add file

changes to be committed表示在暂存区保存了该文件的提交状态,正待被提交commit。

 $ git rm --cached readme.txt

可以看出,文件回到了之前的untracked 状态,表示在暂存区保存该文件快照。

 

 

在changes to be committed这个状态上,修改文件。下面出现了一个红色的文字 moffied。

上面开头说明changes not staged for commit表示文件已经被修改了,但没有加入暂存区(没有add)

如果现在进行commit 操作,表示只提交暂存区的,你后面更改的未提交,并不会被提交。

现在把修改后的也添加到暂存区,并提交,这样就完成了一次提交。

git commit -m "信息"    -m表示message,表示这次提交了什么内容,为每次提交提供一个参考信息。

再回来看git status表示 没有东西可以提交,工作目录是干净的。

由于git status 提供的信息十分详细,所以有个命令,提供简要有效的信息

$ git status -s    -s表示short

这里的两个问号??表示untracked file 前面有说明,一般新添加的文件都是这个状态,新来到git库的成员。

现在把add到暂存区,两个问号也变成了绿色的A,表示已添加到暂存区了。

现在,在已添加到暂存区上的文件修改一下(随便添加或删除什么都可以)

发现变成了AM,现在add . 添加到暂存区,并且commit提交。

提交后,可以看到,第一次git status没有变化,然后我修改了commit后的文件

会出现一个M,现在可以知道M就是修改过的,但是未被添加到暂存区。

当然,也需要git add . 变成状态A,再提交。

总结一下,有三个状态

??:表示新文件,未被跟踪。

A:表示已添加到暂存区

AM:表示添加到暂存区了,但是有个已修改的状态,如果这是进行提交,之后提交暂存区的快照,所以要注意。

M:单独的M,表示没有提交到暂存区,只是单纯的修改状态,需要提交到暂存区。

 

 

如果想知道具体修改了哪些地方,可以使用 git diff。

比较的是当前工作目录和暂存区的快照直接的差异。也就是已经提交的commit和暂存区的差异。

rm 文件名等同于手工在工作目录删除文件,会出现MD状态,M是修改,D是删除。

git rm 文件名  表示从暂存区中移除已经删除掉已经被删除的文件了,就不会在下次add的时候提交该文件的版本。

 git rm --cache "文件名"  表示移除指定文件的暂存区状态,如果一个文件已经添加到暂存区了

git rm --cache就可以移除该文件在暂存区的快照,从而回到了untrack未被跟踪状态。

posted @ 2016-07-18 17:06  chenyuru  阅读(769)  评论(0编辑  收藏  举报