git命令补充

1.git commit --amend

git commit --amend 也叫追加提交,它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中。

1)假如现在版本库里最近的一版正是我们想要追加进去的那版,此时是最简单的,直接修改工作区代码,然后git add,之后就可以直接进行git push到服务器,中间不需要进行其他的操作如git pull等。

2)如果现在版本库里最近的一版不是我们想要追加进去的那版,那么此时我们需要将版本库里的版本回退到我们想要追加的那一版。

      2.1> 第一种,如果我们知道我们需要的版本与现在最近的版本中间隔着 n 个提交,那么我们可以直接使用git reset --hard HEAD~n 命令,执行完后运行git log -1 命令我们会发现现在版本库里最近的一版就是我们需要的那版,此时再在工作区直接修改代码,改完之后进行git add,再执行本git commit --amend命令,之后git push。

      2.2> 第二种,如果我们不知道我们需要的版本与现在最近的版本中间隔着 n 个提交,那么我们可以使用git log来查看版本库中的commit-id,找到我们需要的commit-id后,在终端中执行git reset --hard commit-id,执行完后运行git log -1 命令我们会发现现在版本库里最近的一版就是我们需要的那版,此时再在工作区直接修改代码,改完之后进行git add,再执行本git commit --amend命令,之后git push。

2.git reset命令

reset命令有两种用法:
    git reset [-q] [commit] [--] <paths>
 
    git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

注意:


    --hard参数会将暂存区,工作区全部用指定提交版本的目录树替换掉
 
    --soft 参数只执行1, 不进行暂存区和工作区的覆盖
 
    --mixed或不使用参数,执行1,2覆盖暂存区,但不覆盖工作区

猜你喜欢

转载自www.cnblogs.com/jest549/p/11481653.html