zoukankan      html  css  js  c++  java
  • Git常用命令备忘

    1. 获取远程tag : git fetch origin tag <tagname>
    2. 删除tag : git push origin --delete tag <tagname>
    3. 删除tag :git tag -d <tagname>
    git push origin :refs/tags/<tagname> (推送一个空的tag到远程)

    4. reset/checkout/revert区别
    reset : 回滚到某个提交,会重写提交历史
    checkout : 移动head到某个分支或者提交,通常用来切换分支或者查看某个历史提交
    revert : 撤销一个提交,同时会创建一个新的提交,不会重写提交历史
    reset 指定文件A :将某个提交中的A文件放入到缓存区供下一个提交使用,不影响工作目录
    checkout 指定文件A : 将某个提交中的A文件替换工作目录中的文件,类似git reset *** -hard

    reset 提交层面 : 在私有分支上舍弃一些没有提交的更改
    reset 文件层面 : 将文件从缓存区中移除 , 例 git reset HEAD A.txt, 相当于把HEAD中的A放入到缓存区,也就是从缓存区移除A
    checkout 提交层面 : 切换分支或查看旧版本
    checkout 文件层面 : 舍弃工作目录中的更改,和eclipse中的replace by 一样
    revert 提交层面 :在公共分支上回滚更改
    revert 文件层面 : 无

    5. rebase和merge的区别, 参考文章http://www.bubuko.com/infodetail-1408579.html
    主分支合并feature分支一定要用merge,不要用rebase
    Rebase黄金法则:绝不要在公共的分支上使用它
    我们可以用rebase清理本地分支,合并远程分支
    在主分支合并feature分支时,也可以先rebase主分支,再merge feature分支,来保持线型,不过我觉得没有必要这样做
    记得一定不要重写主分支的提交

  • 相关阅读:
    Spring MVC重定向和转发以及异常处理
    Spring MVC注解开发入门
    深入理解Spring MVC
    Spring MVC入门
    Spring Quartz实现任务调度
    Spring WebService入门
    Spring JavaMail发送邮件
    (一)Eureka 服务的注册与发现
    AvtiveMQ 参考
    python
  • 原文地址:https://www.cnblogs.com/firejava/p/7510013.html
Copyright © 2011-2022 走看看