2014-05-12 83 views
10

我正在开发一个git项目(托管在GitHub上)并使用Gi​​tHub for Windows。昨天,我取得了很多成就,但GitHub for Windows保护我(说它不能提交),我无法承诺。Git(GitHub)在过去的日期提交

我不想失去我的GitHub提交条纹,所以我想知道是否有任何方式提交过去的日期并与我的GitHub同步(如果这是可能的话)。

另外:我已经在git-bash中提交了我的提交,但还没有提交。

+0

重复:http://stackoverflow.com/questions/3895453/how-do-i-make-a-git-commit-in-the-past – ctor

+0

@ctor该问题没有指定GitHub结果..它会以同样的方式工作吗? – EpicDavi

+1

@EpicDavi:是的,GitHub的工作原理与其他远程git仓库一样。然而,问题是关于回溯提交去*先于其他承诺*,这不仅仅是回溯下一提交更加复杂。 – sleske

回答

16

虽然问题“How do I make a Git commit in the past?”介绍如何修改提交的作者日期:

git commit --amend --no-edit --date="Fri Nov 6 20:00:00 2015 -0600" 

运行,经过提交修改最后一次提交与时间戳指出。
--no-edit将原样保留消息。

的OP问:

这个问题没有明确规定GitHub的结果......它会以同样的方式工作?

是:存在多个项目,允许您生成并推送“过去完成”提交,以便更新您的贡献图表。

参见例如contribution.io或(更准确地)github-contribution

所有你需要做的,是推动这些修改提交您的GitHub库的master分支,为I mention here

+0

sleske评论说,链接的问题是在其他提交之前解释提交的提交。你知道任何更简单的方法来备份我最新的待提交吗? (最新的代码) – EpicDavi

+1

@EpicDavi最新的提交:http://stackoverflow.com/a/9110424/6309 – VonC

+0

我是先提交然后运行这个命令,还是这个命令为我提交? – EpicDavi

1

由于是Git的..如果你已经在那一天你拥有了它在内存中的承诺,它可以随时为在连胜信贷日后推迷死人。关于它的唯一棘手的部分是,记住你在任何一天正在处理的回购。

可以这样说:您的项目在当时是私有的...假设它没有授权,可以分叉,克隆,推送到您自己的新repo ..从原始项目的任何提交都会填充您的贡献历史记录。

比方说:你一直在做一组项目......你可以得到的捐款,如果你是一个贡献者,并取得了提交,加入该项目,以自己的回购协议。

有几十个哈克解决方案,以GitHub的条纹.. 但是让我们面对它...它总是更好地利用好,原代码所有权..

13
git commit --allow-empty --date="Sat Nov 14 14:00 2015 +0100" -m '2 Dec commit' 

它将创建空的,承诺提供日期

+0

DId不回答问题,但感谢信息 –

+0

@ std''OrgnlDave为什么你认为答案不完整? – Yash