git命令总结

96 阅读3分钟
  1. HEAD:表示当前分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。
  2. git reset --hard HEAD^ / git reset --hard HEAD~100 :回退版本,然后新的版本会丢失。
  3. git reset --hard 【commit的版本号】:重新回到新版本。使用git reflog可查看所有操作历史。
  4. git checkout 【file】:撤销工作区的文件修改。对比方法是拿工作区的内容和仓库区(包含暂存区和版本库)的内容进行对比。git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
  5. git reset HEAD 【file】:把暂存区的修改撤销掉(unstage),重新放回工作区。
  6. git remote -v:查看远程仓库信息。
  7. git remote rm【远程仓库名称】:删除远程仓库。此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
  8. git remote add 【远程仓库名称】【远程仓库地址】:添加远程仓库。
  9. git switch 【分支名】:切换分支。
  10. git siwtch -c 【分支名】:创建并切换到新分支。
  11. git merge --no-ff -m 【注释内容】【分支名】:禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
  12. git stash:可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作(除非有没有被Git管理的文件)。
  13. git stash list:查看“储藏”列表。
  14. git stash apply 【stash@{0}】:恢复“储藏”内容(恢复后,stash内容并不删除)。
  15. git stash drop:删除“储藏”内容。
  16. 或者使用git stash pop,恢复的同时把stash内容也删了。
  17. git cherry-pick 【commit id】:复制一个特定的提交当前分支
  18. git branch --set-upstream-to 【分支名】 origin/【分支名】:本地分支和远程分支建立链接。
  19. git switch -c 【本地分支名】 origin/【远程分支名】:创建新分支然后切换到新分支并和远程仓库分支建立链接。
  20. git rebase:参考链接(变基后,分支不会删除)。
  21. git tag 【标记名】:给commitId 打标签。tag和commitId的关系就类似于域名和ip的关系。默认标签是打在最新提交的commit上的。
  22. git tag 【标记名】【commitId】:给指定commitId的提交打标记。
  23. git tag:查看所有标签。标签不是按时间顺序列出,而是按字母排序的。
  24. git show 【标记名】:查看标记详细信息。
  25. git tag -d 【标记名】:删除标记。
  26. git push origin 【标记名】:推送标记到远程仓库。
  27. git push origin --tags:一次性推送全部尚未推送到远程的本地标签。
  28. 删除远程标记:1、git tag -d 【标记名】;2、 git push origin :refs/tags/【标记名】。