LoginSignup
14
6

More than 5 years have passed since last update.

gitとmercurialのコマンド比較

Posted at

きっかけ

mercurialを主に仕事使っていたのですが
最近gitを利用することが出てきたので個人的メモφ(..)

比較表

機能 git mercurial 補足
リポジトリをクローン git clone {path} hg clone {path}
ファイルを登録 git add {file} hg add {file} gitはコミットのたびに変更ファイルのaddが必要
mercurialは新規登録されるファイル以外はadd不要
すべてのファイルを登録 git add . hg add
ファイルを削除 git rm {file} hg remove {file}
すべてのファイルの登録と削除 不明 hg addremove
ブランチの作成 git checkout -b {branch_name} hg branch {branch_name}
ブランチの切替 git checkout {branch_name} hg up {branch_name}
ブランチの削除/閉鎖 git branch --delete {branch_name} hg commit --close-branch gitはブランチの削除
mercurialは閉鎖という概念。
違いは次の項目参照
削除/閉鎖 されたブランチの復旧 git reflogでログ番号を確認後
git branch {branch_name} HEAD@{{番号}}
閉鎖されたブランチにhg upで切り替えるだけ。
コミットでアクティブ状態にもどる
gitはブランチをもどすイメージ
mercurialは非アクティブのbranchを復活させる
ローカルブランチを表示 git branch hg branches
リモートブランチを表示 git branch -a 不明 mercurialは取り込みが必要
リモートブランチをローカルへ取り込む git branch {branch_name} /origin/{branch_name} hg pull -u gitは特定のブランチのみをローカルに展開
mercurialは全てのブランチをローカルに展開
変更差分の取り込み git pull
or
git fetch && git merge /origin/{branch_name}
hg pull -u mercurialはブランチのローカル取り込みも同時にこなう
取り込んで衝突した時 git stash save -u
git merge origin/{branch_name}
git stash pop
コンフリクトしたら手動修正
hg merge
コンフリクトしたら手動修正
git stash list でstashしたlistの確認
ブランチ間のマージ git merge origin/{branch_name} hg merge {branch_name}
差分確認 git diff (add前)
git diff --cached (add後)
hg diff

内容に誤りなどありましたら
コメントにて教えていただけると助かります m(_ _)m

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6