如何在SourceTree中丢弃未提交的更改?

时间:2013-11-27 05:22:20

标签: macos git bitbucket atlassian-sourcetree

我是Git环境的新手,我在Mac上使用BitBucket和SourceTree。我现在要做的就是放弃自上次提交以来的更改。我该怎么做?我没有发现任何类似“丢弃更改”的内容,并且直接从最后一次提交中删除似乎不起作用。使用GUI或命令行完成的解决方案将很好。谢谢。

9 个答案:

答案 0 :(得分:127)

Mac SourceTree 上,右键单击要放弃的文件(在工作树中的文件列表中),然后选择的 重置

Windows SourceTree 上,右键单击要放弃的文件(在工作副本更改列表中),然后选择 放弃

git 上,您只需执行以下操作:

git reset --hard放弃对版本化文件所做的更改;

git clean -xdf删除新的(未跟踪的)文件,包括忽略的文件(x选项)。 d也会删除未跟踪的目录,f强制删除。

答案 1 :(得分:47)

我喜欢用

git stash

这会在stash中存储所有未提交的更改。如果您希望稍后在git stash drop(或git stash pop恢复它们)中放弃这些更改。

虽然这在技术上并不是放弃变更的“正确”方式(正如其他答案和评论所指出的那样)。

答案 2 :(得分:7)

在未暂存的文件上,单击右侧的三个点。单击它后,将出现一个弹出菜单,然后您可以Discard file

答案 3 :(得分:4)

从sourcetree gui单击工作目录,右键单击要放弃的文件,然后单击Discard

答案 4 :(得分:3)

好的,我刚刚注意到我的问题已在问题标题中得到解答。

要取消暂存文件,请使用

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

答案 5 :(得分:3)

按照步骤在 Sourcetree 中丢弃多个未提交的更改。

<块引用>

新版本的 Sourcetree 没有前面提到的 -Reset- 按钮。因此,请按照以下 5 个步骤进行解决。

  1. 右键单击“文件状态”,然后单击“重置...”。

enter image description here

<块引用>
  1. 选择文件如果需要,您可以像下图一样全选。

enter image description here

<块引用>
  1. 点击“全部重置”。

enter image description here

<块引用>
  1. 再次点击“全部重置”。

enter image description here

<块引用>
  1. 点击“重置”。

enter image description here

<块引用>

万事如意..!不再需要丢弃 302 文件。

enter image description here

答案 6 :(得分:1)

执行以下操作

  • 点击commit
  • CMD+A,按delete or discard全选
  • Right click上要删除的选定未提交文件
  • 从下拉列表中选择Remove

答案 7 :(得分:1)

好吧,在简单的Windows源代码树中,在macOS上,我也看了一会儿。

在源代码树中时,单击Command + Shift + R 将会显示一个隐藏的弹出窗口,可让您丢弃单个文件或全部!为什么将其隐藏?我们永远不会知道..但是它可以工作![enter image description here] 1

答案 8 :(得分:0)

它的 Ctrl + Shift + r

对我来说,只有一种选择可以全部丢弃。

enter image description here