git基础操作

git的原理

git基础操作

  • 涉及到的指令
  1. 将文件从工作目录导入暂存区
git add.  
git add  文件名

注:.代表该目录下所有文件
2. 将文件从暂存区导入本地仓库

git commit -m"修改内容"

3.将文件从本地仓库上传到远程仓库

git push -u"修改内容"
  1. 将文件从暂存区移除
git rm --cached 文件名

git文件状态、

  • 建立仓库及相关操作
  1. 建立仓库
git innt 仓库名
  1. 进入仓库
cd 仓库名
  1. 创建文件
touch 文件名
  1. 编辑文件
vi 文件名
  1. 显示文件内容
git cat-file
  1. 查看文件暂存内容
git stash list
  1. 将文件暂存的内容应用
git stash
  • 查看及比较各区域状态
  1. 查看工作目录状态
git status
  1. 比较工作目录与暂存区差别
git diff
  1. 比较工作目录与本地仓库的区别
git diff HEAD
  1. 比较暂存区与本地仓库的区别
git diff --cached

git分支

  • 关于分支
    分支是一种文本文件,文本文件的内容即是所对应commit的哈希值,文本文件的名字即是分支的名字。
    分支文件一般存储在.git/refs/heads中
  1. 新建分支
git branch 分支名
  1. 查看当前分支
git branch
  1. 切换分支
git checkout 分支名
  1. 分支合并
    运用git checkout切换至准备合并的分支后
    输入git merge 该分支名
  • 查看提交历史
git log
git log --oneline

注:第二种只能查看哈希值

  • 例图 git基础操作
    注:在实际使用时可使用soursetree使分支更直观

关于文件保存和恢复进度

  • 保存当前工作进度,会把暂存区和工作区的改动保存起来
git stach
  • 显示保存进度的列表
git stach list
  • 恢复最新的进度到工作区
git stash pop
  • 除了不删除恢复的进度之外,其余和git stash pop 命令一样
git stash apply
  • 删除一个存储的进度
git stash drop
  • 删除所有存储的进度
git stash clear

关于reset

  • 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件
git reset (–mixed) HEAD~1 
  • 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件
git reset –soft HEAD~1 
  • 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
git reset –hard HEAD~1 

关于cherry-pick

将一个新提交引入分支中,在工作中可以大大提高github的效率

关于revert

  • 撤销前一次 commit
git revert HEAD 
  • 撤销前第二次 commit
git revert HEAD^
  • 撤销指定id
git revert commit id