[英]how to get list of conflicted files before merging?
我正在制定一個例程,以在每次合並之前執行。 它將運行單元測試並檢查其他配置文件。 僅供參考,它在節點中編碼。
最后,如果一切正常,它將檢查是否與develop
沖突,僅向用戶輸出yes
或no
。 拉取請求應在gitlab而不是本地分支上進行管理。 因此,本地分支上不應存在“實際”合並。
是否有可用的git命令,例如git -conflitcs-with-this-branch
? 還有一種從nodejs檢索它的方法?
謝謝,
斯特凡。
查找合並沖突的命令是git merge
。 運行git merge
,可以選擇使用--no-commit
,也可以選擇在分離的HEAD上運行。
如果存在沖突,則git merge
以非零狀態退出。 如果沒有沖突,則git merge
以零狀態退出。 如果使用--no-commit
運行,那么在兩種情況下,Git都不進行提交; 如果在沒有它的情況下運行,則Git在當前HEAD上進行合並提交。 如果HEAD已分離,則此提交僅影響HEAD。
如果您使用了分離的HEAD,則現在可以將HEAD重新附加到其原始分支或提交。
如果使用--no-commit
,則可以簡單地運行git merge --abort
而不管合並是成功還是失敗。
因此,最簡單的命令序列是運行git merge --no-commit
,保存退出狀態,然后運行git merge --abort
。
請注意,在所有情況下,Git都會在合並過程中使用索引和工作樹,因此您必須確保在整個期間內使用它們都是安全的。 (特別是,索引和工作樹在流程開始時必須“干凈”。如果沒有合並驅動程序,則它們在結尾也必須干凈)。
(我不知道如何從node.js獲取git merge
的退出狀態。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.