【发布时间】:2016-03-06 02:58:51
【问题描述】:
我正在为我的软件工程课程做一个小组项目,我的教授指出我在 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 复制到新的项目目录中。推送更改。
【问题讨论】:
-
关于你的提交历史,github 的提交历史真的很容易编辑。您甚至可以伪造上传时间。但是,嘿,我想知道它是否属于学术不诚实:p
-
实际上,您当前的结构看起来比建议的结构更好。采用当前方法更为标准。除了目标目录,它不应该在 Git 中。
-
这只是为了显示每个学生在年级的各个部分对项目的贡献。我目前已经完成了 80% 的项目,所以我真的不想失去历史。大声笑
-
@ErikPragt 哎呀。我的意思是 Eclipse 中的目录结构。我们在 Github 上没有 target/ 目录。我会编辑。
-
@James 啊,更好。好吧,就像我说的,我认为您当前的方法更好,而且我无法想象重构项目结构会影响您的成绩。否则:Git Rewrite History