[git]少人数の素人がgit運用をするための人力マクロ


ちゃんとgitを理解してなくてもチームで運用できるようにする人力マクロのメモ、およびサルでも分かるgitが分からなかった人がgitを理解した後の入門テキスト。
知人に教えてもらった+独学ですが、最低限の運用はできるはず?

Gitとはなんですか

間違いを恐れずざっくり大胆に言えば、「複数人で同じプロジェクトのファイルを同時に編集しつつ、変更したときにセーブポイントを立てられる」ようにするためのもの。
どこがどう変わったか(察分)の履歴が見れるもの。

準備編

1,githubなりgitlabなりでリモートリポジトリを作成する。
2,作成したリモートリポジトリをローカルに取ってくる。

cd ~/<ディレクトリ>
git clone <repository>

3,今ローカルにあるgitで管理したいファイル群をリポジトリのディレクトリにまとめてコピー。
4,git add –all してgit commit -m “initial”とかやってgit push origin masterする。
これでmasterに今手元にあるファイル群が登録できる。

運用編

想定:web開発などではなく、ずっと動いているmasterが必要ない場合。もしくは少人数・小規模開発の場合。
絶対ルール:新しい機能とか、何かしら開発するときはmasterで作業してはならない。
1,リモートでタスクを作る. github/lab上で > issues > new issueボタンで作成。このとき分かりやすくかつユニークなタスク名をつけておく。例:add_data_converterとか
2,ローカルでgit checkout -b <タスク名>としてローカルにその機能開発専用のブランチを作成する
3,git push origin <タスク名>でリモートにブランチを反映(リモートにブランチを登録するため。これをするまではリモート上でブランチの存在が認知されない)

↓(ローカルで開発作業。こまめにcommit)

4, addしてcommitしてからgit checkout masterする。んでgit pullでmasterを最新版に。そしてgit checkoutで<タスク名>のブランチに戻り、git merge masterで最新版をそのブランチにも反映する。コンフリクトが出たら解決する。
5,git push origin <タスク名>で完成したブランチをリモートへ
6,完成させたらgithub/lab上でmergeできるか確認。if yes,作業者がpull requestを送る。if no, ローカルでコンフリクトを解決してもう一度4に戻る。
7,devのpull担当者がpullする。コードレビューがあると尚良し。

これがweb開発などになるとmasterはバグがない状態で常に動いていなければならないので、masterの下にdevブランチを用意して、そこを各ブランチの合流地点とする。ある時点でdevブランチ上のテストなどをしっかり確認してmasterに反映するらしい。
もっとビッグなプロジェクトになるとテストやデプロイの自動化などをするが勉強してない。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする