突撃Mercurial SCM(HG)
5636 ワード
この水銀というソース管理ツールは無名ですが、多くのチームで使用されています.一部のチームのニーズに対応するために、コードを管理するためにも使用します.
今日の任務はまず突撃して勉強し,刀を研いで薪を切らないことだ.ツールの習得が早ければ早いほど、仕事の効率が高くなります.
1.インストール
まず公式サイトから最新のバージョンをダウンロードして、私は今回実験をして、3.2-rcをダウンロードしました.
指定したディレクトリに解凍します.
インストールする前にpython-devがインストールされているかどうかを確認します.これはfedoraの下でpython-develと呼ばれます.ない場合、コンパイル時にエラーが発生します.
インストールも簡単です.ubuntuで使用します.
次に、プロジェクトを作成してコードをコミットしてみます.
Initディレクトリを作成するには、次の手順に従います.
tagのtipは、一般的に最新のchangesetに登場しますが、このテクニックは覚えておいてくださいね.
最後に、コミットをリモート・ライブラリにプッシュすると、大きな成果が得られます.gitと同様にpushコマンドも使用されます.
この基本的な機能はこのようにして、後でmerge、conflictなどの機能を続けます.
後記:
2015.1.29
ubuntuにインストール:
上記のエラーは、docのインストールにはpython-docutilsツールが必要です.インストールする必要があります.
/opt/mercurial-3.3-rc$sudo apt-get install python-docutils今回再コンパイルすれば問題ありません:
/opt/mercurial-3.3-rc$ sudo make install
参照先:
http://mercurial.selenic.com/guide
今日の任務はまず突撃して勉強し,刀を研いで薪を切らないことだ.ツールの習得が早ければ早いほど、仕事の効率が高くなります.
1.インストール
まず公式サイトから最新のバージョンをダウンロードして、私は今回実験をして、3.2-rcをダウンロードしました.
指定したディレクトリに解凍します.
[linc@localhost mercurial]$ ls
mercurial-3.2-rc.tar.gz
[linc@localhost mercurial]$ tar xzvf mercurial-3.2-rc.tar.gz
インストールする前にpython-devがインストールされているかどうかを確認します.これはfedoraの下でpython-develと呼ばれます.ない場合、コンパイル時にエラーが発生します.
mercurial/base85.c:13:20: fatal error: Python.h: No such file or directory
/usr/include/python 2.7/の下に上記のヘッダファイルがあるかどうかを見るだけでわかります.インストールも簡単です.ubuntuで使用します.
sudo apt-get install python-dev
fedoraで使用:[linc@localhost etc]$ sudo yum install python-devel
はmercurial-3.2-rcパスの下で実行されます.[linc@localhost mercurial-3.2-rc]$ make install-home
python setup.py build
running build
running build_mo
running build_ext
building 'mercurial.base85' extension
...
make[1]: *** [hg.1] Error 255
make[1]: Leaving directory `/home/linc/dev/mercurial/mercurial-3.2-rc/doc'
make: *** [doc] Error 2
最後のエラーはドキュメントに関するもので、ここでは無視され、hgを実行しようとしたが、フィードバックが得られ、基本機能がインストール済みであることを示した.[linc@localhost mercurial-3.2-rc]$ hg
Mercurial Distributed SCM
basic commands:
add add the specified files on the next commit
annotate show changeset information by line for each file
clone make a copy of an existing repository
commit commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log show revision history of entire repository or files
merge merge working directory with another revision
pull pull changes from the specified source
push push changes to the specified destination
remove remove the specified files on the next commit
serve start stand-alone webserver
status show changed files in the working directory
summary summarize working directory state
update update working directory (or switch revisions)
(use "hg help" for the full list of commands or "hg -v" for details)
.簡単な使用次に、プロジェクトを作成してコードをコミットしてみます.
Initディレクトリを作成するには、次の手順に従います.
[linc@localhost testHG]$ hg init testMercurial
[linc@localhost testHG]$ ls
testMercurial
[linc@localhost testHG]$ cd testMercurial/
私の小さなプロジェクトを追加し、他のディレクトリのソースコードをここにコピーします.[linc@localhost testMercurial]$ cp -r ../../hello/* .
[linc@localhost testMercurial]$ ls
Debug Release src
現在のステータスを表示します.[linc@localhost testMercurial]$ hg status
? Debug/makefile
? Debug/objects.mk
? Debug/sources.mk
? Debug/src/subdir.mk
? Release/makefile
? Release/objects.mk
? Release/sources.mk
? Release/src/subdir.mk
? src/hello.c
疑問符は、バージョン管理に組み込まれていないことを示しています.次に追加します.[linc@localhost testMercurial]$ hg add
adding Debug/makefile
adding Debug/objects.mk
adding Debug/sources.mk
adding Debug/src/subdir.mk
adding Release/makefile
adding Release/objects.mk
adding Release/sources.mk
adding Release/src/subdir.mk
adding src/hello.c
[linc@localhost testMercurial]$ hg status
A Debug/makefile
A Debug/objects.mk
A Debug/sources.mk
A Debug/src/subdir.mk
A Release/makefile
A Release/objects.mk
A Release/sources.mk
A Release/src/subdir.mk
A src/hello.c
Aがaddの標識です.次はこれらのコードを提出しましょう.[linc@localhost testMercurial]$ hg commit -m 'initial commit'
abort: no username supplied
(use "hg config --edit" to set your username)
[linc@localhost testMercurial]$ hg config --edit
残念ながら、プロファイルに名前を編集していないので、まず追加してから、コードをコミットし続けます.[linc@localhost testMercurial]$ hg commit -m 'initial commit'
[linc@localhost testMercurial]$ hg status
[linc@localhost testMercurial]$ hg log
changeset: 0:23ac3f5bfc59
tag: tip
user: Lincoln <[email protected]>
date: Mon Oct 27 21:05:10 2014 +0800
summary: initial commit
の上のchangesetはgitの中のcommit idで、コロンの前の0はあなたのchangeset idで、もっと前にその経歴を表すほど年を取っています.tagのtipは、一般的に最新のchangesetに登場しますが、このテクニックは覚えておいてくださいね.
最後に、コミットをリモート・ライブラリにプッシュすると、大きな成果が得られます.gitと同様にpushコマンドも使用されます.
hg push /the remote repository
私はこの版がすべてあれらの地方を改正してどのように調べることを見たいですか?gitでshowコマンドを使ったのを覚えています.hgは?exportでいいです.[linc@localhost testMercurial]$ hg export 0:23ac3f5bfc59
# HG changeset patch
# User Lincoln <[email protected]>
# Date 1414415110 -28800
# Mon Oct 27 21:05:10 2014 +0800
# Node ID 23ac3f5bfc592c7bd2b293e8ace0f42b9e541ece
# Parent 0000000000000000000000000000000000000000
initial commit
diff -r 000000000000 -r 23ac3f5bfc59 Debug/makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Debug/makefile Mon Oct 27 21:05:10 2014 +0800
@@ -0,0 +1,44 @@
この基本的な機能はこのようにして、後でmerge、conflictなどの機能を続けます.
後記:
2015.1.29
ubuntuにインストール:
上記のエラーは、docのインストールにはpython-docutilsツールが必要です.インストールする必要があります.
/opt/mercurial-3.3-rc$sudo apt-get install python-docutils今回再コンパイルすれば問題ありません:
/opt/mercurial-3.3-rc$ sudo make install
参照先:
http://mercurial.selenic.com/guide