什么是Git SOFT重置的用例?

时间:2016-11-21 22:48:50

标签: git

我试图绕过不同的Git方法(Revert,Switch / Chekout,Reset)

为什么我要做混合或软reset? 我是VC的新手,所以也许我错过了什么。 我认为上面的观点是将我的本地文件更改为其他版本(来自Git repo)

2 个答案:

答案 0 :(得分:0)

我在.gitconfig中有这些别名。

# Undo the last commit, but leave it in the working copy
redo = reset --soft HEAD^

# Throw out all work up to the last commit
clear = reset --hard HEAD

# Undo the last commit
undo = reset --hard HEAD^

如您所见,如果我想进行最后一次提交,我会使用reset --soft HEAD^git-reset docs在他们的示例中也提到了这个用例。这与git commit --amend之间存在重叠。

答案 1 :(得分:0)

用例适用于您想要重置索引的那些时间,但您不想更改任何工作文件。例如,假设您在文件foo中进行了3次更改并完成了git add foo。然后你意识到你不想提交所有三个更改,但你只想提交其中一个。因此,您执行git reset后跟git add --patch foo来选择要提交的数据块。