簡體   English   中英

合並前如何獲取沖突文件列表?

[英]how to get list of conflicted files before merging?

我正在制定一個例程,以在每次合並之前執行。 它將運行單元測試並檢查其他配置文件。 僅供參考,它在節點中編碼。

最后,如果一切正常,它將檢查是否與develop沖突,僅向用戶輸出yesno 拉取請求應在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM