【问题标题】:Indecision on which files to upload on GitHub犹豫要在 GitHub 上上传哪些文件
【发布时间】:2014-11-27 10:21:32
【问题描述】:

我有一个用 Eclipse 制作的 java 项目。

在处理一个项目时,Eclipse 会创建一堆文件和文件夹,我应该在 GitHub 上上传哪些文件夹和文件?

我认为应该上传src 文件夹下的所有内容。我对吗?我应该提交 .java 还是 .class 文件?

【问题讨论】:

  • +1 我还在为此苦苦挣扎。某些 IDE 不会将您创建的所有内容都放在 src 中,例如测试用例或 makefile。但似乎您必须包含要添加到 git 的最低通用文件夹,其中包含一堆您不想要的东西。很快事情就变得一团糟。 Here's my question

标签: java eclipse git github


【解决方案1】:

源代码控制(例如 git)用于提交任何可以称为源代码而不是特定于环境的内容。所以代码,相关资源应该去,但任何 IDE 特定的文件。

【讨论】:

  • 感谢您的回答。我更新了问题。请看一下。
  • @JackScotti 只提交源文件而不是编译文件,即只提交 .java 而不是 .class 文件
  • 太好了,这就是我想知道的。你赢了。
【解决方案2】:

在项目特定或全局范围内使用 gitignore。最简单的方法是在项目根存储库中创建一个 .gitignore 文件。比如

# Eclipse
.classpath
.project
.settings/

# Intellij
.idea/
*.iml
*.iws
out/
artifacts/

# Mac
.DS_Store

# Maven
log/
target/ 

【讨论】:

  • 为什么要忽略 .project 和 .classpath 之类的东西?您想在每次签出时重新配置您的项目?
  • 感谢您的回答。我更新了问题。请看一下。
  • popovitsj 这在某种程度上是一个品味问题。我通常倾向于不包含可能包含绝对路径或特定于 IDE 的文件。
【解决方案3】:

这取决于您也想共享哪些文件。

例如,在我现在的公司,我和我几乎所有的同事都使用 Eclipse,所以我们也存储了 .project" 和 .classpath。这非常方便,因为 .classpath 中的更改只进行一次,然后传播到所有开发人员。

如果您的根文件夹既是 git repo 根目录又是您的工作区,您可能不想上传 .metadata 文件夹,因为它包含特定于每个不同开发人员的设置。而且,无论如何,您都希望忽略 Eclipse 的编译目录(通常是 /bin)。

想想你想分享什么和/或版本,这可能会给你一个上传/忽略的列表。

编辑:如前所述,仅上传 .java 文件,.class 文件是源代码的产物,必须生成,而不是存储。

【讨论】:

  • 如果您使用 Maven,大多数设置都会从那里更新。然后你就不需要 IDE 特定的文件了,因为它们变成了派生资源(很像类文件)。
  • 如果您使用 Maven,是的,这是真的。但是 Jack 没有提到 Maven,而且我们也没有在所有项目中使用它,这就是我之前给出这个例子的原因。反正原来的问题已经解决了:)
猜你喜欢
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2010-11-19
  • 2013-10-29
  • 2010-10-17
  • 1970-01-01
  • 2012-04-16
相关资源
最近更新 更多