覚えておくと便利なgitのtipsをいくつか
- 2010年01月25日
- category:未分類
- Comment(0)
- Trackback(0)
頻繁に使うわけではないけど便利なgitのtipsをいくつか紹介。というか自分が忘れるからメモ。
git stash
現在作業中のbranchでまだコミットはしたくないけど、trunkで直さないといけないバグとかが見つかったときに、今の変更を横にどけておくコマンド。
$ git stash
で変更をいったん横にどけておいて、他のbranchに切り替えて作業後、今のbranchに戻ってきて
$ git stash pop
とすれば横にどけておいた変更が復活する。
git ignore
プロジェクトの中で除外する必要があるファイルは.gitignoreに書くけど、自分の環境だけで除外したいファイルがある場合は.git/info/excludeに書くのがよいです。
自分の環境ではいつでも除外したいというときは
$ git config --global core.excludesfile $HOME/.gitignore
として、$HOME/.gitignoreに除外したいファイルを書いておけばOKです。
git svn clone -s
git svnでcloneするときにsvnのbranchとかtagも認識させるには
$ git svn clone http://svn.repos/project -T trunk -b branches -t tagsとします。もしsvnのリポジトリの構成が上記のように標準的な構成(trunk、branches、tags)であれば下記のようにするだけでOKです。
$ git svn clone http://svn.repos/project -sgit reset
git resetはコミットを取り消すことができます。よく使うのは
git reset HEAD^で直前のコミットを取り消すとか。
git commit –amend
直前のコミットを修正したいときはcommit –amendが便利です。
$ git commit(間違ったコミット) 間違えを修正して $ git commit --amend(直前のコミットが置き換えられる)git add -p
同じファイルだけど一部の変更だけコミットしたいというときはgit add -pを使います。diff形式で変更部分を記録するか聞いてくるので、記録したい部分だけyと応えればOKです。
$ git add -p diff --git a/Root.pm b/Root.pm index 707f4e8..891bd77 100644 --- a/Root.pm +++ b/Root.pm @@ -6,9 +6,6 @@ has '+namespace' => default => ''; # default 404 handler sub default :Path :Args { my ($self, $c) = @_; - - $c->res->status(404); - $c->res->body('404 Not Found'); } sub index :Path :Args(0) { Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? n @@ -23,7 +20,8 @@ sub index :Path :Args(0) { sub index :Path :Args(0) { my ($self, $c) = @_; - $c->res->body('Ark Default Index'); + + $c->stash->{entries} = models('Entry')->get_entries; } 1; Stage this hunk [y,n,q,a,d,/,K,g,e,?]? ygit config alias
gitのcommitとかcheckoutなどのよく使うコマンドにはalias貼っておくと便利です。checkoutのaliasにcoを設定するには以下のようにします。
git config --global alias.co checkout僕が設定してるのはこんな感じ
$ git config -l alias.co=checkout alias.ci=commit alias.st=status alias.br=branch
- Prev Entry
- アウトプットは大事だね
- Next Entry
- perlの置換でeオプション
