Git命令进阶篇

作者: sheldonli | 来源:发表于2015-12-19 20:35 被阅读149次
    1. 追溯哪句代码是谁改的:
    • $ git log -p [filename]
      显示文件所有详细的修改记录,信息非常全,慢慢找
    • $ git log -L 1,2:[filename]
      显示文件1-2行的更改记录,通过行数缩小范围
    • $ git blame [filename]
      显示的是每一行‘最后’是谁改的,如果只是追查最后的结果,比上一种好找
    1. commit丢失怎么找?
    • $ git reflog
      可以查看所有commit的ID:reset后的、rebase中的、pull的、merge的。它的尽头就是clone或init.
    1. commit信息写错、代码写错、把后一次提交合并到前一次
    • 若没push到远程:
      • $ git add [files] (添加修改文件到暂存区)
      • $ git commit --amend (进入文本编辑模式修改commit信息)
    • 已经push到远程:
      • $ git revert HEAD (撤销上一次commit的内容(并且会提交一次))
      • 非要改,必须确认本地代码没问题的条件下,git push -f 重写远程的历史记录 非常危险,慎重使用
    1. 新功能开发到一半,想回到旧代码测试或者改bug
    • 创建一个分支,把修改commit到新分支上存起来(一般都会的操作,不演示命令了)
    • $ git stash 默认暂存所有的更改,代码回到上一次commit的状态;
    • $ git stash pop 取回暂存的更改。
    • $ git stash list 查看所有 stash
    • $ git stash drop 删除最新 stash
    • $ git stash clear 删除所有stash
    • 注:若pop前有文件修改,也会保留修改;有冲突的话会有提示

    参考:http://blog.jobbole.com/96088/

    相关文章

      网友评论

        本文标题:Git命令进阶篇

        本文链接:https://www.haomeiwen.com/subject/abbphttx.html