我正在为我的软件工程类(class)做一个小组项目,我的教授指出我在 Github 上设置的目录结构不正确。我现在想更正这个问题以避免被扣分,但我对使用 Git 还很陌生。基本上我们在 Github 上有如下结构。
src
--main
----java
------Source Files
--test
-----java
------Test Files
Various Ivy/Ant build files
.classpath
.gitignore
.git
.project
README.md
我需要创建一个名为 CodeComp 的新目录,它将包含上面的目录结构,但 README.md 除外,它应该与 CodeComp 目录处于同一级别。
由于我们的成绩取决于提交历史,因此需要保留这一点。有没有一种简单的方法可以做到这一点,还是我们最好只对最终项目成绩进行小额扣除?
更新: 以防将来其他人必须这样做:
- 转到包含项目的文件夹并创建新目录。
- 将所有需要的文件移到新目录中,除了 .* 文件。刷新 Eclipse。
- 无论 Eclipse 错误如何,提交目录更改并将其推送到存储库。
- 从存储库中手动删除 .classpath、.gitignore 和 .project 文件。
- 备份您的 .classpath 和 .gitignore 文件。删除存储库的本地副本并重新克隆它。
- 导入 Git 项目并选择将项目文件放在您新建的目录中。
- 将备份的 .classpath 和 .gitignore 复制到新的项目目录中。 push 改变。
最佳答案
理论上,您应该能够使用标准文件浏览器将除 .git 和自述文件之外的所有内容移动到新的子文件夹中,然后提交。
git 历史记录仍然存在,但它可能会将其视为两个单独的文件,一个已被删除,一个刚刚创建。根据我的经验,Git 并不喜欢移动文件。
在任何情况下,您的提交历史仍将在存储库中,它只是您移动文件时的 2 个独立部分。
但是,嘿......无论如何,展示这一举动可能是值得的。当我第一次学习版本控制时,我确信我正在四处移动文件。都是学习。
编辑:您可以通过在本地提交更改并在将其上游推送到 Github 之前检查历史记录来对此进行测试。
关于java - 在版本控制下的 Eclipse 项目中创建一个新的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033083/