学习 Git实用教程

Posted by YN Blog on June 3, 2020

初次使用Git前的配置

  • 在命令行模式里输入以下命令:
git config --global user.name "用户名" 
git config --global user.email "邮箱"

接下来使用:

git list

查看配置是否成功

理论基础

  • Git 记录的是什么 Git将每个版本独立保存
  • 三棵树 工作区域、暂存区域和Git仓库
  • Git 的工作流程
    1. 在工作目录中添加、修改文件
    2. 将需要进行版本管理的文件放入暂存区域
    3. 将暂存区域的文件提交到Git仓库
  • Git管理的文件有三种状态:
    1. 已修改(modified)
    2. 已暂存(staged)
    3. 已提交(committed)

实战

  • 初始化文件夹:
    git init
    
  • 将文件提交到暂存区域
    git add . 或者 git add 文件名
    
  • 将文件提交到仓库:
    git commit -m "变更信息或者说明"
    
  • 将工作目录的文件放到Git仓库只需两步:
    1. git add 文件名
    2. git commit -m “你干了啥”

查看状态

git status
  • 将最近一次的暂存区域恢复
    git reset HEAD
    
  • 恢复上次更改的内容(当前工作的内容被覆盖)
    git checkout --FILE
    
  • 查看历史提交记录
    git log
    

回到过去

alt png

alt png

  • 回到上一个快照
git reset --mixed HEAD~(上上级~2(几级就是数字几))

reset 命令的选项

  • git reset –mixed HEAD~
    1. 移动HEAD的指向,将其指向上一个快照
    2. 将HEAD移动后指向的快照回滚到暂存区域
  • git reset –soft HEAD~

    1. 移动HEAD的指向,将其指向上一个快照
  • git reset –hard HEAD~ 1.移动HEAD的指向,将其指向上一个快照 2.将HEAD移动后指向的快照回滚到暂存区域 3.将暂存区域的文件还原到工作目录
  • 不仅可以往回滚,还可以往前滚

    1. git reset 版本快照的ID号

alt png

比较暂存区域和工作目录

git diff
  • 比较两个历史快照
    git diff 快照ID1	快照ID2
    
  • 比较当前工作目录和暂存区域内的快照
    git diff --cached 快照ID
    

    修改最后一次提交

  • 在实际开发中,你可能会遇到以下两种情景:
    1. 情景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add)。
    2. 情景二:版本刚一提交(commit)到仓库,突然想起版本说明写的不够全面,无法彰显你本次修改的重大意义……
  • 执行带 –amend 选项的commit提交命令。Git就会”更正”最近一次提交。
    git commit -amend -m ""
    
  • 将暂存区的文件恢复到工作目录
    git checkout -- filename
    
  • 删除暂存区的文件
  • 该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下次提交时不纳入版本管理。
    git rm filename
    

    强制删除暂存区和工作区的文件

    git rm -f filename
    

    重命名文件

    git mv oldfilename newfilename
    

    Git分支

alt png

其他版本控制系统的分支

创建分支

git branch 分支名称
  • 创建并切换到分支
    git checkout -b 分支名
    

    切换分支

    git checkout 分支名
    

    查看log

    git log --decorate --oneline(一行显示一个)
    
  • 实际开发中的分支

alt png

合并分支

git merge 分支名称

删除分支

git branch --delete 分支名