我是Git环境的新手,并且在Mac上将BitBucket与SourceTree一起使用。我现在要做的就是放弃自上次提交以来所做的更改。我应该怎么做?我还没有找到“放弃更改”之类的东西,并且直接从上次提交中拉出似乎无效。使用GUI或命令行完成的解决方案都不错。谢谢。
Discard
(Shift + Ctrl + R)和Remove
(Ctrl + Del)Discard
将还原所做的更改git reset --hard
,Remove
并将删除文件并进行该删除。
我是Git环境的新手,并且在Mac上将BitBucket与SourceTree一起使用。我现在要做的就是放弃自上次提交以来所做的更改。我应该怎么做?我还没有找到“放弃更改”之类的东西,并且直接从上次提交中拉出似乎无效。使用GUI或命令行完成的解决方案都不错。谢谢。
Discard
(Shift + Ctrl + R)和Remove
(Ctrl + Del)Discard
将还原所做的更改git reset --hard
,Remove
并将删除文件并进行该删除。
Answers:
git reset --hard HEAD
stash
功能的滥用。穆罕默德的答案是丢弃所有更改的正确方法。
reset --hard
,但是我经常隐藏我的更改以重新开始,然后在我决定不需要时放弃该隐藏。
在Mac的SourceTree上,右键单击要丢弃的文件(在工作树列表中的文件中),然后选择重置。
在Windows的SourceTree上,右键单击要丢弃的文件(在工作副本更改列表中),然后选择放弃。
在git上,您只需执行以下操作:
git reset --hard
放弃对版本化文件所做的更改;
git clean -xdf
擦除新的(未跟踪的)文件,包括被忽略的文件(该x
选项)。d
也将删除未跟踪的目录并f
强制执行。
在未暂存的文件上,单击右侧的三个点。单击它后,将显示一个弹出菜单,然后可以在其中进行操作Discard file
。
好的,我只是注意到问题标题中已经回答了我的问题。
要取消暂存文件的使用
git reset HEAD /file/name
并撤消对文件的更改
git checkout -- /file/name
如果文件夹中有一批文件,则可以撤消整个文件夹
git checkout -- /folder/name
请注意,当您 git status
在这里,我创建了一个虚拟仓库,并列出了所有3种可能性
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test3