git基础一

一,git配置文件 设置用户信息

  安装git之后,第一步就是设置用户信息;目的是告诉仓库属于哪个用户;如果不设置用户信息,在执行git commit命令时将会报错并提示设置用户信息;

  Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量;

  这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

    • /etc/gitconfig 文件:

       系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。

    • ~/.gitconfig 文件:

        用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。

    • 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):

       这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

  1) 全局设置 git config --global

      全局设置用户信息后,会在用户主目录下( ~/ )生成.gitconfig配置文件,保存了用户信息;

git config --global user.email "xx@xx" //设置邮箱
git config --global user.name "xx"     //设置用户

   注意: 在执行这两条命令后会在系统主目录下生成.gitconfig配置文件

  2) 局部设置 git config  

      如果不同的仓库使用的用户信息不同,可以局部设置;

    局部设置后,用户信息保存在当前仓库文件夹下的.git/config文件中;

git config user.email  "xx@xx" 
git config user.naem   "xx"

  用户配置信息

    1)查看配置信息

//第一种
   git config --list // 命令行方式
//第二种
   编辑器打开~/.gitconfig文件(全局设置)  或者  .git/config文件(局部设置)

    2)默认编辑器

git config --global core.editor vim //全局设置
git config core.editor vim  //局部设置

 二,基本命令git init 、git add、git commit、git status、git diff

  1.创建版本库
    I)使用 git init将当前目录初始化成git仓库

git init

    此时在该目录下会出现.git目录,表明该目录是git仓库

  2.将文件添加到暂存区、版本库
    I)git add 
      将文件添加到暂存区,并对文件建立跟踪

git add file1,file2 //添加文件到暂存区,一次可以添加多个文件

    II) git commit -m xxx   ( -m 参数后面需要跟随文字说明,用于阐释提交情况)

      将暂存区的文件添加到版本库

git commit -m "" //将暂存区的文件提交到版本库

   3.查看工作区、暂存区文件状态

git status

  4.查看文件前后的改动

git diff file1

  只有满足以下条件,才能使用:

    I) 文件位于工作区
     比如,abc.html 文件修改了,停留在工作区;没有使用git add 跟踪,进入暂存区就不行了
   
    II) 文件发生了修改

三,git仓库目录结构以及几个重要概念

  目录结构

  重要概念

    仓库、工作区、暂存区、版本库、master、HEAD等

    新建目录,使用git init                                 ------------ 此时该目录就是仓库

    仓库中有两个部分,.git目录/.git目录以外的区域 ------------ .git目录:版本库;以外的地方:工作区
    版本库中,包含很多:暂存区,masster分支

    注意:master分支是git自动生成的,head是指针,指向master分支某一个版本

    工作区,暂存区

      1)新建的文件/修改的文件, 位于工作区

      2)执行git add ,建立跟踪,文件进入暂存区

      3)执行git commit,缓存区文件提交到master上,HEAD指向节点
 

 参考:

  http://www.cnblogs.com/wanqieddy/archive/2012/08/03/2621027.html

原文地址:https://www.cnblogs.com/RocketV2/p/5379902.html