我正在寻找一种预先检测git pull
或git merge
是否会失败的方法。我想要执行的那种脚本是更新服务器。如何抢先gpt pull合并错误?
git fetch
git okay
stop server
backup data
git merge
start server
这里git okay
是我要求的命令的占位符。
如果文件在提交之外发生了更改,则git pull
将失败,并显示以下错误。
error: Your local changes to '...' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
我想git okay
执行中git merge
描述的预合并检查,并返回非零状态,以便服务器停止前的脚本中止。
我查找和未找到的可能性包括git merge --dry-run
。我最好的想法是git status --porcelain | pre-merge-okay
。做一个pre-merge-okay
处理像良性未跟踪文件这样的事情似乎有很多工作要做。
您能否按照您希望工作目录和索引的行为来表达您的问题?这听起来可能是你运行在工作目录之外,运行中的服务器可以更改工作目录中的文件,并且您正在寻找一种方法来测试合并是否会自动解析,而不会打扰任何文件在工作目录中(尽管我不知道你是否在意索引的改变)。 – Mickalot