読者です 読者をやめる 読者になる 読者になる

Git branchの使い方

前回の記事でgitとGitHubの初期設定を行った。

今回は以下の作業をやってみる。

  • gitで新しいbranchを作成
  • 新しいbranchでREADMEを作成
  • 変更をmasterにマージ
  • (おまけ)xbrlファイルをgitの管理対象から外す

gitで新しいbranchを作成

まずは開発中の機能をまとめるdevelop branchを作成する。

git branch develop

git branchコマンドは新たなbranchを作成するだけで、そのbranchに移動するわけではない。別のbranchに移動するためには、git checkoutコマンドを使う。

git checkout develop

git branchコマンドで現在のbranchを確認できる。
f:id:hqac:20151004010829p:plain

新しいbranchでREADMEを作成

READMEとはソフトウェアの一般的な利用方法を記載したテキストのこと。ソフトウェアの概要や開発者、ライセンス、インストール方法等が記載されていることが多い。

まずは、READMEをテキストエディタで作る。
f:id:hqac:20151004093237p:plain

git statusをすると、gitでuntrackのファイルがあるよと言われ、git addを勧められる。
f:id:hqac:20151004093246p:plain

git addしてからgit statusをすると、Changes to be committedがあると教えられる。
f:id:hqac:20151004093254p:plain

最後に、git commitで変更をコミットする。
f:id:hqac:20151004093302p:plain

変更をmasterにマージ

developブランチではREADMEがaddされ、commitされた。
以下のコマンドでHEAD(現在自分がいるbranch)や他のbranchの状況を確認できる。developは6e1d092で始まるcommitに進んでおり、masterより進んでいることがわかる。

git log --oneline --decorate

f:id:hqac:20151004095056p:plain

masterに移動し、下記のコマンドを実行するとdevelopをmasterにマージできる。

git merge develop

f:id:hqac:20151004101504p:plain

(おまけ)一部のファイルをgitの管理対象から外す

以前の記事で改良したxbrl_downloader.pyを起動すると、XBRL形式の有価証券報告書及びJSON形式のダウンロード情報が作業ディレクトリに保存される。これがgitの管理対象になるとcommitのログが非常に汚くなる(もうなっている)ので、これをgitの管理対象から外すことにした。

gitの管理対象から外すには、.gitignoreファイルに無視したいファイルまたはフォルダを追加すればよい。たとえば、xbrl_downloaderフォルダ直下にあるxbrl_filesフォルダとdownloaded_infoフォルダをgitの管理対象から外したい場合は、xbrl_downloaderフォルダの直下に.gitignoreファイルを作成し、以下の通り記述する。

xbrl_files
downloaded_info

.gitignoreファイルをaddしてcommitすると、xbrl_filesとdownloaded_infoがgit管理対象のフォルダに含まれているにも関わらずuntrackedのエラーが出ていないことが分かる。

f:id:hqac:20151004110104p:plain
f:id:hqac:20151004110115p:plain

.gitignoreをaddしてcommitすれば作業は完了となる。.gitignoreには様々な記述方法がある。詳細な情報については、以下のコマンドで参照可能。

man gitignore