首页 > 代码库 > git 实用技巧

git 实用技巧

一、git 常用操作

1.1

  1. // 该方法会显示某次提交的所有更改
  2. git log --pretty=oneline 文件名
  3. git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

1.2

  1. git log filename //可以看到fileName相关的commit记录
  2. git log -p filename //可以显示每次提交的diff
  3. git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename // 只看某次提交中的某个文件变化,可以直接加上fileName

1.3 重命名分支

  1. git branch -m <oldname> <newname>

1.4 保存修改,应用修改

  1. git stash
  2. git stash apply

1.5 –squash 方式merge

  1. git merge --squash 某分支

二、 创建分支并和远程绑定

  1. git branch abc // create branch
  2. git push origin abc // push branch
  3. git branch --set-upstream-to=origin/abc // 和远程分支关联
  4. git checkout -b 本地分支 远程分支

三、 取消本次commit / 远程回滚

  1. git reset HEAD^ // 取消本次提交
  2. git reset --soft <commitId> // 本地回滚工作空间回滚到某id。保留修改
  3. git reset --hard <commitId> // 本地回滚工作空间到某id,不保留修改。
  4. git revert <commitId> // 如果远程想回滚,先在本地revert,再提交。

四、 用git 调用资源管理器打开当前目录

  1. $ explorer.exe .

五、git同步更新远程分支(去缓存)

  1. $ git fetch -p

六、 删除远程分支和tag 、 重命名

  1. // delete remote branch
  2. $ git push origin --delete <branchName>
  3. // 推送一个空分支到远程分支,其实就相当于删除远程分支:
  4. $ git push origin :<branchName>
  5. // delete remote tag
  6. $ git push origin --delete tag <tagname>
  7. // 推送一个空tag到远程tag
  8. git tag -d <tagname>
  9. git push origin :refs/tags/<tagname>
  10. // 获取远程tag
  11. git fetch origin tag <tagname>
  12. // 把本地tag推送到远程
  13. git push --tags
  14. # 创建轻量标签
  15. $ git tag v0.1.2-light
  16. # 创建附注标签
  17. $ git tag -a v0.1.2 -m 0.1.2版本”
  18. 与切换分支命令相同,用git checkout [tagname]
  19. 查看标签信息
  20. git show命令可以查看标签的版本信息:
  21. $ git show v0.1.2
  22. 误打或需要修改标签时,需要先将标签删除,再打新标签。
  23. $ git tag -d v0.1.2 # 删除标签
  24. $ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
  25. $ git push origin --tags # 将本地所有标签一次性提交到git服务器

七、 git自定义指令

  1. // 将 checkout 简化成 co
  2. git config --global alias.co "checkout"
  3. // 将显示分支颜色指令简化成 lg
  4. git config --global alias.lg "log --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘"

技术分享

git 实用技巧