git 命令使用分享

本篇文章分享几个git的命令,本人在代码托管中,有时候需要用到的命令,虽然并不是常用命令,但是偶尔需要也是很方便的

1、cherry-pick (拣选)

  • 简介:
    当一个我们的活动分支(如qa),需要另一个分支(如dev)需要某个提交时,我们在活动分支(如qa)执行git cherry-pick xxx,拣选出(如dev上)这个提交所引入的修改
  • 使用场景:
    假如我们在dev分支开发一个功能,我们将功能提交到dev上了,但是后面需要将这个功能分到qa上去提测的时候,可在qa分支上cherry-pick拣选出改功能进行修改
  • 注意事项:
    1、一般拣选出来以后如果有冲突,如没有特殊情况采用传入的更改覆盖即可
    2、拣选的时候,同一个文件,在这个拣选点先前的修改也会被拣选出来的,不同文件则不会

2、reset (重置)

2.1  git reset --hard XXX (硬重置)

  • 简介:
    有时候我们并不想保留特定提交引入的修改,后续也不需要访问他,可以就可直接重置到特定提交之前的状态
    硬重置,重置以后,提交记录不保留
  • 使用场景:
    错误提交一个A功能,需要重置回去提交前的状态
    合并错误的时候也可以通过reset还原
  • 注意事项:
    如果重置的是远程的提交,重置 完成以后,push需要加上-f,进行强制推送,例如: git push origin dev -f


     

2.1  git reset --soft XXX (软重置)
 

  • 简介:
    有时候我们并不想保留特定提交引入的修改,后续也不需要访问他,可以就可直接重置到特定提交之前的状态
    软重置,重置以后,移至指定提交,但是修改记录不会移除
  • 使用场景:
    错误提交一个A功能,但是需要保留部分修改,需要重置回去提交前的修改状态,进行处理
  • 注意事项:
    如果重置的是远程的提交,重置 完成以后,push需要加上-f,进行强制推送,例如: git push origin dev -f

 

3、revert(撤销修改)

  • 简介:
    撤销指定提交的修改内容,通过对特定的提交执行还原操作,我们会创建一个包含已还原修改的新提交
  • 使用场景:
    错误提交一个A功能,后续要提交了多个功能其他的功能,这个时候需要撤销之前的功能A的修改
  • 注意事项:
    如果revert 的点,后续没有改同个文件的提交,直接有一个撤销之前的修改
    如果revert 的点,后续存在有改同个文件的提交,则会撤销后续的修改,存在冲突需要解决

4、commit --amend (修改上一次提交的注释)

  • 简介:
    修改上一次提交的注释,git commit --amend,然后弹出编辑框修改注释内容
  • 使用场景:
    提交一个A功能,但是注释写错啦,又提交了甚至推送到远程啦,需要修改注释
  • 注意事项:
    如果重置的是远程的提交,重置 完成以后,push需要加上-f,进行强制推送,例如: git push origin dev -f

5、rebase (补充第4点修改指定提交的注释)

  • 简介:
    修改指定提交的注释,git rebase -i xxx,xxx是我们需要修改提交的上一次提交的header,进入编辑默认,修改提交注释的pick为reword,保存,再编辑修改新的注释内容,保存提交即可
  • 使用场景:
    提交一个A功能,但是注释写错啦,中间又有其他提交,又提交了甚至推送到远程啦,需要修改注释
  • 注意事项:
    如果重置的是远程的提交,重置 完成以后,push需要加上-f,进行强制推送,例如: git push origin dev -f
    里面操作还有很多,可以去了解,但不是很推荐用这个,感觉不熟悉风险比较大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章