我无法将“taget”目录添加到“.gitignore”文件中。我做了坏事:-(
martin@martin:~/git/gitRepo$ tree -L 3 -a
.
??? .git
...
??? .gitignore
??? MyProject
??? .classpath
??? pom.xml
??? .project
??? .settings
...
??? .springBeans
??? src
? ??? main
? ??? test
??? target
??? classes
??? m2e-wtp
??? test-classes
269 directories, 32 files
martin@martin:~/git/gitRepo$
martin@martin:~/git/gitRepo$ cat .gitignore
*.*~
*.class
*.jar
*.war
*.ear
MyProject/.classpath
MyProject/.project
MyProject/.settings/
MyProject/target/
/MyProject/target/
target
martin@martin:~/git/gitRepo$
martin@martin:~/git/gitRepo$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to …Run Code Online (Sandbox Code Playgroud) 我正在使用 Eclipse 和 git 构建一个 Android 应用程序。每次我提交时,我都会看到文件中的更改,我不知道我需要跟踪(例如,bin 文件夹中的一些)。在这种项目中,git 可以安全地忽略哪些文件夹?
当我输入 git status 时,我收到以下消息:
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: .DS_Store
modified: README.txt
modified: lib/PriceSeries.rb
Untracked files:
(use "git add <file>..." to include in what will be committed)
MM8 Prices.pdf
prices from EH.xlsx
Run Code Online (Sandbox Code Playgroud)
我希望能够说git add .,不添加未跟踪的文件。我相信 .gitignore 文件应该是为此。我的 .gitignore 文件(在 .git 文件夹中)如下所示:
#Ignore all xlsx files
.xlsx
#Ignore all pdf file
.pdf
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您能否向我展示.gitignorejava 文件的示例,其中考虑了许多未包含的不同文件(jar、war、classpath、IDEA 和其他 IDE 生成的文件等等)。我的意思是真的很大.gitignore。
我目前拥有的是
**/target/
/target/
*/target/*
.classpath
.project
.settings
# Package Files #
*.jar
*.war
*.ear
*.iml
*.idea
Run Code Online (Sandbox Code Playgroud) 我有一个使用 GIT 进行版本控制的网站。我有一个系统设置,基本上可以自动将我的master分支中的更改部署到我的生产服务器。也就是说,我的存储库中有一个 Web 钩子,它触发一个 PHP 脚本,该脚本基本上git pull在服务器上启动 a以便下拉更改。
我的问题在于我目前有一个config.php使用 git 跟踪的配置文件 ( )。我自己和另一个开发人员想要拥有config.php与服务器上的文件不同的我们自己的文件,因此我们想告诉 git 停止跟踪该文件并假装它不存在。
我们决定首先使用一个不太重要的文件进行测试,所以我们添加test.php到我们的.gitignore文件中,希望这能奏效。Git 仍在跟踪该文件,因此我尝试运行git rm --cached test.php以尝试停止跟踪该文件。这似乎奏效了,所以我们承诺并推动了我们的改变。
令我惊讶的是,当我们的部署脚本在我们的服务器上发起拉取时,我们发现该文件已从生产中删除。谢天谢地,删除test.php并不重要。
TLDR;我如何告诉 git 忽略它当前跟踪的文件,取消跟踪并从我的存储库中删除它,但在我的生产服务器上保持完整?
对于 PHP 项目,Netbeans 8.1 似乎总是忽略vendorGit 存储库中的目录,无论任何.gitignore文件的内容或项目ignore folders设置如何。
是否可以阻止 Netbeans 8.1 始终忽略该vendor目录?
例如,对于vendor目录与 Composer 无关的项目,或者对于运行代码所需的所有文件都应包含在存储库中的项目?
我只想忽略一个不带扩展名的文件。我可以按名称忽略某些文件,但是它们都有扩展名。不幸的是,我处理了一些不带扩展名的文件,这些文件不应该被忽略。因此,我无法使用此处提供的解决方案如何将文件中没有点的文件(所有无扩展名的文件)添加到gitignore文件中?。
有人知道实现此目标的方法吗?任何帮助表示赞赏。
当我开始我的项目时,我忘记将某些文件添加到我的 .gitignore 中,因此提交了我不应该添加的文件。之后我忽略了这些文件,如here所述。损坏已经发生,因为文件仍然存在于我的存储库的历史记录中,现在我的存储库大小为 10GB!
由于上述原因,我没有推送文件,因此重写历史记录应该没问题。简而言之,我需要做的是重写历史记录,以便之后当前文件中没有任何文件.gitignore存储库中的任何提交中存在。
编辑:有很多小文件导致大文件,所以关于如何删除超过特定大小阈值的所有文件的建议重复并不能解决这个问题。
我已经尝试了两者,并且得到了相似的结果。一直找不到答案。
在我们的 react-native 项目中,当在截然不同的分支之间切换时,我们经常使用以下脚本以避免复杂化。
"eject": "rm -rf ios/ && rm -rf android && react-native eject",
"fresh-start": "rm -rf ./node_modules && npm install && npm run eject"
Run Code Online (Sandbox Code Playgroud)
但是,如果该react-native eject命令更改了 ios/build/ 和 android 中的许多生成文件,为什么我们不 gitignore ios/ 和 android/?在许多 github 问题和存储库中,我看到人们充其量 gitignore 他们的构建/
gitignore ×10
git ×7
ignore ×2
android ×1
composer-php ×1
deployment ×1
java ×1
netbeans ×1
react-native ×1
vendor ×1