我在北纬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[]此时不需要加文件名