昨天我花了几个小时调试我的git repo的问题,git reset HEAD --hard因为导致问题的文件被忽略了.gitignore.有没有办法"刷新"或"清理"所有被忽略的文件的git仓库,以便只有git跟踪的文件存在?
我终于通过删除repo并再次从github克隆它来解决我的问题,但是在将来,我想立即删除所有可能存在问题的文件(那些被忽略的文件).
当我运行git clean --dry-run结果有点像:
Would remove an_untracked_file
Would remove an_untracked_file_2
Would not remove some_unrelated_folder/subfolder/
Run Code Online (Sandbox Code Playgroud)
跟踪"无关"文件夹并且没有任何更改,因此我不希望git删除它们.
但是,为什么git报告Would not remove我的项目的一些(但不是全部)正常(并且完全未触及)文件夹?
我可以告诉git要考虑什么,但然后决定反对,删除它们?
git status仅列出我所知道的几个未跟踪文件.正如所料.
git ls-files --other --exclude-standard返回那些相同的未跟踪文件.正如所料.
git ls-files --other --exclude-standard --directory返回那些相同的未跟踪文件,以及一堆看似正常的目录.这不是我期望看到的,因为我认为目的 --directory是减少,而不是增加返回的结果数量.
在检查意外目录时,似乎每个目录都是空的,除了".gitignore"d .svn子文件夹.也许这会影响事物.
任何人都可以帮我理解这种行为吗?
谢谢
Android Studio 3.4。
Project SDK(Android API 19平台)。
不使用FindBugs或SpotBugs。
每次尝试构建时,都会出现此错误:
Information:9/05/2019 4:02 PM - Compilation completed with 1 error and 0 warnings in 1 s 763 ms
Error:Internal error: (java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index
java.lang.ClassNotFoundException: com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.intellij.util.indexing.counters.IndexCounters.<clinit>(IndexCounters.java:34)
at com.intellij.util.indexing.impl.MapReduceIndex.<init>(MapReduceIndex.java:86)
at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex$CompilerMapReduceIndex.<init>(CompilerReferenceIndex.java:214)
at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex.<init>(CompilerReferenceIndex.java:73)
at org.jetbrains.jps.backwardRefs.JavaCompilerBackwardReferenceIndex.<init>(JavaCompilerBackwardReferenceIndex.java:12)
at org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexWriter.initialize(JavaBackwardReferenceIndexWriter.java:74)
at org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexBuilder.buildStarted(JavaBackwardReferenceIndexBuilder.java:40)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:358)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:178)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:302)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:135)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:229)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在我的工作流程中学习使用Git,我想问一下我如何更容易地做到这些.
我经常创造不同的分支,以便做一些事情,看看它们是否适合我.当我切换分支时,如何将工作目录保存在上次提交的文件和文件夹中?因此,例如当我从branch_A切换到master时,我的工作目录将拥有我在上一次提交的文件夹和文件,或者当我切换到branch_B时,我的工作目录将包含所有来自branch_B等的最后一次提交
假设我使用以下方法之一隐藏了一些更改:
git stash -u
git stash --include-untracked
Run Code Online (Sandbox Code Playgroud)
我可以通过存储区签出一个单独的文件
git checkout stash@{0} -- filename
Run Code Online (Sandbox Code Playgroud)
如果git知道"filename",那就行,但如果"filename"未跟踪则不起作用.有没有办法从藏匿处检查未跟踪的文件?
这应该很简单,但我找不到正确的答案我是新来的git我添加了一堆新文件(没有上演)到我的git树我想删除它们而不删除该目录中任何命令的git ignore文件?该
git clean -nd
Run Code Online (Sandbox Code Playgroud)
命令告诉我它将擦除我所有的.git忽略文件?
在svn工作目录中,我可以
在git中有一个等效的命令吗?你能告诉我怎么做吗?
我是 Git 新手。几天前,在谷歌快速建议后,我尝试用“git reset”撤消“git add --all”。幸运的是,我的工作目录似乎没有受到任何实质性损害,但是 Git 添加了我在 .gitignore 中列出的 angularjs 模块的文件夹,现在这个文件夹(以及其中的所有内容)在“git status”中显示为“未跟踪” ”。它在重置之前没有,并且 gitignore 中没有其他东西可以执行此操作。我尝试了一些解决方案,包括“git rm -r --cached node_modules”,这个Git 未跟踪文件列表是错误的,但它仍然存在。所有建议表示赞赏!
我创建了一个补丁,其中包含文件名大小写更改:
git mv -f confvars.sh ConfVars.sh
git commit -am 'test filename case change'
git format-patch -M -1 HEAD
Run Code Online (Sandbox Code Playgroud)
但是当我尝试应用该补丁时,出现错误:
git apply 0001-test-filename-case-change.patch
> error: ConfVars.sh: already exists in working directory
Run Code Online (Sandbox Code Playgroud)
如何应用此补丁而不引发错误?
**编辑**
为了澄清上面的例子:当应用补丁时,文件 ConfVars.sh 不存在,文件 confvars.sh 确实存在,我希望它被重命名,而是显示上述错误。
我正在尝试清理我的工作树,但是,当我输入时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)