北纬36度
Git基本命令详解及示例.md

git_big_jb51jpg

1.Git设置签名

  • 项目/仓库级别
    1.范围
    只对当前的仓库有效
    2.命令
    git config user.name xx
    git config user.email xx@xx.co
  • 全局级别
    1.范围
    对当前登陆用户有效
    2.命令
    git config --global
  • 级别优先级
    就近原则:2者都有时采用项目级别

2.Git初始化仓库

  • 命令
    git init

3.Git查看状态

  • 命令
    git status
  • 工作区、暂存区、仓库区都无文件时状态
    Snipaste_20180723_162933png
  • 工作区、暂存区有文件、仓库区无文件时
    Snipaste_20180723_163151png
    Snipaste_20180723_164402png

4.Git删除暂存区文件命令

git rm --cached[file]
Snipaste_20180723_165121png

5.Git提交到仓库命令

git commit –m[信息][filename]

  • 工作区、暂存区、仓库区都有文件
    Snipaste_20180723_165635png
    Snipaste_20180723_165743png
    继续向文件中添加内容
    Snipaste_20180723_170530png
    此时Git status
    Snipaste_20180723_170107png

6.Git添加到暂存区

git add [file]
Snipaste_20180723_170504png

7.Git查看历史记录

7.1 最完整的形式

git log
Snipaste_20180723_172635png

多屏显示相关操作
1.空格向下翻页
2.b上翻页
3.q下翻页

7.2 简洁的形式

git log --pretty=oneline
Snipaste_20180723_172752png

7.3 更简洁的形式

git log --oneline
Snipaste_20180723_172823png

7.4 显示步数的方式

git relog
Snipaste_20180723_172848png
Snipaste_20180723_174108png

8.Git回退

8.1 回退本质

Snipaste_20180723_173044png

8.2 基于索引值回退

先查看历史记录
git reset [索引值]
Snipaste_20180723_172823png
Snipaste_20180723_174108png

8.3 使用^

git relog 只能查看以当前为起点的历史记录
git reset --hard head[^] ^ 回退几步就是几个^
Snipaste_20180723_174852png

8.4 使用~[n]

git reset --hard head[~n]

8.5 相关参数

Snipaste_20180723_175326png

[soft]参数 本地库移动指针
[mixed]参数 本地库移动head指针和重置暂存区
**[hard]**参数 本地库、暂存区、工作区重置

8.6 删除文件的找回

前提:删除之前,文件存在时的状态提交到本地库
操作:git reset --hard HEAD[指针位置]

  • 删除操作提交到本地库,指针位置指向历史记录
  • 删除操作尚未提交到本地库,指针位置直接使用HEAD

9.Git比较文件差异命令

  • 命令git dff [filename]
    git工作区和暂存区比较
    示例
    imagepng
    imagepng
  • 命令git dff [本地库中的历史版本][filename]
    将工作区中的文件和本地库历史记录作比较
    示例
    git diff HEAD [file] 或git diff head^ [file]
  • 不指定文件名的时候比较当前工作区中所有的文件
    示例
    git diff head或git diff

10.版本控制命令
版本控制中使用多条线同时推进多个任务
imagepng
同时并行推进多个功能开发
各个分支开发过程中,某分支开发分支不会对其他分支有任何映像

10.1 查看分支

git branch -v
imagepng

10.2 创建分支

git branch [分支名]
imagepng
imagepng

10.3 切换分支

git checkout [分支名]
imagepng

10.4 合并分支

git merger [要合并的分支] 要合并分支首先切换到主分支

示例

imagepng
imagepng

10.4 解决冲突

冲突的表现
会自动合并并标记冲突
imagepng

冲突的解决

  • 1.编辑文件,把文件修改到满意程度
  • 2.git add[文件名]
  • 3.git commit -m[]此时不需要加文件名