我正在使用PyCharm开发一个Python项目,该项目在我的项目中包含一个#include <iostream>
#include <memory>
class Box{
private:
double length;
double width;
double height;
public:
Box(double lengthValue, double widthValue, double heightValue);
double volume() const;
};
Box::Box(double lValue, double wValue, double hValue):
length {lValue}, width {wValue}, height {hValue} {
}
double Box::volume() const {
return length * width * height;
}
int main() {
Box Box2 {1.5,2.5,3.5};
std::cout << Box2.volume() << std::endl;
auto Box3 = std::make_unique<Box>(1.5,2.5,3.5);
std::cout << Box3->volume() << std::endl;
return 0;
}
文件夹。
因为项目的维护者不希望贡献者编辑项目.idea
,所以我向.gitignore
添加了一个.gitignore_global
文件,其中包含两行:
~/{myuser}
我运行了命令
# comment line because git has a bug where sometimes the first line is ignored
.idea/
运行git config --global core.excludesfile "C:\\Users\\{myuser}\\.gitignore_global"
,仍会显示以下内容:
git status
我尝试运行这两个命令:
Untracked files:
(use "git add <file>..." to include in what will be committed)
.idea/
第一个导致错误:
git rm --cached -r .idea/
git update-index --assume-unchanged .idea/
第二个没有任何改变。
如何让git忽略此文件夹?
答案 0 :(得分:1)
问题是我想忽略的目录名后不必要的空格字符......
原始全局排除了文件:
#
.idea/ <--- there's a space here
固定的(无空格):
#
.idea/
我发誓这就是问题...无论如何,谢谢大家的帮助!
如果这有助于将来某人,我在Windows 7上使用git version 1.9.5.msysgit.1。
答案 1 :(得分:0)
如果Git没有跟踪该文件夹,它不应该出现在github中。您是否尝试检查存储库以确保它实际上载?如果是,请尝试将.idea文件夹移出项目,进行提交,然后将其重新放入全局.gitignore。如果未跟踪文件的更改,但它已存在于存储库中,则它将保留在存储库中。它只是不会更新。
答案 2 :(得分:0)
我认为问题是git config --global core.excludesfile "C:\Users\{myuser}\.gitignore_global"
,因为您使用\
并且它是转义字符。尽量加倍。
答案 3 :(得分:0)
文件.gitignore
只会影响尚未添加的文件,因此您的回购邮件中的.idea/
是否会生效?
如果您的.idea/
文件夹已被跟踪,请执行git rm -r --cached path_to_your_folder/
答案 4 :(得分:0)
永远不会使用update-index --asume-unchanged
它可能会显示您想做的事情,但您更有可能冒险冒险。
您的描述很可能是core.excludesfile
值的问题。
你在使用Git for Windows还是Cygwin Git?如果是后者,则可能需要设置cygwin路径,而不是windows路径。
另外,您也可以在.git/info/excludes
中进行排除,但它们当然只适用于此回购,而非您尝试过的所有回购。
您也可以使用git check-ignore .idea/ --no-index -v -n
或类似命令诊断结果。