我正在构建一个小python脚本,它应该在每次启动时自行更新。目前我正在考虑将MD5哈希放在“网站”上,并通过srcipt本身将文件下载到临时文件夹中。然后,如果MD5哈希排队,临时文件将移动旧文件。
但现在我想知道git是否会做这样的事情。
如果互联网连接断开或者在执行git pull时电源中断怎么办?我还会有“旧”版本还是一些中间混乱?
由于我的aproach使用来自os的原子重命名,我至少可以确保每个文件都是旧的或新的,但不会搞砸。这对git也是如此吗?
答案 0 :(得分:0)
pull是一个复杂的命令,它会根据配置做一些不同的事情。这不是你应该在脚本中使用的东西,因为它会尝试合并(或者如果这样配置就重新定义),这意味着带有冲突标记的文件可能留在文件系统上,这将使任何试图编译/解释这些文件的东西没有这样做。
如果要切换到特定版本的文件,则应在从checkout -f <remote>/<branch>
获取后使用<remote>
之类的内容。请记住,git无法知道您有什么特殊需求,因此如果您正在编写脚本,它应该能够执行一些健全性检查(例如,确保没有额外的文件)