27
A
回答
42
汞柱更新:http://www.selenic.com/mercurial/hg.1.html#update
- 更新版本庫的工作目錄(以下簡稱 「工作副本」)到庫的指定版本
汞柱拉:http://www.selenic.com/mercurial/hg.1.html#pull
- 允許您從遠程存儲庫中帶來更改
因此,當您執行hg pull時,會將您的存儲庫更改置於.hg
之下。它不會反映在你的工作目錄中。
之後,當您執行hg update
時,所做的更改將傳送到您的工作副本。
Your repo Remote Repo
\ \
| hg pull |
|-.hg <-------------------------------- |-.hg
| | --------------------------------> |
| hg update hg push |
| | |
|- working folder |- working folder
這是從版本控制系統顛覆來的時候非常混亂。
在顛覆:SVN更新帶來從中央回購服務器更改到你的工作副本
但在DVCSs,你有兩個本地資源庫和工作副本。因此,更新完全相同,但將更改從本地回購協議拖到本地工作副本。
6
pull命令從父存儲庫中提取更改,但實際上並未對存儲庫中的文件進行任何更改。
更新命令用於實際更新存儲庫中的文件。
15
Mercurial是一個分佈式版本控制系統,讓你擁有整個回購歷史,以及你的代碼版本(稱爲「工作副本」)。
pull
對您當地的回購引入了遠程更改。
update
更改您的工作副本以匹配您當地回購中的最新版本。
所以,如果你克隆一個遠程分支,並繼續運行更新,你的代碼不會改變,因爲你永遠不會下載遠程代碼。如果你繼續運行拉,那麼你的代碼不會改變,因爲你永遠不會使用遠程代碼(將它應用到你的工作版本的代碼)。
如果這讓人困惑,你可能需要閱讀[Mercurial教程](http://hginit.com) – 2010-12-09 02:36:16