【问题标题】:Undo all files within a folder in git撤消 git 文件夹中的所有文件
【发布时间】:2015-08-12 09:48:31
【问题描述】:

我搜索并发现了许多链接,这些链接谈到了取消您对特定文件的未提交更改:

  1. git 重置
  2. git reset --hard
  3. git checkout -- 文件
  4. git checkout 分支名^ 文件名

但我想撤消我在特定文件夹下修改的所有文件的更改。

假设我有一个像这样的文件夹clients/libs/slickgrid & slickgrid 内部包含多个文件夹,其中包含多个文件。

我想撤消 slickgrid 文件夹下的所有修改文件。我在这里有什么选择?

【问题讨论】:

    标签: git git-commit git-checkout git-reset


    【解决方案1】:

    git reset HEAD clients/lib/slickgrid

    如果它们已经是 git 历史的一部分,那么你也必须这样做

    git checkout clients/lib/slickgrid

    【讨论】:

    • 到目前为止我还没有提交文件:运行git checkout clients/lib/slickgrid 得到error: pathspec 'clients/lib/slickgrid' did not match any file(s) known to git. 如果我运行git reset HEAD clients/lib/slickgrid 然后运行git status 我仍然可以看到所有文件
    • 如果 git 没有什么要签出的,那么您没有更改正在跟踪的文件。运行 git status 你会看到 git 指定这些文件是未跟踪的。假设您的未跟踪文件是 foo.js,您将看到 Untracked files: (use "git add <file>..." to include in what will be committed) foo.js。如果不跟踪它们,则无法还原更改。这有意义吗?
    猜你喜欢
    • 2015-08-30
    • 2013-08-27
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多