相关疑难解决方法(0)

如何让Git"忘记"一个被跟踪但现在位于.gitignore的文件?

有一个文件被跟踪git,但现在该文件在.gitignore列表中.

但是,该文件在git status编辑后会一直显示.你怎么强迫git完全忘掉它?

git gitignore git-rm

4888
推荐指数
25
解决办法
111万
查看次数

忽略已提交到Git存储库的文件

我有一个已经初始化的Git存储库,我添加了一个.gitignore文件.如何刷新文件索引以便忽略我想忽略的文件?

git version-control caching gitignore git-rm

2429
推荐指数
21
解决办法
68万
查看次数

全球Git无视

我想设置Git全局忽略某些文件.

我已经.gitignore在我的用户根目录(/Users/me/)中添加了一个文件,并在其中添加了以下行:

*.tmproj
Run Code Online (Sandbox Code Playgroud)

但它并没有忽略这种类型的文件,任何想法我做错了什么?

git global gitignore

795
推荐指数
9
解决办法
30万
查看次数

git如何存储文件?

我刚开始学习git并且这样做我开始阅读Git社区书,在本书中他们说SVN和CVS存储文件之间的差异,而git存储所有文件的快照.

但我并没有真正了解快照的含义.git是否真的复制了每个提交中的所有文件,因为这是我从他们的解释中理解的.

PS:如果有任何人有更好的学习git的来源我会很感激.

git

204
推荐指数
3
解决办法
7万
查看次数

吉蒂格尔没有工作

我的.gitignore文件由于某种原因无法正常工作,并且没有任何谷歌搜索能够修复它.这是我有的:

*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
Run Code Online (Sandbox Code Playgroud)

它在目录中master,这是我的git repo.我正在运行Git 1.8.4.2因为我在MacBook上运行OSX 10.8.6.

git gitignore

192
推荐指数
10
解决办法
15万
查看次数

为什么.gitignore不会忽略我的文件?

见下图.我的.gitignore文件应该忽略src/dist中的所有文件,但不是.

在此输入图像描述

git gitignore visual-studio-code

48
推荐指数
8
解决办法
3万
查看次数

git add添加被忽略的文件

我试图删除混帐,其工作的先前跟踪的目录,但它是被加回以后每次git add .,git add -A等这里是我做了什么:

在项目的根目录中添加.gitignore:

node_modules
Run Code Online (Sandbox Code Playgroud)

运行以下命令:

git rm -r --cached node_modules
git commit -a -m "removed node_modules"
git push origin master
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,这将从远程存储库中删除目录.问题是当我稍后运行git status它时告诉我node_modules目录是未跟踪的并且在将来的提交中继续添加它.

我缺少什么和/或如何找到问题的根源?

这里:

默认情况下,git add命令不会添加被忽略的文件.... git add命令可用于使用-f(强制)选项添加被忽略的文件.

评论中的其他信息:

我正在跟踪.gitignore文件.

git check-ignore node_modules/ 按预期返回node_modules /.

不使用子模块.

更新:

我已经创建了一个示例,可以按照上述步骤复制问题:

https://github.com/awhitehouse104/SampleRepo

解析度:

总结下面的答案和评论,问题在于我的.gitignore文件的编码.我曾经习惯echo 'node_modules' > .gitignore在Windows 8上创建文件,它以带有BOM的UTF-16形式出现(根据下面的答案).经过一些谷歌搜索后,似乎这是PowerShell的默认编码,我可以确认保存为UTF-8似乎已经解决了这个问题.

tldr; 可能不使用这种创建.gitignore文件的方法或准备更改编码

echo 'node_modules' > .gitignore

git gitignore

47
推荐指数
3
解决办法
4万
查看次数

PowerShell out-file:阻止编码更改

我正在进行一些搜索和替换操作,我正在尝试使用PowerShell进行自动化.不幸的是,我昨天认识到我们的代码库中有不同的文件编码(UTF8和ASCII).因为我们在不同的分支中执行这些搜索和替换操作,所以在此阶段我无法更改文件编码.

如果我正在运行以下行,它会将所有文件更改为UCS-2 Little Eindian,即使我的默认PowerShell编码设置为iso-8859-1(西欧(Windows)).

$content = Get-Content $_.Path
$content -replace 'myOldText' , 'myNewText' | Out-File $_.Path
Run Code Online (Sandbox Code Playgroud)

有没有办法阻止PowerShell更改文件的编码?

powershell encoding file-encodings

25
推荐指数
1
解决办法
3万
查看次数

使用SASS和Git,我会忽略哪些文件以及如何?

我的/project目录中有一个框架,我有多个.sass-cache文件夹.

例如,我可以拥有这个

/project/-/-/one/.sass-cache
Run Code Online (Sandbox Code Playgroud)

还有这个

/project/-/-/two/.sass-cache
Run Code Online (Sandbox Code Playgroud)

还有这个

/project/three/.sass-cache
Run Code Online (Sandbox Code Playgroud)

我想添加所有的.gitignore.我试过这个:

# Sass #
###########
*.sass-cache*
Run Code Online (Sandbox Code Playgroud)

但它失败了,而且git仍然接受了它们的变化.如何将我的.sass-cache文件夹正确添加到我的.gitignore文件中?

css git sass

25
推荐指数
2
解决办法
2万
查看次数

撤消git rm -r --cached

我的.gitignore文件没有用,所以我按照这个问题.

现在我有一堆我需要提交的文件,以便继续.我犯了一个错误并犯了错误,因为我找不到办法摆脱那些.

有什么方法可以恢复所有这些行动吗?我不能做reset因为我现在得到错误: error: The following untracked working tree files would be overwritten by checkout.

愚蠢的愚蠢错误,我可以找到解决方案.

git

25
推荐指数
3
解决办法
1万
查看次数