git实用教程

第一章 git是个什么玩意?

版本控制

安装
下载

初次使用Git前的配置(注意)
git config --global user.name " 用户名"
git config --global user.email "邮箱"

第二章 理论基础

1 git记录的是什么

git是将每个版本独立保存

2 三个文件

工作区域 WorkingDirdctory
暂存区域 Stage(index)
git仓库 Repository

Git的工作流程

1 在工作目录中添加、修改文件
2 将需要进行的版本管理的文件放入暂存区域

git add filename
  1. 将暂存区域的文件提交到Git仓库
git commit -m  "提交说明"
Git管理的文件有三种状态
  • 已修改(modified)
  • 已暂存(staged)
  • 已提交(committed)

第三章 查看工作状态和历史提交

查看状态

git status

通过提示,写相应的操作
(提示里有相应的操作指令)
例如
场景一
你修改了工作区的文件,没有添加到暂存区


QQ截图20170802152018.png

git add 就是告诉你提交到暂存区
git checkout -- 就是把暂存区的文件覆盖到工作区(危险)
场景二
添加到了暂存区,然后修改了工作区文件

git实用教程_第1张图片
QQ截图20170802152905.png

绿色指的是暂存区的操作
红色指的是工作区的操作

查看历史提交

git log

题外:LICENSE文件是版权声明用

第四章 回到过去

reset 和 checkout

git实用教程_第2张图片
QQ截图20170802154355.png

快照>版本

回滚

reset命令的选项
git reset --mixed HEAD~ (默认 --mixed可以不用写)

- 移动HEAD的指向,将其指向上一个快照
- 将HEAD移动后指向的快照 回滚到暂存区域

git reset --soft HEAD~

- 移动HEAD的指向,将其指向上一个快照 
//场景  修改一次错误的commit

git reset --hard HEAD~ (危险)

- 移动HEAD的指向,将其指向上一个快照
- 将HEAD移动后指向的快照回滚到暂存区域
- 将暂存区域的文件还原到工作目录
回滚指定快照

git reset 版本快照的ID号

回滚个别文件

git reset 版本快照 文件名/路径

往前滚

git reset 版本快照的ID号

第五章 版本对比

终端命令 mkdir 文件夹名 创建文件夹

比较暂存区域与工作目录

git diff

git实用教程_第3张图片
QQ截图20170802162928.png

a是暂存区文件
b是工作区文件
---表示没有变化
+++表示变化
+绿色 新加的
白色 是共有的

移动指令
j键 上移动一行
k键 下移动一行
f 下一页
b 上一页
d 半页
u 半页
3g 跳到哪一行
搜索
/ 关键词
q 是退出

比较两个历史快照

git diff 快照ID1 快照ID2

比较当前工作目录和Git仓库中的快照

git diff 快照ID(HEAD当前)

比较暂存区和Git仓库中的快照(不加id为当前 )

git diff --cached 快照ID

git实用教程_第4张图片
终极密图

第六章 修改最后一次提交,删除文件和重命名文件

  • 修改最后一次提交
    场景一:版本刚一提交(commit)到仓库,突然 想起漏掉两个文件还没有添加(add)c
    场景二:版本刚一提交(commit) 到仓库,突然想起版本说明定得不够全面,无法彰显你本次修改的重大意义。。。
    执行带 --amend 选项的提交命令,Git应会“更正”最近的一次提交。
    git commit --amend
    进入一个编辑区
    i 键 插入
    :+q +!退出不保存
    esc +shift +z+z 保存退出

  • 删除文件 (彻底删除一个文件)
    1 git rm 文件名

    • 该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下次提交时不纳入版本管理
    • 当工作目录和暂存区域的同一个文件存在不同内容时,执行git rm -f 文件名 命令就可以把两个都删除
    • 如果只删除暂存区域的文件(保留工作目录的),那么可以执行 git rm --cached 文件名 命令实现 目的
      回到过去
      2 git reset --soft HEAD~
  • 重命名文件
    git mv 旧文件名 新文件名

第七章 Git分支

git实用教程_第5张图片
QQ截图20170803085221.png
  • 创建分支
    git branch 分支名
    git log --decorate 打印提交的所用引用 (指针)
  • 切换分支
    git checkout 分支名
    git log --decorate 打印当前的所用引用 (指针)
    git log 只打印当前分支的版本
    git log --decorate --oneline --graph --all
    --oneline 精简版
    --graph 图形的形式
    --all 所有版本

第八章 合并和删除分支

git实用教程_第6张图片
QQ截图20170803091421.png
  • 合并分支
    git merge 分支名 将指定的分支合并到当前的分支来
    冲突(conflicts): 两个分支中,存在同名的文件,但是文件的内容却不同,git不知道 你要舍弃哪个,保留哪个 ,
    可以打开文件修改,git在文件作的两个分支不同的注释,然后add commit , 再合并
  • 删除分支
    gitf branch -d 分支名

第九章 匿名分支和checkout命令

  • checkout命令

你可能感兴趣的:(git实用教程)