我正在學習Mercurial,即使我安裝了TortoiseHG,我發現自己越來越多地轉向命令行。檢查實際承諾之前會做什麼
因此,我經常想在實際運行之前檢查一下給定的hg
命令的結果。是否有任何與我可以使用的PowerShell中已知的-whatif
切換器相同的內容,或者您將如何檢查使用給定的hg commit
語句提交的內容?
我正在學習Mercurial,即使我安裝了TortoiseHG,我發現自己越來越多地轉向命令行。檢查實際承諾之前會做什麼
因此,我經常想在實際運行之前檢查一下給定的hg
命令的結果。是否有任何與我可以使用的PowerShell中已知的-whatif
切換器相同的內容,或者您將如何檢查使用給定的hg commit
語句提交的內容?
當您提交時,您的消息編輯器將包含將在忽略部分中提交的文件列表。如果用hg -m "message"
承諾這將無法工作作爲編輯步驟跳到:
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: User <[email protected]>
HG: branch 'default'
HG: changed myfile.yxy
您可以使用hg commit
和hg rollback
撤消最後一次提交,如果它包含了,你沒有要提交的文件。只要你沒有hg push
到另一個存儲庫,rollback就可以工作。
狀態使用與提交相同的模式。您可以使用hg status some/path/*
,然後使用hg commit some/path/*
只替換要使用的命令。
我會嘗試這種方法,謝謝你的答案! – Hauge 2010-03-01 18:42:34
通常-n
交換機或--dry-run
交換機會告訴你一個特定命令會發生什麼。 commit
沒有-n
開關,但您可以運行hg diff
查看實際更改,或者hg status
查看每個文件的情況。
在我看來,-n僅適用於影響遠程存儲庫的操作(例如,推/拉)。因此,「hg commit」沒有空轉,因爲「hg rollback」允許取消它。此外,「hg update」也沒有幹運行,因爲您可以隨時回到早期版本。所以,是的,我想「hg status」和「hg diff」是瞭解要實施什麼的方法。 – 2010-03-01 17:38:05
使用'hg status'來獲得一個概覽,並用'hg diff
Only ...回滾是現在被棄用(我不能找到他們如何處理這方面的信息,只引用「我們做不同的折舊」) – 2017-03-08 08:50:15
你究竟想知道什麼?你可以用'hg status'來檢查文件的狀態; 'hg help'是你的朋友 – Christoph 2010-03-01 17:09:30
@Hauge:我一直使用「hg sta」(簡寫爲「hg status」)來查看文件狀態,以及「hg diff ...」以查看我做出的特定更改修改文件。 – SyntaxT3rr0r 2010-03-01 18:31:27
我的問題是,我目前不完全確定文件選擇過程在提交時如何工作,即如果我使用通配符文件選擇參數進行提交,它只會從當前目錄下載提交,還是會提交reposistory中的整個目錄結構。 因此,我想有一種「這個命令將提交這些文件」功能。 – Hauge 2010-03-01 18:41:55