Red*_*ddy 69 java eclipse git gitignore
我一直告诉我和其他人不要提交.classpath和.project文件并使用Maven.
不知何故,初级开发人员总是忽略某些规则并提交这些文件,并且为可以跳转并开始使用代码的新手提供这样的文件要好得多.
现在从myside,我想尝试/做一些事情.当我克隆repo时,我将获得.classpath和.project文件,当然它们会在我的系统中被修改.
但我希望它们不会被提交,并且在与Git同步时应该始终被忽略.因此,我在本地系统中的更改不会搞砸Git和Git这些文件的更改不会弄乱我的本地文件.
我该如何实现这一目标?无论如何要以这种方式标记要忽略的文件?
Von*_*onC 104
如果.project和.classpath已经提交,则需要从索引中删除它们(但不是磁盘)
git rm --cached .project
git rm --cached .classpath
Run Code Online (Sandbox Code Playgroud)
然后.gitignore工作(并且可以通过克隆添加和共享该文件).
例如,此gitignore.io/api/eclipse文件将起作用,其中包括:
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在克隆时使用" 模板目录 "(确保您的用户将环境变量$GIT_TEMPLATE_DIR设置为所有人都可访问的共享文件夹).
该模板文件夹可以包含一个info/exclude文件,其中包含您希望对所有存储库强制执行的忽略规则,包括任何用户将使用的新的().git init
VIJ*_*VIJ 10
在.gitignore中添加以下行,并将文件放在ur项目文件夹中
/target/
/.classpath
/*.project
/.settings
/*.springBeans
Run Code Online (Sandbox Code Playgroud)
此类场景的 git 解决方案是设置SKIP-WORKTREE BIT。仅运行以下命令:
git update-index --skip-worktree .classpath .gitignore
Run Code Online (Sandbox Code Playgroud)
当您希望 git忽略已由 git 管理并存在于 index 上的文件更改时使用它。这是配置文件的常见用例。
运行git rm --cached不适用于问题中提到的场景。如果我简化问题,它会说:
当每个人都可以在本地更改它并且 git 忽略此更改时,如何在 repo 上拥有
.classpath和.project?
正如我在接受的答案下评论的那样,缺点git rm --cached是它会导致索引发生更改,因此您需要提交更改,然后将其推送到远程存储库。作为结果,.classpath而.project不会同时PO希望他们能有这么任何人克隆回购首次,就可以利用它提供的回购。
基于 git 文档:
跳过工作树位可以用一个(长)句来定义:当读取一个条目时,如果它被标记为跳过工作树,那么 Git 会假装它的工作目录版本是最新的,而是读取索引版本。虽然这个位看起来类似于假设未更改的位,但它的目标与假设未更改的位不同。当两者都设置时,跳过工作树也优先于假设不变位。
可在此处获得更多详细信息。
| 归档时间: |
|
| 查看次数: |
81873 次 |
| 最近记录: |