1
2339
另一个更快的方法是:
你不需要包括
在那之后,你可以用
|
2
4542
对于当前工作目录中的所有未分页文件,请使用:
对于特定文件,请使用:
|
3
1707
似乎完整的解决方案是:
|
4
299
这将检查当前目录的当前索引,并向下丢弃当前目录中文件的所有更改。
或者检查索引中的所有文件,覆盖工作树文件。
|
5
224
通过从当前目录开始递归删除不受版本控制的文件来清理工作树。
跑
|
6
91
我最喜欢的是
这样可以有选择地还原块。 参见:
|
7
77
由于没有答案表明我使用的是确切的选项组合,这里是:
这是用于
删除未跟踪的目录以及未跟踪的文件。如果未跟踪的目录由其他Git存储库管理,则默认情况下不会删除该目录。使用
如果git配置变量
不要使用忽略规则
也,
|
8
56
我真的发现这篇文章有助于解释何时使用什么命令: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/ 有几个不同的情况:
我怀疑使用
请看上面的文章以获取进一步的建议。 |
9
49
最简单的方法是使用以下命令: 此命令用于放弃工作目录中的更改-
https://git-scm.com/docs/git-checkout 在git命令中,通过使用以下方法来存储未跟踪的文件:
|
10
43
如果您对保留未分页的更改不感兴趣(特别是如果分阶段的更改是新文件),我发现这很方便:
|
11
41
当你输入git状态时, (使用“git checkout--…”放弃工作目录中的更改) 如图所示。
例如
|
12
40
切换分支时,即使索引或工作树与头不同,也要继续。这用于丢弃本地更改。 从索引中签出路径时,不要在未合并的条目上失败;而是忽略未合并的条目。 |
13
37
如果你只是希望
删除对现有文件的更改
使用
如果你想要
删除添加的文件
自上次提交以来,请使用
如果你愿意
将更改移动到保留空间以供以后访问
使用
|
14
34
你可以使用git stash-如果出了问题,你仍然可以从stash恢复过来。 与此处的其他答案类似,但此选项还删除所有未分页的文件和所有未分页的删除:
如果你检查一切正常,把藏品扔掉:
来自Bilal Maqsood的答案
更新 我想还有一个变化(不知道为什么以前这样对我有效):
没有
|
15
32
我没有放弃更改,而是将遥控器重置为原点。注意-此方法是将文件夹完全还原为repo文件夹。 所以我这样做是为了确保当我git重置时它们不在那里(稍后-排除源站/分支名称上的gitignores) 注意:如果要保留尚未跟踪的文件,但不在gitignore中,您可能希望跳过此步骤,因为它将擦除远程存储库中找不到的未跟踪文件(谢谢@xtrmjosh)。
然后我
然后我重置为原点
这将使它回到正方一。就像重新克隆分支一样,同时将所有gitignored文件保留在本地和适当的位置。 以下按用户更新的评论: 变量将重置为用户当前所在的分支。
|
16
26
尝试了上面的所有解决方案,但仍然无法删除新的、未老化的文件。
使用
|
17
21
简单地说
它将删除所有本地更改。你以后也可以说
或 流行音乐流行歌曲 |
18
20
只需使用:
完成。容易的。
如果你
真的?
关心你的藏匿处然后你可以跟着
尽管如此,我还是喜欢
|
19
16
这甚至在正常git权限之外的目录中也可以工作。
最近发生在我身上 |
20
14
|
21
11
无论回购处于何种状态,您都可以重置为以前的任何承诺:
这将放弃在提交之后所做的所有更改。 |
22
10
另一种消除新文件的方法比git clean-df更具体(它允许您除去一些文件,不一定全部),是先将新文件添加到索引中,然后存储,然后删除存储。 当由于某种原因,您无法通过某种普通机制(如rm)轻松删除所有未跟踪的文件时,此技术非常有用。 |
23
9
如果您使用的是存储库的一个分支,在该分支中定期与另一个repo同步(例如pull请求),那么下面的内容实际上只是一个解决方案。简短回答:删除fork并重新格式化,但是 阅读GitHub上的警告 . 我也遇到过类似的问题,也许不完全相同,我很遗憾地说,我的解决方案并不理想,但最终是有效的。 我经常会收到这样的git状态消息(至少包含2/4个文件):
敏锐的眼睛会注意到这些文件中的“兴奋剂”是一个单独的字母,以防万一。不知何故,我不知道是什么引导我沿着这条路径开始(因为我自己没有从上游repo处理这些文件),我已经切换了这些文件。尝试本页(和其他页)列出的许多解决方案似乎没有帮助。 我可以通过删除分叉的存储库和所有本地存储库并重新格式化来解决这个问题。仅此一项是不够的;上游必须将有问题的文件重命名为新文件名。 只要你没有任何未被限制的工作,没有维基,也没有任何与上游存储库不同的问题,你就应该很好。上游可能对你不太满意,至少可以说。至于我的问题,这无疑是一个用户错误,因为我不太精通git,但事实上,要解决git问题还远不容易。 |
24
9
在我看来,
应该有技巧。按照 Git documentation on git clean
描述
选项
|
25
7
当你想把藏品转移给其他人时:
[编辑]正如评论所述,可以命名隐藏。好吧,如果你想分享你的藏品,就用这个;) |
26
6
如果所有阶段文件都已提交,则只需单击三次鼠标即可从GUI重置分支: 分公司 , 重置 , 是的 ! 所以我在实践中经常做的是恢复不需要的本地更改,提交所有好的东西,然后重新设置分支。 如果好的东西是在一个单一的提交中提交的,那么如果您最终想要以一点不同的方式提交它,那么您可以使用“修正最后提交”将其恢复到阶段性或非阶段性。 这可能不是您在寻找解决问题的技术解决方案,但我发现这是一个非常实用的解决方案。它允许您有选择地放弃未保存的更改,重新设置您不喜欢的更改并保留您所做的更改。 总之,我只是 犯罪 , 分支复位 和 修改上次提交 . |
27
6
您可以创建自己的别名,该别名以描述性的方式描述如何执行该操作。 我使用下一个别名放弃更改。 放弃工作树中文件(列表)的更改
然后您可以将其用作下一个选项来放弃所有更改:
或者只是一个文件:
否则,如果您要放弃所有更改以及未跟踪的文件,我将混合使用签出和清理: 清除并丢弃工作树中的更改和未跟踪的文件
因此使用简单如下:
现在可以在下一个包含大量别名的Github repo中使用: |
28
6
如果您是在子模块的情况下,没有其他解决方案起作用,请尝试:
|
29
6
我遇到了一个奇怪的情况,文件总是不稳定的,这有助于我解决问题。
|
30
5
如果你改变了 权限 文件(在DOS/windoze上) Mon 23/11/2015-15:16:34.80 C:\...\work\checkout\slf4j+> git status On branch SLF4J_1.5.3 Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: .gitignore modified: LICENSE.txt modified: TODO.txt modified: codeStyle.xml modified: pom.xml modified: version.pl no changes added to commit (use "git add" and/or "git commit -a") Mon 23/11/2015-15:16:37.87 C:\...\work\checkout\slf4j+> git diff diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/LICENSE.txt b/LICENSE.txt old mode 100644 new mode 100755 diff --git a/TODO.txt b/TODO.txt old mode 100644 new mode 100755 diff --git a/codeStyle.xml b/codeStyle.xml old mode 100644 new mode 100755 diff --git a/pom.xml b/pom.xml old mode 100644 new mode 100755 diff --git a/version.pl b/version.pl old mode 100644 new mode 100755 Mon 23/11/2015-15:16:45.22 C:\...\work\checkout\slf4j+> git reset --hard HEAD HEAD is now at 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Added .gitignore Mon 23/11/2015-15:16:47.42 C:\...\work\checkout\slf4j+> git clean -f Mon 23/11/2015-15:16:53.49 C:\...\work\checkout\slf4j+> git stash save -u Saved working directory and index state WIP on SLF4J_1.5.3: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Added .gitignore HEAD is now at 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Added .gitignore Mon 23/11/2015-15:17:00.40 C:\...\work\checkout\slf4j+> git stash drop Dropped refs/stash@{0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Mon 23/11/2015-15:17:06.75 C:\...\work\checkout\slf4j+> git stash drop Dropped refs/stash@{0} (e6c49c470f433ce344e305c5b778e810625d0529) Mon 23/11/2015-15:17:08.90 C:\...\work\checkout\slf4j+> git stash drop No stash found. Mon 23/11/2015-15:17:15.21 C:\...\work\checkout\slf4j+> git checkout -- . Mon 23/11/2015-15:22:00.68 C:\...\work\checkout\slf4j+> git checkout -f -- . Mon 23/11/2015-15:22:04.53 C:\...\work\checkout\slf4j+> git status On branch SLF4J_1.5.3 Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: .gitignore modified: LICENSE.txt modified: TODO.txt modified: codeStyle.xml modified: pom.xml modified: version.pl no changes added to commit (use "git add" and/or "git commit -a") Mon 23/11/2015-15:22:13.06 C:\...\work\checkout\slf4j+> git diff diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/LICENSE.txt b/LICENSE.txt old mode 100644 new mode 100755 diff --git a/TODO.txt b/TODO.txt old mode 100644 new mode 100755 diff --git a/codeStyle.xml b/codeStyle.xml old mode 100644 new mode 100755 diff --git a/pom.xml b/pom.xml old mode 100644 new mode 100755 diff --git a/version.pl b/version.pl old mode 100644 new mode 100755 解决此问题的唯一方法是手动重置已更改文件的权限: Mon 23/11/2015-15:25:43.79 C:\...\work\checkout\slf4j+> git status -s | egrep "^ M" | cut -c4- | for /f "usebackq tokens=* delims=" %A in (`more`) do chmod 644 %~A Mon 23/11/2015-15:25:55.37 C:\...\work\checkout\slf4j+> git status On branch SLF4J_1.5.3 nothing to commit, working directory clean Mon 23/11/2015-15:25:59.28 C:\...\work\checkout\slf4j+> Mon 23/11/2015-15:26:31.12 C:\...\work\checkout\slf4j+> git diff |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |