当我在Visual Studio中的分支之间切换时,如何保留文件日期时间?
假设我有一个包含多个文件,开发分支和新功能分支的Git仓库,并且我已对单个文件进行了修改。
当我在开发和功能分支之间来回切换时,修改后的文件的日期/时间会向前爬......但开发版本还没有更改!
我怎么能阻止这个? ... 旧学校SCM,所以我期待开发版恢复到原来的入住日期/时间
...我试图阻止的真正痛苦是,我想让dev安心备份到外部驱动器,并且我一直看到文件更改,实际上并没有&#39 ; t改变......
答案 0 :(得分:1)
首先,不要这样做。对于依赖make
等时间戳的工具,向后更改时间戳是一个问题。
其次,如果在分支之间切换是个问题 - 使用单独的克隆。每个分支一个克隆,它们被称为" worktrees"。不久前Git已经发展git worktree命令,但即使您使用较旧的git,您也可以简单地手动克隆存储库(在您的情况下为2),检查正确的分支(master和dev)并且永远不会再次更改分支。当然,您需要手动更新它们 - 从主存储库获取到dev,反之亦然。
第三,有Perl script将文件的时间戳设置为最后触及它们的提交的提交时间戳。该脚本对我不起作用(可能完全过时)所以我rewrote it in Python并在我认为可以向后更改时间戳的情况下在极少数情况下使用它。你甚至可以在post-checkout hook中使用它,虽然我建议反对它。