我是Git环境的新手,正在Mac上使用BitBucket和SourceTree。现在我想要做的就是放弃自上次提交以来所做的更改。我应该如何操作?我没有找到类似于“放弃更改”的东西,而直接从上一个提交中pull也似乎不起作用。使用图形界面或命令行实现都可以。
我是Git环境的新手,正在Mac上使用BitBucket和SourceTree。现在我想要做的就是放弃自上次提交以来所做的更改。我应该如何操作?我没有找到类似于“放弃更改”的东西,而直接从上一个提交中pull也似乎不起作用。使用图形界面或命令行实现都可以。
git clean -xdf
命令,它可能会造成很大的损失。 - SMBiggs我喜欢使用
git stash
这个命令将所有未提交的更改存储在stash中。如果您想要稍后放弃这些更改,只需使用git stash drop
(或者使用git stash pop
来恢复它们)。
尽管从技术上讲,这不是“正式”丢弃更改的方法(正如其他答案和评论所指出的那样)。
SourceTree:在顶部栏上单击“Stash”图标,键入其名称并创建。然后在左侧垂直菜单中,您可以“显示”所有Stash并在右键菜单中删除它们。在ST中可能没有其他一次性丢弃所有文件的方法。
git reset --hard HEAD
即可。 - Mohammad AbuShady在未暂存的文件上,点击右侧的三个点。一旦你点击它,一个弹出式菜单将会出现,在那里你可以选择放弃文件
。
我注意到我的问题已经在问题标题中得到了回答。
要取消暂存的文件,请使用
git reset HEAD /file/name
取消对文件的更改
git checkout -- /file/name
git checkout -- /folder/name
git status
中显示。# 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
从Sourcetree图形界面中点击“工作目录”,右键单击您要丢弃的文件,然后点击“丢弃”
按照以下步骤操作:
commit
CMD+A
选择所有想要 删除或丢弃
的文件右键单击
所选择的未提交文件,选择想要删除的文件Remove
这是 Ctrl + Shift + r
对我来说,只有一个选项可以放弃所有。
Discard
(Shift+Ctrl+R)和Remove
(Ctrl+Del)。我猜Discard
将撤消更改,就像git reset --hard
一样,而Remove
将删除文件并将其标记为已删除。 - Nate Anderson