Git:自动备份创建时的所有提交

有我想要的东西.我希望它存在,如果不存在,我可能会创建它.我会形容它,如果你知道这样的话,请告诉我.如果没有,你有任何关于如何创建它的指示,我也会很感激.

我多年来一直在为我的项目使用Git,但直到现在我才开始在一家大公司工作,回收大约100名开发人员.当我独自工作并在小团队中工作时,我已经习惯了多次提交,暂存所有文件,并使用空提交消息(是的,这就是我滚动的方式.)我基本上使用了提交作为扩展保存操作;每当我键入一些非常重要的代码时,我都会将其全部提交并推送到非主分支.

现在我在一家大公司工作,我不能这样做,因为这对其他人来说会很麻烦.所以我仍然会做频繁的,没有文档的提交,但是当我完成后,我通过重新设置压缩所有这些,给他们一个很好的信息提交消息,并发送一个合并请求只是提交.我的所有临时提交都将在下一次垃圾收集运行时删除.

我不喜欢我的所有临时提交都被删除.他们可能很丑,但我爱他们.有时候他们会编写一些代码然后删除,我不想丢失那些代码.也许我将来会再次需要它.

现在,我可以将所有这些提交放在私有分支上.但是创建和维护这样一组分支将是一件麻烦事.因为这意味着每个功能分支现在都需要另一个辅助分支,它将永远保持打开和未合并.呸.

我想要的是一个系统,可以保存在Git中提交的任何提交,并确保在可预见的将来它将保持可访问状态.这对我来说很重要,这将是自动的,无需采取任何行动.我想知道我可以回到我所做的任何承诺,即使它在壁球中丢失了.

这样的事情存在吗?有没有创建它的指针?

最佳答案 一个可能的想法是设置一个 post-commit hook,它将每个创建的提交推送到一个专用的仓库.

该推送将使用当前分支,或者,如果由于非快进推送(分支已被重新定位/重写)而拒绝推送到“current_branch_1”(_2,_3 …)以便保持以前推动的旧历史不变.

这样,你继续以正常的方式使用你当前的repo(使用rebase / reset,一旦reflog被清除,最终可能会松开提交).
然而,在“归档”仓库中仍然可以看到创建的每个提交.

点赞