我收到“以下未跟踪的工作树文件将被结帐覆盖...请在切换分支之前移动或删除它们”错误。
常见的修复似乎是 git clean
当我输入时,我没有收到任何错误,但没有任何反应。当我去检查另一个分支时,我遇到了与上面相同的错误。
任何关于为什么git clean什么都不做的理由?
更新:
更多信息。git -n并git -f做完全相同的...没有。
mkdir repo
cd repo
git init
mkdir temp
touch temp/in.tmp
touch out.tmp
echo '*tmp' > .gitignore
Run Code Online (Sandbox Code Playgroud)
使用git clean -Xn时显示Would remove out.tmp
但我想删除temp/in.tmp在一起
git clean -Xdn不起作用,但cd对temp目录和运行git clean -Xn它显示Would remove in.tmp
所以我想知道是否有一个命令删除.gitignoreinclude子目录中的所有文件列表,在这种情况下如何使用git cleanremove temp/in.tmp和out.tmp
$ git --version
git version 1.9.5.msysgit.1
Run Code Online (Sandbox Code Playgroud)
我发现了一些奇怪的东西
在temp目录中添加一个文件并暂存它,git clean -Xn似乎工作
touch temp/a.txt
git add temp/a.txt
git clean -Xn
Run Code Online (Sandbox Code Playgroud)
它表明
Would remove out.tmp
Would remove temp/in.tmp …Run Code Online (Sandbox Code Playgroud) git clean -f -d从我的本地目录中删除了文件我该如何检索它们?我用它来删除未跟踪的目录和文件,发现它也从我的本地文件系统中删除了它.这可能吗?我做错了什么,是否有办法撤回他们?
如果我知道如果出现问题我可以撤消删除,我会觉得使用git clean会更舒服.
它是否以任何方式,形状或形式支持回收站?如果不是,是否有任何人都知道的变通方法,例如git clean -n用于打印文件的外部工具,然后将它们移动到回收站?
在我正在处理的项目中,我使用 git 和 eclipse,eclipse.project在项目根目录中创建一个文件。当我执行 a 操作时,git clean我不想删除此文件,因为我必须再次创建它。
我确实想git clean删除排除的文件和目录(因为编译的文件被排除)。
通常我会做适合我需要的事情,但是我每次都git clean -xdf必须排除该文件( )。.projectgit clean -xdf -e .project
简单地将 放入.project(全局)gitignore 文件中并不能解决问题,在其前面加上前缀!也不能完全解决这个问题,因为它随后会显示在 .gitignore 文件中git status。
所以我希望排除而不是忽略,但我找不到 git-clean-exclude 设置。有人遇到过这个问题吗?如果有,他们是如何解决的?
我正在尝试清理我的工作树,但是,当我输入时git clean --force什么也没有发生。
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Untracked files:
(use "git add <file>..." to include in what will be committed)
packages/Microsoft.AspNet.WebPages.2.0.30506.0/
packages/Microsoft.Data.Edm.5.2.0/
packages/Microsoft.Data.OData.5.2.0/
packages/Microsoft.Net.Http.2.0.20710.0/
packages/Microsoft.Web.Infrastructure.1.0.0.0/
nothing added to commit but untracked files present (use "git add" to track)
$ git clean --force
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git …Run Code Online (Sandbox Code Playgroud) 假设我创建(但不提交)一个文件file.txt,然后输入git checkout HEAD或git checkout HEAD .。我认为git checkout基本上用您提供的提交时的快照覆盖了您当前的工作文件,所以我认为这会删除file.txt. 但事实并非如此。为什么?
有没有办法像git clean -d -x -f使用GitPython一样?
我需要重置工作目录,并希望摆脱所有未版本控制的文件而不删除整个文件夹(除了.git)并再次签出.
这不是关于' - '的一般问题,如标记的副本.这是一个特定于git的问题,要求明确所提到的命令之间的操作差异.
如果我想清除当前目录而不进行存储或提交,我通常会使用以下命令:
git reset HEAD --hard
git clean -fd
Run Code Online (Sandbox Code Playgroud)
一位同事还提到使用这个命令:
git checkout -- .
Run Code Online (Sandbox Code Playgroud)
对谷歌来说这是一个困难的命令,而且从git文档中我不清楚这个命令实际上做了什么.它似乎是手册中后面提到的用法之一.
猜测它会复制git reset HEAD --hard,但与我已经使用的命令相比,它究竟做了什么呢?
它是复制一个还是两个命令,还是相似但略有不同?
我刚刚使用了"git clean"命令并设法删除了我的文档,音乐和其他目录.有没有办法撤消这个并以某种方式获取这些文件?我通过Mac上的终端这样做了.Time Machine也没有设置.