为了账号安全,请及时绑定邮箱和手机立即绑定

Git重置的实际用途-软?

Git重置的实际用途-软?

Git
30秒到达战场 2019-07-19 18:24:50
Git重置的实际用途-软?我和GIT已经工作了一个多月了。事实上,我昨天才第一次使用了重置,但软复位对我来说仍然没有多大意义。我知道我可以使用软重置来编辑提交,而不改变索引或工作目录,就像我用git commit --amend.这两个命令真的相同吗?reset --softVScommit --amend)?有什么理由在实际中使用其中一种或另一种?更重要的是,对于reset --soft除了修改承诺?
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

用例-组合一系列本地提交

“哎呀,这三次投案可能只有一次。”

因此,撤销最后3(或其他)提交(不影响索引或工作目录)。然后将所有更改作为一个整体提交。

例如:

> git add -A; git commit -m "Start here."
> git add -A; git commit -m "One"
> git add -A; git commit -m "Two"
> git add -A' git commit -m "Three"
> git log --oneline --graph -4 --decorate

> * da883dc (HEAD, master) Three
> * 92d3eb7 Two
> * c6e82d3 One
> * e1e8042 Start here.

> git reset --soft HEAD~3
> git log --oneline --graph -1 --decorate

> * e1e8042 Start here.

现在,您的所有更改都被保存下来,并准备作为一个整体提交。

对你问题的简短回答

这两个命令真的相同吗?reset --softVScommit --amend)?

  • 没有。

有什么理由在实际中使用其中一种或另一种?

  • commit --amend

    从上次提交中添加/rm文件或更改其消息。
  • reset --soft <commit>

    将几个顺序提交合并成一个新的提交。

更重要的是,对于reset --soft除了修改承诺?

  • 见其他答案:)


查看完整回答
反对 回复 2019-07-19
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

例如,如果我正在处理一个分支,需要紧急修复主人的一些东西,我可以这样做:

git commit -am "In progress."

然后结帐母版并进行修复。当我做完后,我回到我的分支和做

git reset --soft HEAD~1

继续在我停止工作的地方工作。


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 645 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信