我的 gitignore 有什么问题?
What is wrong with my gitignore?
我的 .gitignore
文件有什么问题?
build/
/build
/*/build/
/*/*/build/
build/
这是我的目录结构:
myroot
FacebookSDK
+--src
+--build
+--foo
+-- bar
app
+--scr
+--build
build
+--other stuff...
+--other stuff..
.gitignore
other stuff...
问题是foo和bar没有被忽略!
可能出了什么问题?
xxxxs-my:xxxx xxx$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: FacebookSDK/FacebookSDK.iml
modified: FacebookSDK/build.gradle
modified: FacebookSDK/build/intermediates/bundles/debug/classes.jar
modified: FacebookSDK/build/intermediates/bundles/debug/res/drawable/com_facebook_button_blue.xml
我相信这是因为您忽略的三行来自根目录:
/build
/*/build/
/*/*/build/
它们何时应该来自当前目录:
./build
./*/build/
./*/*/build/
尝试使用
build/
**/build/
在 .gitignore
如果文件已被跟踪,请使用 git rm --cached myfile
将它们从版本控制中删除,但将它们保留在本地仓库中。一旦从版本控制中删除,它们就不会在更改时被检测到。
你应该只需要这条规则,per the documentation:
**/build
这将在全局范围内排除 build
个文件夹。
如果之前添加了这些文件夹中的任何一个,您必须通过 git rm
从 Git 中删除它。
你的.gitignore
实际上有什么问题:
/build
和build/
是等价的;它们将匹配顶级 build/
文件夹。
/*/build
和 /*/*/build
不匹配任何内容。
我的 .gitignore
文件有什么问题?
build/
/build
/*/build/
/*/*/build/
build/
这是我的目录结构:
myroot
FacebookSDK
+--src
+--build
+--foo
+-- bar
app
+--scr
+--build
build
+--other stuff...
+--other stuff..
.gitignore
other stuff...
问题是foo和bar没有被忽略!
可能出了什么问题?
xxxxs-my:xxxx xxx$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: FacebookSDK/FacebookSDK.iml
modified: FacebookSDK/build.gradle
modified: FacebookSDK/build/intermediates/bundles/debug/classes.jar
modified: FacebookSDK/build/intermediates/bundles/debug/res/drawable/com_facebook_button_blue.xml
我相信这是因为您忽略的三行来自根目录:
/build
/*/build/
/*/*/build/
它们何时应该来自当前目录:
./build
./*/build/
./*/*/build/
尝试使用
build/
**/build/
在 .gitignore
如果文件已被跟踪,请使用 git rm --cached myfile
将它们从版本控制中删除,但将它们保留在本地仓库中。一旦从版本控制中删除,它们就不会在更改时被检测到。
你应该只需要这条规则,per the documentation:
**/build
这将在全局范围内排除 build
个文件夹。
如果之前添加了这些文件夹中的任何一个,您必须通过 git rm
从 Git 中删除它。
你的.gitignore
实际上有什么问题:
/build
和build/
是等价的;它们将匹配顶级build/
文件夹。/*/build
和/*/*/build
不匹配任何内容。