Git是什么?

  Git是目前世界上最先进的分布式版本控制系统。

它没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了

git 有三种级别的配置文件,分别是: 
       project level:对应 projectDir/.git/config 文件;设置命令为在项目根目录下执行 git config (no --global or --system). 
      global level: 对应 ~/.gitconfig 文件;设置命令为任意目录下执行 git config --global;只有在做了 git config --global 设置后 ~/.gitconfig 文件才会存在。 
      system level: 对应 /etc/gitconfig 文件;设置命令为任意目录下执行 git config --system (如果当前不是root用户,注意权限问题);只有在做了 git config --system 设置后 /etc/gitconfig 文件才会存在。

三种级别配置文件之间的关系是 project level 重写 global level,global level 重写 system level,参见:

http://www.codinginahurry.com/2011/02/05/three-levels-of-git-config/ 
所以,添加 --global 参数的 git config 修改的是全局的 git 配置文件 ~/.gitconfig,也就是说会对所有的项目有效的;如果只是想修改特定某个项目的 git 配置项,则在该项目根目录下执行不带 --global 参数的 git config 即可,此时修改的是该项目下的 .git/config 文件

常用命令: 
一般说的repo,都指的是current HEAD commit。 
config:

  1. # 查看当前的git配置项;如果出现了某个key(如user.name)重复出现的现象,是因为你在不同 level 的git配置文件中都设置了该key,前面的会被后面的重写掉,所以不用担心
  2. $ git config --list
  3. $ git config --global user.name "John Doe"
  4. $ git config --global user.email johndoe@example.com
  5. # 项目中文件权限的变更不作为文件被更改的判断依据
  6. $ git config --global core.filemode false
  7. #编辑当前项目对应的git配置文件 projectDir/.git/config
  8. $ git config -e
  9. #编辑 global level 的git配置文件 ~/.gitconfig
  10. $ git config --global -e
  11. #编辑 system level 的git配置文件 /etc/gitconfig
  12. $ git config --system -e
  13. $ git config --global core.editor "vim"
  14. $ git config --global merge.tool vimdiff
  15. # 配置 git push 的默认策略 (matching 和 simple 的区别 参见 http://stackoverflow.com/a/13148313/1635855)
  16. $ git config --global push.default simple
  17. $ git config --list

[Version Control]—— Git如何使用的更多相关文章

  1. Version Control/Git,SVN

    一.Version Control 1.什么是Version Control 版本控制(Version Control)是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置 ...

  2. Version Control&Git

    首先了解一下什么是版本控制: Version control (版本控制)是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一. 其次版本控制最主要的功能 ...

  3. Introduction of Version Control/Git, SVN

    什么是版本控制? 你可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照.当你需要查看一个之前的快照(称之为“版本”)时,版本控制系统可以显示出当 ...

  4. phpstorm clone 码云项目到本地 Version Control 不显示

    最近在用码云作为代码仓库,但是建了仓库,也填加了 SSH,把项目利用 phpstorm  VCS --> checkout from version control --> git 克隆到 ...

  5. xcode svn commit is not under version control (1) & git commit

    使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...

  6. Git&Version Control

    Git Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1]  Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...

  7. xcode svn commit is not under version control 和 git常用指令

    使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...

  8. Version Control,Git的下载与安装

    一.什么是Version Control(版本控制系统)?  ——来自百度百科 以Git为例,是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.Git 是 Linus ...

  9. 代码版本控制[version control]之Git

    如何多人协同开发同一个项目? 使用代码版本控制[version control]软件, 目前市面上比较流行的代码版本控制器有: git,svn,csv 1. 使用git管理代码版本 本项目使用git管 ...

随机推荐

  1. 2017.11.10 重读C++ Primer

    第二章   变量和变量类型 1. C++ 算数类型 bool                     布尔 最小尺寸未定义 char                     字符 8位 wchar_t ...

  2. PriorityQueue 源码分析

    public boolean hasNext() { return cursor < size || (forgetMeNot != null && !forgetMeNot.i ...

  3. PHP5.6 Dockerfile

    FROM centos COPY ["src","/src"] RUN groupadd -g 1000 www \ && useradd -u ...

  4. MySQL8.0 优化

    参考 https://dev.mysql.com/doc/refman/8.0/en/insert-optimization.html https://dev.mysql.com/doc/refman ...

  5. Shell 实践、常用脚本进阶

    1.备份单个文件 #!/bin/bash #备份单个文件 DATE=`/bin/date +%y%m%d` /bin/tar -czpf /backup/$1.$DATE.tar.gz /backup ...

  6. eclipse软件仿真操作

    1.编写程序代码(以SDRAM为例) 1.1 编写head.s汇编文件 .equ SDRAM_BASE, 0x30000000 .equ MEM_CTL_BASE, 0x48000000 .text ...

  7. ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails ()

    centos7.5 删除表空间文件失败 问题: mysql> alter table country discard tablespace; ERROR 1451 (23000): Cannot ...

  8. JavaScript 声明全局变量和局部变量

    JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量 ...

  9. linux shell中如何删除指定后缀名的文件?

    答: find . -name '*.txt' -delete 这条命令含义如下: 从当前目录开始查找以txt为后缀名的文件并删除掉

  10. P4512 【模板】多项式除法

    思路 多项式除法板子 多项式除法 给出\(A(x)\)和\(B(x)\),求一个\(n-m\)次的多项式\(D(x)\),一个\(m-1\)次多项式\(R(x)\),满足 \[ A(x)=B(x)D( ...