Git的基本使用方法

安装

下载官方网站最新版本:https://git-scm.com/downloads, 支持Windows,Linux/Unix,macOS系统。

Git配置

常用git配置

  1. 配置命令别名

可以给常用命令设置别名,提高使用效率。

别名的配置也使用config命令,比如给git status设置别名st

1
git config --global alias.st status

修改log显示效果:

1
git config --global alias.lg "log --color --graph --pretty=format:'%C(bold red)%h%C(reset) - %C(bold green)(%cr)%C(bold blue)<%an>%C(reset) -%C(bold yellow)%d%C(reset) %s' --abbrev-commit"
  1. 修改句尾换行设置 不同操作系统句尾换行设置不同,windows为CRLF(回车+换行,即\r\n),linux为LF(换行), macOS为CR(回车)。当文件在不同操作系统之间传递时可能引起乱码,windows系统需要修改autocrlf设置为true。

    1
    
    git config --global core.autocrlf true
  2. 配置默认文本编辑器

默认编辑器为vim,可更改为自己熟悉的编辑器。

1
git config [--system|global] core.editor emacs
  1. 配置差异分析工具 默认工具为git diff,可修改为其他工具:kdiff3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge、opendiff等等。

例如要改用vimdiff,可以这样设置:

1
git config [--system|global] merge.tool vimdiff

git配置文件

修改配置文件内容可以直接修改git环境变量。

git有三个级别的配置文件,可以使用git config工具来配置或读取相应的环境变量。

  1. 版本库级配置文件
  2. 位置:gitrepos/.git/config
  3. 配置仅对当前版本库有效
  4. 使用git config --local进行修改

  5. 全局配置文件

  6. 位置:C:/Users/xxx/.gitconfig (windows)

  7. 配置仅对当前用户有效

  8. 使用git config --global进行修改 0

  9. 系统级配置文件

  10. 位置:Windows系统为C:/ProgramData/Git,mac和Linux为/etc/gitconfig

  11. 配置仅对当前用户有效

  12. 使用git config --global进行修改

全局配置文件(C:/Users/xxx/.gitconfig)的一个简单模板:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[core]
    editor = \"C:\\Program Files\\Sublime Text 3\\subl.exe\" -w
[user]
    name = knightwupz
    email = wpzno1@126.com
[alias]
    lg = log --color --graph --pretty=format:'%C(bold red)%h%C(reset) - %C(bold green)(%cr)%C(bold blue)<%an>%C(reset) -%C(bold yellow)%d%C(reset) %s' --abbrev-commit
    co = checkout
    br = branch
    mg = merge
    cm = commit
    df = difftools
    mt = mergetool
    last = log -1 HEAD
    cf = config
    st = status

创建版本库(repository)

  1. 创建空文件

    1
    2
    
    mkdir learningGit
    cd learningGit
  2. 初始化git仓库

    1
    
    git init
  3. 添加文件 用编辑器创建文件readme.txt

    1
    2
    
    Git is a version control system.
    This repository is for my notes of learning Git.
  4. 提交评论

    1
    
    git commit -m "wrote a readme file"
  5. 查看提交记录

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    $ git log
    commit 046e987b8118c7845485889d3373d84f2fe7e893 (HEAD -> master)
    Author: knightwupz <wpzno1@126.com>
    Date:   Tue May 28 20:41:52 2019 +0800
    
    20190528修改版
    
    commit fd2ddbef702e7f736a8066ee49c940a16e04145d
    Author: knightwupz <wpzno1@126.com>
    Date:   Mon May 27 19:27:28 2019 +0800
    
    解决git的中文显示问题
    
    commit 4c7cc5dc24d45b1b8163664a39bf1ef84b19ee55
    Author: knightwupz <wpzno1@126.com>
    Date:   Mon May 27 18:42:59 2019 +0800
    
    first note
    
    commit df93cccc31b1d516d588bb5f2d38bef88586dffc
    Author: knightwupz <wpzno1@126.com>
    Date:   Mon May 27 18:41:32 2019 +0800
    
    wrote a readme file
  6. 查看版本库当前状态

使用git status命令查看版本库当前状态。

1
2
3
$ git st
On branch master
nothing to commit, working tree clean
  1. 查看文档修改内容

    1
    2
    3
    4
    5
    6
    7
    8
    
    $ git diff
    diff --git a/Git的基本使用方法.md b/Git的基本使用方法.md
    index 77fe77e..df5619f 100644
    --- a/Git的基本使用方法.md
    +++ b/Git的基本使用方法.md
    @@ -135,13 +135,18 @@ Date:   Mon May 27 18:41:32 2019 +0800
    
    # ……以下内容有所省略

参考文档

  1. 自定义-Git-配置-Git
  2. 廖雪峰Git教程