我正在尋找一種預先檢測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