ユーザ用ツール

サイト用ツール


サイドバー

Top

検索タグ

変更履歴

メニュー


linux:mercurial_git

文書の過去の版を表示しています。


Mercurial と Git コマンドの比較

Mercurial の特徴

Mercurial - 分散型バージョン管理システム(LinuxLinux カーネルを用いたオペレーティングシステム)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Linux)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Windows)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Mac)

  • Python で実装されたクロスプラットフォームの分散型バージョン管理システム
  • ライセンスは GPL v2
  • コマンドラインのフロントエンドの名称である「hg」という名前でも呼ばれている
  • Windows 向けの公式 GUI クライアント「TortoiseHg」も開発されている
  • 高度なブランチ機能とマージ機能
  • Web インターフェイス
  • 他のバージョン管理システムで管理されたソースコードを取り込む機能
  • ネットワークが利用できない環境でもバージョン管理を行うことが可能

Git の特徴

Git - 分散型バージョン管理システム

  • 分散型バージョン管理システム
  • ライセンスは GPL v2
  • Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発された
  • 中心リポジトリにアクセスできない環境でも履歴の調査や変更の記録といったほとんどの作業を行うことができる

コマンド比較

Mercurial Git 説明 補足
hg clone
git clone
リポジトリをクローン
hg add <file>
git add <file>
ファイルを登録 Mercurial は新規登録されるファイル以外は add 不要
Git はコミットのたびに変更ファイルの add が必要
hg add
git add .
すべてのファイルを登録
hg addremove
- 次回コミットを実行する際に追加または削除されるファイルを登録 未登録のファイル(?)は hg add、削除されたファイル(!)は hg remove する
hg remove <file>
git rm <file>
ファイルを削除
hg rename/move
git mv
ファイル名を変更
copy + remove と同じ
hg diff
git diff

(add前)

git diff –cached

(add後)

差分確認
hg revert
git checkout --force
git checkout .
git checkout -- *
git reset --hard origin/master
ファイルやディレクトリを以前の状態に復旧
hg status
git status
ローカルのリポジトリで更新があったファイルの一覧を表示
hg update [-C]
git merge origin/master
作業ディレクトリをリポジトリの最新内容に更新
hg branch <branch name>
git checkout -b <branch name>
ブランチの作成
hg update <branch name>
git checkout <branch name>
ブランチの切替
hg commit --close-branch
git branch --delete <branch name>
ブランチの削除/閉鎖 Mercurial は閉鎖という概念
Git はブランチの削除
hg update <branch name>
hg commit
git reflog
git branch <branch name> HEAD@<番号>
削除/閉鎖 されたブランチの復旧 Mercurial は非アクティブの branch を復活させる
Git はブランチをもどすイメージ
hg branches
git branch
ローカルブランチを表示
-
git branch -a
リモートブランチを表示 Mercurial は取り込みが必要
hg pull -update
git branch <branch name> /origin/<branch name>
リモートブランチをローカルへ取り込む Mercurial は全てのブランチをローカルに展開
Git は特定のブランチのみをローカルに展開
hg pull –update
git pull
git fetch
git merge /origin/<branch name>
変更差分の取り込み Mercurial はブランチのローカル取り込みと作業ディレクトリのリポジトリ最新内容に更新を同時に行う
hg merge
git stash save -u
git merge origin/<branch_name>
git stash pop
ローカルリビジョンと指定リビジョンのマージ Mercurial はコンフリクトしたら手動修正
Git は git stash list で stash した list の確認、コンフリクトしたら手動修正
hg merge <branch name>
git merge origin/<branch name>
ブランチ間のマージ
hg commit
git commit -a
ローカルリポジトリにコミット
hg push
git push
コミットした変更をリポジトリサーバに反映
hg annotate/blame <file>
git blame <file>
チェンジセットを行ごとに表示
hg cat <file>
hg cat -r <revision> -o <out file> <file>
git cat-file -p <revision>:<file>
ファイルを出力
hg log
git log
全てのリポジトリまたはファイルの変更履歴を表示
hg help
git help
ヘルプを表示
hg convert
- 別 SCM のリポジトリから Mercurial リポジトリへの変換 Mercurial は convert プラグインを有効化する必要がある
git clone --recursive <url>
submodule をクローン
git clone
cd <directory>
git submodule update --init --recursive
submodule をクローンし忘れた場合
linux/mercurial_git.1558113795.txt.gz · 最終更新: 2019/05/18 02:23 by 非ログインユーザー