簡體   English   中英

GIT預覽簽出或合並

[英]GIT Preview Checkout or Merge

我想做一個腳本,通過簽出GIT中的一個倉庫來幫助我釋放系統。

我的追求是,我可以通過某種方式測試簽出分支以識別是否出錯,而不依賴於文件系統。

同樣,我可以通過簡單的方法預覽GIT合並以識別沖突而無需修改文件系統嗎?

(如果有幫助,完整的系統可以在Linux系統上運行)

使用git merge --ff-only僅在可以快速轉發時才合並分支。 這意味着沖突是不可能的,它將始終有效(當然,系統故障除外,例如磁盤空間不足)。 顯然,這意味着分支不應分開,但是在大多數情況下,分支應該分開,否則,您應該與另一個倉庫中的潛在沖突合並,從而保持“發布倉庫”不變。

這里的另一種方法是使用符號鏈接(Linux或ntfs)。 你應該有兩個倉庫repo1repo2和符號鏈接releaserepo這將指向其中之一。 我說,你有releaserepo - > repo1 現在,您可以更新repo2 ,檢查是否所有工作正常,然后只需更改它的符號鏈接,下一次您將更新repo1並將其反向翻轉。 如果也將避免所有系統故障,因為創建符號鏈接操作是原子的。

如果簽出分支,將永遠不會出錯。 檢出僅恢復分支的先前狀態。

如果您要檢查合並,情況會有所不同。

如果你有一個分支mybranch並要合並otherbranch進去,記住的狀態mybranch在合並之前:

git log -1 --oneline

這將返回上一次提交的哈希值。 注意該哈希(例如CAFEBABE )。

現在,嘗試進行合並:

git merge otherbranch

如果一切正常。 精細。 如果您遇到任何錯誤並且不願意解決它們:

git reset --hard CAFEBABE

這會將mybranch重置為git merge完成之前的狀態。

除了記住哈希CAFEBABE ,還可以使用ORIG_HEAD如下所述: Git中的HEAD和ORIG_HEAD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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