git命令--廖雪峰网站阅读笔记

269 阅读2分钟

很多小伙伴对git操作不是很熟练,如下是我通过阅读廖雪峰老师的网站进行的总结:

  1. 当提交代码时通过git add,git commit+注释的方式提交
  2. 版本回退
    • 通过git reset --hard HEAD可以回退到上一版本,HEAD表示当前的版本,上个版本为HEAD^,上上个版本为HEAD^^,网上100个版本为HEAD~100,
    • 通过git log查看历史版本的commit id,因为git内部有个指向HEAD的指针,所以回退版本会很快速。
    • 但是当你想要再退回到新版本的时候。。。,咋办呢?git有个操作git reflog用来记录你的每次命令,可以找到commit id进行操作
  3. 工作区和暂存区
    • 工作区:电脑里你能看到的目录
    • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。版本库中存放的是暂存区,git为我们创建的分支master,以及指向master的指针HEAD
    • git add命令是将文件添加到暂存区,git commit是将暂存区的所有内容提交到当前分支
    • 可以用git status查看工作区状态
  4. 可以使用git diff HEAD --+文件名查看工作区和版本库里面最新版本的区别
  5. 撤销修改git checkout --+文件名可以丢弃工作区的修改,两种情况:
    • 修改后还没有被放到暂存区,也就是没有add到暂存区,撤销修改就回到和版本库一模一样的状态
    • 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
    • 需要注意的是没有--,就变成了“切换到另一个分支”的命令
    • 用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区,git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
    • 如果从暂存区提交到了版本库,可以通过版本回退到上一个版本。不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。
  6. 删除文件
    • 当使用git add和git commit将文件提交到分支,需要删除文件时,可将文件手动删除,再通过git rm <file>git commit -m "remove <file>"从版本库删除该文件
    • 如果删错了,可以通过git checkout -- <file>将误删的文件恢复到最新版本。git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。