Mercurial - 琉球大学 工学部 工学科 知能情報コース / 大学院 理工学研究科 情報工学専攻

目次

このページでは、Mercurialの使用方法について説明します。 各項目をクリックすると、該当の位置へ移動します。

Mercurialとは

Mercurial(マーキュリアル)は、クロスプラットフォームの分散型バージョン管理システムです。 yomitan:/home/hg に皆さんのリポジトリ用スペースが用意されています。 ここのリポジトリの内容はMercurial閲覧のページで確認することができます。

Mercurialの使い方

Homebrewをインストールする まず、HomebrewでMarcurialをあなたのパソコンにインストールしてください。 また、ターミナルでインストールすることもできます。 sudo brew install mercurial

localからremoteへリポジトリを作る場合 送りたいファイルのあるディレクトリで hg init

これをすると .hg というディレクトリが作成されているはず ls -a

で確認できます. あとは送りたいファイルを add して commit して clone するだけです. hg add [送りたいファイル] hg commit -m ‘何かコメント’ hg clone . ssh://yomitan.ie.u-ryukyu.ac.jp//home/hg/yxx/exx57xx/リポジトリ名 (下記を参考にxxの部分は適宜変更してください)

(2020年入学、学籍番号e205799の場合) (例) hg clone . ssh://yomitan.ie.u-ryukyu.ac.jp//home/hg/y20/e205799/リポジトリ名)

push したいときは hg push ssh://exx57xx@yomitan.ie.u-ryukyu.ac.jp//home/hg/yxx/exx57xx/リポジトリ名

毎回 ssh://~ を書くのがめんどくさいときは, localにあるリポジトリの .hg/hgrc に下記を追加する. [paths] default = ssh://e1x57xx@yomitan.ie.u-ryukyu.ac.jp//home/hg/y1x/e1x57xx/リポジトリ名

remoteでリポジトリを作ってからlocalにcloneする場合 次に、yomitan:/home/hg/yxx/exx57xx/フォルダにhogeというフォルダをレポジトリとして使用する場合、sshでyomitanに入り、/home/hg/yxx/exx57xx/hogeのフォルダまで移動し、リポジトリを作成します。 ssh exx57xx@yomitan.ie.u-ryukyu.ac.jp

Password:

[yomitan:~] exx57xx%cd /home/hg/yxx/exx57xx/hoge [yomitan:hg/yxx/exx57xx/hoge] exx57xx% hg init

次に、/home/hg/yxx/exx57xx/hogeに用意したリポジトリの内容をあなたのパソコンでも編集できるように、あなたのパソコンにリポジトリを複製します。 ssh経由でhgコマンドを使用するので、あなたのyomitanのホームディレクトリにある.ssh/environmentを編集し(無ければ作成)、ssh経由用にhgのパスを通してあげる必要があります。 ssh exx57xx@yomitan.ie.u-ryukyu.ac.jp

Password:

[yomitan:~] exx57xx%cd .ssh

[yomitan:~/.ssh] exx57xx% vi environment

//environmentに記入

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

これでssh経由でのhgのパスを通すことができました。 次のように入力することで、リポジトリを複製することができます。 hg clone ssh://exx57xx@yomitan.ie.u-ryukyu.ac.jp//home/hg/yxx/exx57xx[directory name]

リポジトリの中にリポジトリを作成してしまうと,、ブラウザ上から見えるのは1番上になるディレクトリとなるため注意してください。

複製したリポジトリを編集する ディレクトリ、ファイルをレポジトリに追加 hg add (file name)

リポジトリに反映させるためにcommit hg commit

リポジトリに反映されていない情報を破棄して元に戻す hg revert

前回のバージョンからの変更されたファイルの確認 hg status

前回のバージョンからの変更されたファイルの変更点の確認 hg diff

作業の更新履歴 hg log

編集したリポジトリを反映・公開する あなたのパソコンで編集したリポジトリの内容は、/home/hg/yxx/exx57xx/のリポジトリにはまだ反映されていません。 編集した内容を反映し公開するには hg push を実行します。 hg push

上記のコマンドを実行することで、/home/hg/yxx/exx57xx/のリポジトリに情報を反映させることが出来ます。 ただし、このままだと yomitan のワーキングディレクトリは変更されないので、それを表示するには yomitan側の/home/hg/yxx/exx57xx/で、下記のコマンドを実行する必要があります。 hg update

これで/home/hg/yxx/exx57xx/の中に変更したファイルが表示される様になります。 また、これを行わない場合バイナリファイル(pdf 等)はMercurial閲覧で見る事ができません。