背景
Github Desktopを使うタイミングがあったので整理のための備忘録.
Gitの使い方やGithubの使い方、開発の流れなど簡単に書いていきます。
- Mac OS X El Capitan 10.11.5
- GitHub Desktop : 220
- git version 2.9.0
開発の流れ
普段、私がやっている開発の流れは以下の通りです。
- ローカルPCの開発ブランチを最新にする
- 作業用ブランチの作成
- 作業 / コミット
- 作業用ブランチのpush
- プルリクエストの作成
- レビュー / マージ (マージできなかったら3に戻る)
開発は基本的に上記のサイクルで行うと非常にスムーズに進みます。以下、細かくGithub Desktopの使い方と一緒に解説していきます。
1.ローカルPCの開発ブランチを最新にする
ローカルの開発用ブランチを最新にします。開発用ブランチはプロジェクトにより異なると思いますが、master
, develop
などがこれに相当します。
極論、この作業はしなくてもいいのですがコンフリクトの可能性が出てきます。コンフリクトとは、複数人が同じファイルの同じ行を編集したせいで自動マージできない現象のことを言います。
Github Desktopでの作業です。 上部の master
と書いてあるとこでブランチの切り替えができるので、そこで開発ブランチを選択します。その後 Sync
を押して同期します。 Syncは「⌘S」でも可能です。
コマンドラインでの操作だと以下のコマンドになります。
% git checkout master
% git pull --rebase
2.作業用ブランチの作成
わかりやすいブランチ名をつけるのは、わかりやすいコミットメッセージを作成するのと同じくらい重要なことだと思っています。プロジェクトによって、ルールを決めたりするといいかもしれません。1つ例をあげてみます。
- 作業者名_作業内容
-
rindo_add_helloworld
(RINDOが担当する"Hello World"を追加するブランチ)
このように
- 他の開発メンバーも何を行っているのか把握できる
- ブランチ名を見れば何をしているのかひと目で分かる
ような名前だと、コミット等の中身を見ずに済むかもしれません。
Github Desktopでの操作です。 上部のブランチ作成ボタンを押すとポップアップが出てくるので、ブランチ名を作成します。 (⌘+Shift+N)
コマンドラインでの操作だと以下のコマンドになります。
% git branch rindo_add_helloworld
% git checkout rindo_add_helloworld
3.作業 / コミット
作業はババッと終わらせます。 「Hello World」とだけ書かれたtxtファイルを作成します。
% echo "Hello World" >> hello_world.txt
ファイルを追加したら、 Github Desktopに戻ってください。
「1 Uncommitted Change」と書いてあるところをタップすると以下の画面になると思います。
- チェックボックスが付いていることを確認する (ついているものだけcommit対象になります)
- 右の変更が正しいか確認する (緑の行が追加, 赤の行が削除を表しています)
- コミットメッセージを書く (サムネの横のテキストフィールド)
- 場合によっては詳細も書いておくと後で便利かも?
- 「Commit to "ブランチ名"」を押して、コミット
コマンドラインでの操作だと以下のコマンドになります。
% git add hello_world.txt
% git commit -m "add hello_world.txt"
4.作業用ブランチのpush
ローカルに作ったブランチをGithub上にも作成します。 Github Desktop上ではpublish
という表記になっています。 publishボタンを押せば、Github上に同じブランチ名で作成されます。
コマンドラインでの操作だと以下のコマンドになります。
% git push origin rindo_add_helloworld
5. プルリクエストの作成
Github Desktopでは右上のPull Requestを押すと、Github上でプルリクエストが作成されます。
作業内容などをさらに書くと、他の人が作業を理解しやすくていいと思います。
コードレビューのときは言動等に気をつけましょう..喧嘩になります。
そして、また1へ
無事にプルリクエストがマージされたとして
masterにしてsyncをすると先ほどのコミットが反映されていることがわかります。