這個簡短的問題是:如果我hg rollback
,彼得如果從我身上克隆我怎麼得到我的回滾版本? 他或我需要做什麼或鍵入的確切步驟是什麼?在Mercurial中,彼得或我必須做的確切步驟是什麼,以便他獲得回滾版本?
細節:
以下步驟後,瑪麗7
和彼得11
。我的存儲庫是7
彼得或我必須做的確切步驟是什麼?或者輸入那個PETER GETS 7回來?
F:\>hg init hgme
F:\>cd hgme
F:\hgme>echo the code is 7 > code.txt
F:\hgme>hg add code.txt
F:\hgme>hg commit -m "this is version 1"
F:\hgme>cd ..
F:\>hg clone hgme hgpeter
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\>type hgpeter\code.txt
the code is 7
F:\>cd hgme
F:\hgme>notepad code.txt [now i change 7 to 11]
F:\hgme>hg commit -m "this is version 2"
F:\hgme>cd ..\hgpeter
F:\hgpeter>hg pull
pulling from f:\hgme
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
F:\hgpeter>hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\hgpeter>type code.txt
the code is 11
F:\hgpeter>cd ..\hgme
F:\hgme>hg rollback
rolling back last transaction
F:\hgme>cd ..
F:\>hg clone hgme hgmary
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\>type hgmary\code.txt
the code is 7
F:\>cd hgpeter
F:\hgpeter>hg pull
pulling from f:\hgme
searching for changes
no changes found
F:\hgpeter>type code.txt
the code is 11
哪些具體步驟彼得或我所要做的或SO鍵入彼得GETS 7回? Peter應該採取一些步驟,讓他從我身上克隆出來,以獲取我的存儲庫的「當前狀態」。我不需要敲他的前門告訴他,「嘿,你需要回滾」或者其他什麼。
看來我應該使用「汞退出-r -1」 - 這是說,反回我以前的版本(取消以前提交)...並創建一個新版本。所以彼得,不管是否知道,當他進行「hg pull」和「hg update」時,無論如何都會得到「退出」。如果他做出改變並想要提交併推送,那麼hg會告訴他先取消並更新,這也會得到「退出」。 – 2010-06-14 06:42:19
你是對的。回滾是撤消操作,你應該完成撤銷操作,那麼彼得會將其作爲正常推/拉循環的一部分 – 2010-06-14 18:28:11