猿问

Git重置的实际用途-软?

Git重置的实际用途-软?

我和GIT已经工作了一个多月了。事实上,我昨天才第一次使用了重置,但软复位对我来说仍然没有多大意义。

我知道我可以使用软重置来编辑提交,而不改变索引或工作目录,就像我用git commit --amend.

这两个命令真的相同吗?reset --softVScommit --amend)?有什么理由在实际中使用其中一种或另一种?更重要的是,对于reset --soft除了修改承诺?


30秒到达战场
浏览 646回答 3
3回答

米脂

用例-组合一系列本地提交“哎呀,这三次投案可能只有一次。”因此,撤销最后3(或其他)提交(不影响索引或工作目录)。然后将所有更改作为一个整体提交。例如:>&nbsp;git&nbsp;add&nbsp;-A;&nbsp;git&nbsp;commit&nbsp;-m&nbsp;"Start&nbsp;here." >&nbsp;git&nbsp;add&nbsp;-A;&nbsp;git&nbsp;commit&nbsp;-m&nbsp;"One" >&nbsp;git&nbsp;add&nbsp;-A;&nbsp;git&nbsp;commit&nbsp;-m&nbsp;"Two" >&nbsp;git&nbsp;add&nbsp;-A'&nbsp;git&nbsp;commit&nbsp;-m&nbsp;"Three" >&nbsp;git&nbsp;log&nbsp;--oneline&nbsp;--graph&nbsp;-4&nbsp;--decorate >&nbsp;*&nbsp;da883dc&nbsp;(HEAD,&nbsp;master)&nbsp;Three >&nbsp;*&nbsp;92d3eb7&nbsp;Two >&nbsp;*&nbsp;c6e82d3&nbsp;One >&nbsp;*&nbsp;e1e8042&nbsp;Start&nbsp;here. >&nbsp;git&nbsp;reset&nbsp;--soft&nbsp;HEAD~3 >&nbsp;git&nbsp;log&nbsp;--oneline&nbsp;--graph&nbsp;-1&nbsp;--decorate >&nbsp;*&nbsp;e1e8042&nbsp;Start&nbsp;here.现在,您的所有更改都被保存下来,并准备作为一个整体提交。对你问题的简短回答这两个命令真的相同吗?reset --softVScommit --amend)?没有。有什么理由在实际中使用其中一种或另一种?commit --amend从上次提交中添加/rm文件或更改其消息。reset --soft <commit>将几个顺序提交合并成一个新的提交。更重要的是,对于reset --soft除了修改承诺?见其他答案:)

杨__羊羊

例如,如果我正在处理一个分支,需要紧急修复主人的一些东西,我可以这样做:git commit -am "In progress."然后结帐母版并进行修复。当我做完后,我回到我的分支和做git reset --soft HEAD~1继续在我停止工作的地方工作。
随时随地看视频慕课网APP
我要回答