git命令

面试常考

Posted by Lan on September 22, 2020

撤销提交

    git reset –hard HEAD~1

修改提交

    git commit --amend

切换分支

    git checkout branckname

git fetch与pull

git pull=git fetch +git merge

cherry-pick

把某个分支的提交复制到另一个分支

rebase 和 merge

rebase是将当前开发分支(develop)的提交继承到主生产分支(origin master)上,并将当前分支作为主分支,并丢弃开发分支之前的提交。

rebase

git的HEAD,索引,工作树

  • HEAD 当前分支最后一次提交的指针
  • 索引 是个在 /.git/index,单一的、庞大的二进制文件,该文件列出了当前分支中所有文件的 SHA1 检验和、时间戳和文件名,它不是个带有文件副本的目录。
  • 工作树 源文件目录

    git stash

  • 有些修改不想提交,但又不想看到,或者夹杂在下次提交中,就可以用git stash存储在暂存区,下次需要可以再拿出来。
  • 一些常用命令
    • 提交到暂存区
        git stash
      
    • 从暂存区获取
        git stash pop
      
    • 查看现有到stash
        git stash list
      
    • 删除stash
        git stash drop STASH_NAME
      
    • 从stash创建分支
        git stash branch BRANCH_NAME