Git使用基本手册

1 基本配置

1.CentOS7 一般默认安装了 git,可以通过如下命令查看:

$ rpm -qa git
git-1.8.3.1-13.el7.x86_64

2.如果没有安装,则可以使用通过 yum 安装:

$ yum install git -y

3.git 配置文件的使用有如下几种,可通过下面命令查看:

$ git config
usage: git config [options]

Config file location
    --global              使用全局配置文件
    --system              使用系统级配置文件
    --local               使用版本库级配置文件
    -f, --file <file>     使用给定的配置文件

4.配置使用git的用户 邮箱 语法高亮:

$ git config --global user.name ‘leon‘
$ git config --global user.email ‘‘
$ git config --global color.ui true

5.查看配置:

$ git config --list
user.name=leon

color.ui=true

$ cat .gitconfig 
[user]
        name = leon
        email = 
[color]
        ui = true

2 git 初始化

1.初始化:

$ mkdir /gitdir
$ cd /gitdir
$ git init
Initialized empty Git repository in /gitdir/.git/

2.查看状态:

$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

3.初始化完成后在工作目录下会生成一个名为.git的隐藏文件夹,该文件夹下目录说明如下:

$ ls .git/ | xargs -n1
branches	# 分支目录
config		# 定义项目的特有配置
description	# 描述
HEAD		# 当前分支
hooks		# git 钩子文件
info		# 包含一个全局排除文件(exclude)
objects		# 存放所有数据,包含 info 和 pack 两个子文件夹
refs		# 存放指向数据(分支)的提交对象的指针
index		# 保存暂存区信息

3 基本命令

1.在工作目录创建测试文件:

$ touch a b c

2.提交文件到暂存区:

# 提交指定文件
$ git add a
# 提交所有文件,也可使用 * 代替 .
$ git add .

3.撤回提交到暂存区的文件:

# 撤回指定文件
$ git rm --cached a
rm ‘a‘

4.删除提交到暂存区的文件:

# 先从暂存区撤回到工作区,然后直接删除文件
$ git rm --cached c
$ rm -f c
# 直接同时删除工作目录和暂存区的文件
$ git rm -f b

5.提交当前暂存区的所有文件到本地仓库:

$ git commit -m ‘commit a‘

6.重命名已提交到本地仓库的文件:

# 手动修改
$ mv a a.txt
$ git rm --cached a
$ git add a.txt
$ git commit -m ‘rename a to a.txt‘
# git 修改,把工作区和暂存区的文件同时修改
$ git mv a.txt a
$ git commit -m ‘rename a.txt to a‘

7.比对工作目录的文件和暂存区文件内容的异同:

$ echo 111 > a
# 工作目录的文件和暂存区文件内容不同了
$ git diff

8.比对暂存区和本地仓库的文件内容的异同:

# 此时暂存区和本地仓库内容相同
$ git diff --cached
# 提交到暂存区
$ git add a
# 此时暂存区和本地仓库内容不同了
$ git diff --cached

9.同时将文件添加到暂存区并提交到本地仓库:

$ git commit -am "add newfile"

10.查看当前版本及之前提交日志:

# 多行显示详细信息
$ git log
# 一行显示简要信息
$ git log --oneline
# 显示当前所在分支及版本
$ git log --oneline --decorate
# 显示提交的具体内容
$ git log -p
# 显示最近提交的 2 条内容
$ git log -2
# 查看指定提交记录的详细内容
$ git log 6ef6282 -p

11.回滚到指定版本:

# 这里 744a169 是通过 git log --oneline 查看到的版本号
$ git reset --hard 744a169

12.查看所有版本(包括当前版本之后)提交日志:

$ git reflog

4 分支

1.创建分支:

$ git branch testing

2.查看所有分支及当前所在分支:

$ git branch

3.切换到指定分支:

$ git checkout testing

4.合并指定分支到当前分支:

$ git merge testing

5.删除指定分支:

$ git branch -D testing

6.同时创建并切换到指定分支:

$ git checkout -b testing

5 标签

1.创建标签:

# 给当前版本打标签
$ git tag -a v1.0 -m ‘init v1.0‘
# 给指定版本打标签
$ git tag -a v0.4 718c699 -m ‘init v0.4‘

2.查看标签:

# 查看所有已打标签
$ git tag
# 查看指定标签详细信息
$ git show v1.0

3.回滚到指定标签:

$ git reset --hard v0.4

6 github 远程仓库

1.在 github 创建仓库,复制仓库的 ssh 链接,执行下面命令添加远程仓库:

$ git remote add origin :pingface/git_data.git

2.如果添加成功,则可通过下面命令查看到已添加的远程仓库:

$ git remote

3.设置免密推送,需添加公钥到远程仓库:

$ ssh-keygen 
# 将公钥内容复制到 github 的 Settings -> SSH AND GPG keys 页中 SSH keys 下
$ cat .ssh/id_rsa.pub

4.推送当前主分支到远程仓库:

$ git push -u origin master

5.下载远程仓库的代码:

$ git clone :pingface/git_data.git