我试图绕过不同的Git方法(Revert,Switch / Chekout,Reset)
为什么我要做混合或软reset
?
我是VC的新手,所以也许我错过了什么。
我认为上面的观点是将我的本地文件更改为其他版本(来自Git repo)
答案 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
来选择要提交的数据块。