#pragma section-numbers 2 = 快速入门 = ''(参见 UnderstandingMercurial 和 [[Tutorial]] and QuickStart2)'' <> == 设置用户名 == 默认情况下,Mercurial 使用 user@localhost 格式作为commits时的用户名。这样做通常无任何意义。您最好能在~/.hgrc(在Windows系统中,是%USERPROFILE%\Mercurial.ini)中加入合适的email地址。如下所示: {{{ [ui] username = John Doe }}} == 在现有的 Mercurial 项目中工作 == 如果你有一个URL支持的项目[[Repository|repository]] (例如 http://selenic.com/hg), 你可以用下面的方法抓取一个副本: {{{ $ hg clone http://selenic.com/hg mercurial-repo real URL is http://www.selenic.com/hg/ requesting all changes adding changesets adding manifests adding file changes added 6908 changesets with 13429 changes to 976 files updating working directory 861 files updated, 0 files merged, 0 files removed, 0 files unresolved }}} 这会建立一个 {{{mercurial-repo的新目录}}}, 复制整个项目的历史记录, and [[Update|check out]] the [[Tip|tip]]most [[ChangeSet|changeset]] (see also [[Clone]]). 查看哪一个revision被checked out: {{{ $ cd mercurial-repo $ hg parents changeset: 6907:6dcbe191a9b5 tag: tip user: Matt Mackall date: Mon Aug 18 16:50:36 2008 -0500 summary: Fix up tests }}} == 建立新的Mercurial项目 == 你希望从创建一个仓库开始: {{{ $ cd project/ $ hg init # 创建 .hg }}} Mercurial 将会在您repository的根目录查找名为[[.hgignore]]的文件,该文件用于设定需要忽略文件的格式或正则表达式。以下是一个.hgignore文件的例子: {{{ syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$ }}} 以下代码测试.hgignore文件的效果: {{{ $ hg status # 显示所有没有被忽略的差异文件 }}} 这将会列出所有没有被忽略的文件。这些文件名前带有'?'号(表示mercurial没有跟踪它们)。编辑你的.hgignore 文件直到status中只列出了你想要的文件为止。You'll want to track your .hgignore file too! But you'll probably not want to track files generated by your build process. Once you're satisfied, schedule your files to be added, then [[Commit|commit]]: {{{ $ hg add # add those 'unknown' files $ hg commit # commit all changes, edit changelog entry $ hg parents # see the currently checked out revision }}} == Clone, Commit, Merge == {{{ $ hg clone project project-work # clone repository $ cd project-work $ $ hg commit $ cd ../project $ $ hg commit $ hg pull ../project-work # pull changesets from project-work $ hg merge # merge the new tip from project-work into our working directory $ hg parents # see the revisions that have been merged into the working directory $ hg commit # commit the result of the merge }}} 参见: [[Clone]], [[Commit]], [[Pull]], [[Merge]], [[Parent]] == 导出补丁 == {{{ (make changes) $ hg commit $ hg export tip # export the most recent commit }}} 参见: [[Export]] == 网络支持 == {{{ # clone from the primary Mercurial repo foo$ hg clone http://selenic.com/hg/ foo$ cd hg # update an existing repo foo$ hg pull http://selenic.com/hg/ # export your current repo via HTTP with browsable interface foo$ hg serve -n "My repo" -p 80 # push changes to a remote repo with SSH foo$ hg push ssh://user@example.com/hg/ }}} 参见: [[Serve]], [[Push]], [[Pull]] ---- '''translations:''' [[QuickStartDe|German]] [[QuickStartPtBr|Portuguese]] [[JapaneseQuickStart|Japanese]] [[ThaiQuickStart|Thai]] ---- CategoryChinese CategoryChinese CategoryChinese