Open sumakokima2 opened 5 years ago
npm install について
もしyarnを使っているプロジェクト(yarn.lock
ファイルがあるかどうかで判断可能)の場合は、npm install
の代わりに yarn
です。
レビューを受けて、自分で書き直して、add, commit, pushした場合、_再びレビューの依頼をする必要があります。上記のレビューのリクエストと同じ手順で、再度レビューの依頼をすることができます。
再レビュー依頼という概念は特にGitHubにはないようです。変更をプッシュしたら、単にPRのコメントやSlackで「もう一度レビューお願いします」って声かけるだけでも大丈夫と思います。
自分の作業中にmasterブランチが進んでいた場合の方法も、是非書いてください。
masterの変更をmasterから自分のブランチに取り込んで(競合が発生した場合は自分で解消して)から、レビューを依頼します。(でないとmasterに自分のブランチをマージできません)
http://kray.jp/blog/git-pull-rebase/
こちらもご参考までに。
更新しました!段落が見にくいので、要改善です。
手順
1. 最初にプロジェクトをスタートする 1.1. git clone
$ git clone %gitのパス%
これは、既存のプロジェクトを最初にローカルパソコンにダウンロードするときに使います。 ターミナルで、gitで作業したいディレクトリに移動してからこれを入力すると、自動的にgitのファイル名と同じディレクトリとその中身が作成されます。通常、
clone
したディレクトリにpackcage.json
も内包されています。packcage.json
内に、プロジェクトで使用するモジュールが全て書かれています。clone
をしたらターミナルで、cd ***
を入力してそのディレクトリに移動し、npm install
を行います。 すると、開発に必要なモジュールが全てインストールされます。3/31追記 作業するプロジェクトに、
yarn.lock
が含まれていた場合、npm install
の代わりにyarn install
でもモジュールのインストールが可能です。2. gitで開発を進める 2.1. branch gitで作業するときは必ず
branch
を設定します。 branchは、開発の基盤となるmaster branch
を汚さないように、更新の状態を別に保存しておく場所です。branchの状態はgit branch -a
で確認できます。2.2. branchの作成と切り替え 自分で作業を進めるbranch を作成します。
$ git branch %ブランチ名%
ここで、git branch -a
を入力すると、現在存在するブランチを全て確認することができます。現在自分がいるbranchが緑色で書かれ、" * "がついています。 注意すべき点は、branchを作成したら、自動的にそのbranchに移動することは無いということです。なので、branchを作成したら必ずcheckout
して作業を進めるbranchを移動する必要があります。$ git checkout %ブランチ名%
3. ソースコードの書き換え(add, commit, push) gitでソースコードを書き換えたら、add, commit, push の段階を経て、リモートgitにデータが反映されます。
これらは各々その機能を説明されることが多いですが、私は別々に言われても理解できませんでした。なので、add(完全ローカル)-commmit(まだローカルだけど、pushしたらリモートに反映される)をローカルゾーンとしてひとまとまりとして扱い、そのあとpushする(リモート)という風に分けてここに記述します。
3.1 addとcommit addは自分の中でローカルgit状に変更データを保管するために使用します。 commitは、addされたデータを「コメント付き」でgitに登録するためのものです。 ここで、注意したい点は、commitで書かれた「コメント」は「残る」ということです。 commitの説明の時に、「コメント」と書かれることが一般的ですが、「コメント」というよりは「変更報告」です。他の人が変更内容を一目でわかるように書く必要があります。
また、変更したファイルを一括でaddしてcommitするよりも、ファイルごと、変更箇所ごとに都度addとcommitした方が、その後の管理がスムーズになります。
私の場合、(いまだにaddのタイミングを掴めてないのですが)、なんとなく、関数を一つ作成したらadd- commitするようにしています。なお、addとcommitは取り消し可能です。
以下に一連の流れを書きます。 ソースコードを書き換えたらまず
add
します。$ git add %編集したファイル%
※間違ってaddした場合
$ git reset HEAD %編集したファイル%
コミットする
$ git commit -m "コメント"
3.2 push
要は、pushしてしまうとリモートに行ってしまうため共同開発者全員から見られてしまいます。 pushの取り消しもできるようですが、なんらかの混乱を招く恐れがあるらしいので、そのときはこっそり削除するよりも、共同開発者に相談した方がいいかと思います。
$ git push origin %ブランチ名%
4. プルリクを作る
前置きが長くなりましたが、ここからが本題です。 master branchに変更データを反映させてもらうための要求(リクエスト)をします。 プルリクエストは、ブラウザ状でできます。
ブラウザのgitで、tabにある「Pull request」から、「new Pull request」をクリックします。 ここで、
「ブランチ名(プルダウン)」 ← 「ブランチ名(プルダウン)」
から、右側を自分の開発ブランチにセットします。ここで、プルリクエストの名前を書く点での注意点です。
5. レビューを受ける
プルリクエストをしたら、他の人から変更箇所のチェックをしてもらいます。 これを「レビューを受ける」と言います。 レビューを受けたい場合は、プルリクエストのページの右側タブにあるreview部分から、レビューしてほしいユーザをクリックします。 こうすると、そのユーザにレビューの依頼が届き、内容をチェックしてもらうことができます。
初心者の場合、このレビューで様々な課題が浮き彫りになります。 pull requestページ内のコメント数が膨大になります。。。
レビューを受けて、自分で書き直して、add, commit, pushした場合、_再びレビューの依頼をする必要があります。_上記のレビューのリクエストと同じ手順で、再度レビューの依頼をすることができます。
6. マージする
マージのためには、「レビューを受けてから」、「プルリク作成者が自由にできる」、「マージする人に制限がある」などの条件があります。 私の場合、プルリクエストとレビュー依頼までが私のできる範囲で、マージについてはボスの権限でした。
3/31追記 再レビュー依頼という概念は特にGitHubにはないようです。変更をプッシュしたら、単にPRのコメントやSlackで「もう一度レビューお願いします」って声かけるだけでも大丈夫と思います。
5. 自分の作業中にmasterブランチが進んでいた場合 masterの変更をmasterから自分のブランチに取り込んで(競合が発生した場合は自分で解消して)から、レビューを依頼します。(でないとmasterに自分のブランチをマージできません)。
例えば、自分のfirst-branchがマージされた直後に、再度最新情報を取り込みたい場合は、
git pull origin master
(これは、git fetch
+git merge
)git pull --rebase origin master
で最新情報に更新できます。
さて、ここで
--rebase
をつけるかつけないか です。http://kray.jp/blog/git-pull-rebase/-rebase オプションをつけてプルすると、履歴にマージコミットが作られないため、記録が綺麗になります。
色々説はありますが、
git pull --rebase origin master
が推奨されているようです。--rebase
をつける点について、原田は、「複数人によって枝分かれした複雑なツリーに対し、自分の部分(ブランチ)をちょん切って、メインの先っぽに付け足す」作業として解釈しました。最終的に、管理者がツリー情報を「視覚的」に把握しやすくなるために行う作業として捉えています。masterの変更をmasterから自分のブランチに取り込んでからpullする理由は以下です。