我有一个小的Bash脚本,其中包含一些Git命令。 (出于某些原因,我不能在这里使用git hook。)
基本上,它确实
git pull origin <<some repo>> || { echo "Git pull FAILED"; exit 1; }
# do something with the new/changed files on the file system
在不可重现的情况下,这会失败。在这些情况下,使用旧版本的文件(处于git pull
之前的状态)而不是新文件(在git pull
之后的状态)。
但是,如果我手动执行git pull
并且之后运行另一个命令,则从来没有任何问题。
所以,我现在想知道Git在拉动后是否有任何延迟/异步性更改文件系统上的文件。如果是:我如何处理它(可能避免sleep
或类似的东西)?如果没有:还有什么可能导致文件版本混淆?