当我在Visual Studio中的分支之间切换时,如何保留文件日期时间?

时间:2017-07-14 08:16:33

标签: git visual-studio visual-studio-2017

当我在Visual Studio中的分支之间切换时,如何保留文件日期时间?

假设我有一个包含多个文件,开发分支和新功能分支的Git仓库,并且我已对单个文件进行了修改。

当我在开发和功能分支之间来回切换时,修改后的文件的日期/时间会向前爬......但开发版本还没有更改!

我怎么能阻止这个? ... 旧学校SCM,所以我期待开发版恢复到原来的入住日期/时间

...我试图阻止的真正痛苦是,我想让dev安心备份到外部驱动器,并且我一直看到文件更改,实际上并没有&#39 ; t改变......

1 个答案:

答案 0 :(得分:1)

首先,不要这样做。对于依赖make等时间戳的工具,向后更改时间戳是一个问题。

其次,如果在分支之间切换是个问题 - 使用单独的克隆。每个分支一个克隆,它们被称为" worktrees"。不久前Git已经发展git worktree命令,但即使您使用较旧的git,您也可以简单地手动克隆存储库(在您的情况下为2),检查正确的分支(master和dev)并且永远不会再次更改分支。当然,您需要手动更新它们 - 从主存储库获取到dev,反之亦然。

第三,有Perl script将文件的时间戳设置为最后触及它们的提交的提交时间戳。该脚本对我不起作用(可能完全过时)所以我rewrote it in Python并在我认为可以向后更改时间戳的情况下在极少数情况下使用它。你甚至可以在post-checkout hook中使用它,虽然我建议反对它。