トップ «前の日記(2007-12-02 (Sun)) 最新 次の日記(2009-01-10 (Sat))» 編集 RSS feed

継続にっき

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|

2008-10-14 (Tue)

))) MercurialからGitへ

Git(ギット)勉強会メモに触発されてGitの利用を再検討。

  • indexバッファ
  • stash
  • rebase, reset, commit --amend
  • bisect
  • logの-pオプション

あたりの機能が便利そうなので乗り換えることにした。 以前評価したときはCogitoでラップする必要があったりと使いづらいものだったけれど、 最近のバージョンはインターフェースもこなれていて悪くない。 ただ、Mercurialのリビジョンナンバー(ローカルでのみ有効な連番ID)相当の機能がないのが残念といえば残念か。

以下、試していて気になったポイントについて。

リポジトリの変換

Gitのアーカイブに含まれるcontrib/hg-to-git/hg-to-git.pyで変換が可能。

git diのようにサブコマンド名の短縮が出来ない

「.gitconfigでaliasを設定すればよい」という解決策がすぐに見つかるものの、 それだとzsh上で補完が効かなくなるという問題がある。

これはグローバルエイリアスを設定して解決。

$ alias -g ann=annotate
$ alias -g ci=commit
$ alias -g co=checkout
$ alias -g di=diff
$ alias -g st=status

Ubuntu 8.04のzshだと補完関数が古くてstashなどをサポートしてない

CVS HEADでは実装されているので、 そこから_gitを持ってきてfpathに配置すればOK。

revertとreset

CodeRepos::Share ? Trac参照。

revertの機能がMercurialのそれと異なるので注意。

$ hg revert --no-backup

に対応するコマンドは

$ git reset --hard (HEAD)

になる。


2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|
トップ «前の日記(2007-12-02 (Sun)) 最新 次の日記(2009-01-10 (Sat))» 編集 RSS feed