过去Git提交文件,但是没有将它设置为HEAD?

时间:2018-05-15 17:26:02

标签: git github version-control

我有一堆旧的归档版本的文件从未在源代码控制中,我正在努力将其放入GitHub上的Git仓库中。我已经提交到存储库的最新版本的文件。因此,主分支中的最新版本是HEAD:

commit ab8d0899d5d17968fde96e483bf19a5222a6d981 (HEAD -> master, origin/master)
Author: Me <me@gmail.com>
Date:   Mon May 14 13:17:53 2018 -0600

    Initial commit with newest files

但是现在,我想使用创建它们的原始日期提交旧文件。我已经想出了如何做到这一点:

export GIT_COMMITTER_DATE="2001-11-03 00:00:00"
export GIT_AUTHOR_DATE="2001-11-03 00:00:00"
git commit -am 'Adding old file from 2001'

所以现在repo显示这个提交是在更旧的日期,这是完美的。但是,这个提交(即使它的日期比其他提交要早得多)是主服务器上的HEAD提交。

我的日志现在看起来像这样:

commit dbb7c6af9dac6dcf76614c2ac3506361b3ed5d95 (HEAD -> master)
Author: Me <me@gmail.com>
Date:   Sat Nov 3 00:00:00 2001 -0600

    Adding old file from 2001

commit ab8d0899d5d17968fde96e483bf19a5222a6d981 (origin/master)
Author: Me <me@gmail.com>
Date:   Mon May 14 13:17:53 2018 -0600

    Initial commit with newest files

因此,当我在GitHub上查看repo时,master分支显示2001年的OLD提交而不是最新版本。我如何解决这个问题,以便最新的提交是HEAD?

我尝试使用提交ab8d0899...进行硬重置,但基本上只是删除了2001提交。

是否有可能在不必“重新发送”最新文件的情况下完成此操作,只是为了让它再次成为HEAD?

1 个答案:

答案 0 :(得分:2)

从技术上讲,您可以运行git rebase -i --root。在rebase编辑器中,您可以交换提交。但是,您可能会遇到很多合并冲突。特别是如果您在提交了所有不同版本后执行此操作。

最干净的方式,恕我直言,实际上是删除并重新创建仓库,然后按时间顺序提交文件。即最后提交最新版本。

相关问题