• Git进阶--你可能不知道的很好用Git功能


    一、刚提交的代码,发现需要微调一下

      刚刚最新提交了一段代码,然后跟前端说,接口好了。过了2分钟,前端跟你说,哎,兄弟,那个金额能不能返回整数,不要小数点。

      这个时候一般我们通常会修改一下之后,再提交一个版本。那么又过了2分钟,前端又跑来说,哎,兄弟,那个日期能不能换个格式...

      正常我们又会修改下后再提交一个版本,那么就一些简单的改动,我们就提交了好几个版本,可以是可以,不过还有一个更加优雅和简单的解决方法: commit --amend 

      

      "amend" 是「修正」的意思。在提交时,如果加上 --amend 参数,Git 不会在当前 commit 上增加 commit,而是会把当前 commit 里的内容和暂存区(stageing area)里的内容合并起来后创建一个新的 commit,用这个新的 commit 把当前 commit 替换掉。所以 commit --amend 做的事就是它的字面意思:对最新一条 commit 进行修正。

    具体地,当你把修改改完之后,直接运行:

    git add .
    git commit --amend

    之后会出现你之前一个提交的信息:

    你可以修改或保留它,然后保存退出就可以了。你的最新commit就被更新了,如下图所示:

    二、要修改的不是最新的commit,而是倒数第二个

      突然我先我们倒数第二个提交需要进行一些微小的调整,那么这时候我们就不能用上面那种处理方式了,不过也是有办法的。

       

    rebase -i :是 rebase --interactive 的缩写,意思为「交互式rebase」。

    git log 后我们发现是倒数第二个commit需要修改,那么此时我们可以运行:
    
       git rebase -i HEAD^^ ,就会跳出如下这个界面。

    这个编辑界面的最顶部,列出了将要「被 rebase」的所有 commits,也就是倒数第二个 commit 「modify testgit」和最新的 commit「mofify .gitignore」。

    需要注意,这个排列是正序的,旧的 commit 会排在上面,新的排在下面。

    此时,我们需要修改哪个commit,就可以把commit 之前的pick修改成edit ,然后就可以退出这个界面。

    上面的界面告诉我们,rebase过程已经停在需要修改的那个commit,然后我们可以进行修改了,修改完后:

    git add .
    git commit --amend

    上传修改后,就可以运行:

     git rebase --continue

    如果没有冲突,那么就完美rebase了。

    三、紧急情况:stash存储

      当你正在敲着键盘,埋头开发一个新功能时,突然有人跑过来跟你说,哎,兄弟,你之前开发的那个功能出现了一个bug,赶紧改一下,这时候你新分支功能才刚刚开了一个头,如果直接commit一次肯定是可以的,不过有更好的处理办法-- git stash . 

     git stash 后会把你工作目录的改动清空,然后存储到另外一个地方。需要注意的是, git stash 会忽略那些没有被track的文件,这时候需要加上参数-u,即 git stash -u 。

    当你把bug修复后,切回工作分支。然后:

    git stash pop

    你之前存储的东西就回来了,是不是很方便?

  • 相关阅读:
    20200226 Java IO流——廖雪峰
    20200225 Java 多线程(2)-廖雪峰
    20200225 Java 多线程(1)-廖雪峰
    20200224 尚硅谷ElasticSearch【归档】
    20200224 一 概述
    20200222 尚硅谷Dubbo【归档】
    20200222 四、dubbo原理
    Improved robustness of reinforcement learning policies upon conversion to spiking neuronal network platforms applied to Atari Breakout game
    Reinforcement learning in populations of spiking neurons
    Solving the Distal Reward Problem through Linkage of STDP and Dopamine Signaling
  • 原文地址:https://www.cnblogs.com/ncy1/p/9466005.html
Copyright © 2020-2023  润新知