gitを使った作業の進め方
突然ですが、主に自分向けにgitの使い方をメモっておきます。
参考書としてgit入門を上げておきます。でびあんぐる版でも濱野さん版でもどっちでもいいです。最近だと「gitによるバージョン管理」というのもありますが、こちらは中身見ていません。
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/24
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (155件) を見る
- 作者: 岩松信洋,上川純一,まえだこうへい,小川伸一郎
- 出版社/メーカー: オーム社
- 発売日: 2011/10/25
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 239回
- この商品を含むブログ (27件) を見る
- 作者: Travis Swicegood,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2009/08/12
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 305回
- この商品を含むブログ (101件) を見る
ここではインストール方法については語りません。ぐぐればいくらでも出てきます。Ubuntuならapt-get install git(git-coreがただし買ったかな?)、Redhat/CentOSなんかならyum install gitで多分入ります。
ここではUbuntu Linux 11.04上で実施しています。
対象
- gitをなんとなく使ってる人(自分含む)
- gitを使ってみたい人
今日のシナリオ
gitリポジトリのブランチがmasterしかないときに、あるチケット(TicketA)をとって来て、TicketAの作業をこなす
やり方
まずgitのブランチとしてはmasterしかない状態で進めます。
$ git branch
とかやると、
* master
と出てきます。
次にTicketAを取ってきたときに、作業用にBranchを切ります。
$ git branch ticketA
ここでgit branchを実行するとticketAができていることがわかります。
$ git branch
* master ticketA
作業するブランチをticketAに変えます。
$ git checkout ticketA Switched to branch 'ticketA'
いろいろチケットに沿って作業をします。
作業が終わったら、新規ファイルはgit addしてバージョン管理に追加します。
$ git add hoge.txt
ファイルを追加したらgit commitを行います。git commitと打ち込んでEnterを押すと、コミットメッセージを入れる画面が出てくるので、コミット内容を入れます。
(svnと違いgitの場合では、git commitだけではリモートのリポジトリに送信されません。git pushを行う必要があります。)
$ git commit
(エディタが開く)
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Committer: foo <> # # On branch ticketA # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: hoge.txt #
コミットが終わったら、今度はリモートのリポジトリに向かって送信します。
$ git push origin ticketA
リモートのリポジトリにもticketAが作成されました。
もしリモートに提出したものが問題無いのであれば、最後にmasterブランチにticketAの内容を統合します。
$ git checkout master $ git merge ticketA $ git push
と、SVNっぽいノリで書いてみたけど、gitの場合過去改変できるしわざわざタスクごとにブランチ切らなくてもいいのかなぁ。おすすめの作業の仕方あったら教えて下さい。