本地仓库由git维护的3棵树组成,一个是工作目录,即为当前正在操作的文件,一个是暂存区,它是一个缓存区域,临时保存你的改动,最后是head,指向你最新一次的commit。git commit 指的是将改动保存到head里。远程仓库跟head是一致的。
git pull = git fetch + git merge
git fetch: 将分支上的远程代码拉取到本地
git merge: 将当前分支上的代码和 指定的分支 上的代码,合并在一起,会产生一次新的merge commit
git rebase: 将当前分支上的代码复制一份,挪到指定的分支上。不会产生新的commit
git reset: 撤销某次或者几次commit,将当前分支的head指向设置的commit id,有soft和hard两种方式,soft会保留你的修改,而hard不会保留
git revert:
git cherry-pick: 将commitId对应提交的代码拉取到当前分支上
git branch -d branchName: 删除本地分支(已经merge了)
git branch -D branchName: 删除本地分支,(不管有没有merge)
git push --delete origin 分支名: 删除远程分支
git commit --amend: 修改上一次的commit message
git reset HEAD <file>: 如果利用git add . 将所有文件都添加到了暂存区,但是,需要从暂存区中撤掉某个文件,这个时候可以使用这个命令,例如:
git reset HEAD CONTRIBUTING.md
git 变基 https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
查看git命令解析时:
中括号[]:可有可无
尖括号<>: 例如:<path>: 替换<path>
小括号(): (a|b|c):小括号里的选项必须选一个