0

由于缺乏相关知识,我没有使用任何类型的版本控制,但刚开始使用 Git,所以我知道git add {filename}, git commit -u {filename}, git push origin master.

作为在 Git 之前跟踪更改的一种方式,我为我处理的每个文件制作了多个副本,例如原始文件可能已命名为 abc.php,第一个更改可能已命名为 abc_20130101.php,第二个更改可能命名为 abc_20130102。 php等

看到这些是一段时间内的变化并且我有多个文件,将这些迁移到托管服务的最佳方法是 GitHub、BitBucket 等。

我是否创建单个存储库并克隆存储库?那么我想避免将文件作为单个推送提交,因为它们实际上是不同的版本?最好的方法是什么?我该怎么做?

4

2 回答 2

2

David Culp 的回答很棒,而且我打字的速度有点慢。无论如何,我会把我的留在这里。

我的建议是保留旧文件原样,并将它们保存为档案。从今天开始使用 Git,让它跟踪您的文件的新更改。

如果您真的想将您的开发历史记录到 Git 中,我会使用全新的存储库执行以下操作:

  • 将您最旧版本的 abc.php 复制到存储库中,确保它被命名为 abc.php(即从文件名中删除日期),并且对于具有相同日期的任何其他文件也是如此。
  • 做一个git add .
  • 做一个git commit -m "Files from 2013-01-01"
  • 按时间顺序对每个版本重复
  • 推送到 GitHub/BitBucket

请务必最后添加当前版本。

注意:如果您是自己工作,则不需要 GitHub / BitBucket 等在线服务。Git 可以很好地与您 PC 上的独立存储库配合使用。

于 2013-01-15T22:44:59.687 回答
0

如果您希望 git 存储库反映项目的历史,则需要付出一些努力。

基本步骤是获取所有具有日期的文件(存档文件)的列表。使用它来创建“修订”列表,然后执行以下操作:

for each revision
    recreate the project as it was in that state (renaming files so they don't have dates)
    copy the files to the repository
    add files to index
    commit files to repository

最后你会得到一系列代表项目开发的提交。这可能需要大量工作,具体取决于您最终进行了多少次修订。

您可能能够编写大部分工作的脚本,但最终可能更容易手动完成。

但是,这将导致存储库在文件更改的每个日期都有提交。通过组合与单个项目功能相关的“修订”,可以减少提交的数量。

于 2013-01-15T22:27:46.300 回答