LoginSignup
22
20

More than 5 years have passed since last update.

git環境まとめ

Last updated at Posted at 2012-12-07

最近gitをめぐる環境がいろいろとごちゃごちゃしてきたのでまとめる。

結論

add, commitする
=> github for mac
branch切る、マージする
=> git flow
branch切り替え、push/pull
=> legit

いろいろ試して、上記3ツールが利用者も多いし、枯れてそうなイメージなので、これらの記述がメイン。

oh-my-zsh

oh-my-zshのプラグイン。~/.zshrcのplugins=()のカッコのなかにスペース区切りで書くと適用される。

git

oh-my-zsh git aliases
gitエイリアス集。基本ですね。

$ gst   = status
$ ga    = add
$ gc    = commit
$ gl    = pull
$ gp    = push
$ gco   = checkout
$ grh   = reset --soft HEAD
$ grhh  = reset --hard HEAD

私はだいたいこいつらをよく使います。

あと、このプラグインは、プロンプトにカレントブランチ名表示してくれるのがありがたい。

git-extras, git-flow, github

後述の同名gitサブコマンドのtab補完プラグイン。エイリアスではありません。

github for mac

GitHub for Mac
「addする -> commitする」という一連の作業はこれが最強に使いやすい。それ専用GUIアプリだと思っている。GUIアプリなんだからコミットグラフがもっと見やすくてもいいのにね。

SourceTree

methane - Qiitaさんにコメントで教えていただきました。ありがとうございます。

BitBucketのAtlassianさまがもたらされたGit, MercurialのGUIアプリ。github for macより高性能で、gitxよりビューが美しい。

そういえば、昔触ってみたことがあったが、当時はgitを本当に使い始めてすぐで、GUI使っちゃうとそれっきりでコマンドから使わなくなりそうで、結局使うのをやめたのを思い出しました。今は適材適所でよくね?という考え方になった。

subcommands

legit

Welcome | Legit (Git Workflow for Humans)
人間のためのgitワークフローとのこと。gitのコマンドをわかりやすいコマンド名でラップしてくれている。でも、そんなgitのコマンド、慣れればどうってことないですよね。

$ git switch
$ git sync
$ git publish
$ git unpublish
$ git branches

こいつらよく使う。

git-flow

nvie/gitflow
gitワークフローのベストプラクティス。それを推奨する(実践しやすくする)サブコマンド。

git-daily

先日興味を持ちましたが、git flow, github flowとの比較検討の末、魅力を感じなくなりました。

github


githubのリポジトリ作成とかをCUIでできますよ。これはgemでできている。

git-extras

visionmedia/git-extras
まだ使ってないけど、鉄板っぽい。

git-now

テンポラリコミット作成

tig

ターミナルgitブラウザ。入れてるけどたまにしか使わない。というか全く使わない。

まとめ

結局どのような文脈で、どのようなコマンドを打つのか。

コミット

$ gst
$ ga hoge.rb
$ gc

この後、$GIT_EDITORでコミットメッセージを書く。でもMacならgithub for macで簡単!

flow

それでは新機能のajax化の開発に取り掛かる。

$ g flow feature start ajax
$ ga xxx
$ gc
$ g publish

これでfeature/ajaxというブランチが切られ、そこにコミットされる。publishでoriginにfeature/ajaxブランチをつくる。ここでしばらく開発を続ける。だが・・・

おっと、ここでチームメイトがfeature/ajaxに変更を加えたらしい。

$ g sync

すると、pullしてからpushしてくれる。そんなこんなでajax化の仕事を進めていると、上司からバグ報告が飛んできたので、直ちにhotfixをはじめる。上司によると、IEでのCSSの様子がおかしいらしい。uncommited filesがない状態で(stashかcommit後で)

$ g flow hotfix start msie
$ ga app/assets/stylesheet
$ gc

このブランチで修正コミットを作ってから、

$ g flow hotfix finish msie

これでhotfix完了。デプロイする。

さてと、いま我々はajax化の最中だったな。

$ g switch feature/ajax

という感じ。かな?

22
20
2

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
22
20