チーム開発する上で使ったコマンドたち
github上の本家リポジトリたちと連携するときの設定
作業前のセットアップについて
1. 本家リポジトリに共同編集者を登録してもらう
2. 本家リポジトリをフォークする
3. remoteで本家リポジトリとフォークリポジトリをローカルと連携する
4. リポジトリが連携できているかチェックしてみる
ローカルで作業するときの色々
作業するときに使ったコマンドたち
慣れるまでが大変なのでそこを頑張ってやる
github上のリポジトリと共有する
リーダが作っているプロジェクトをローカルに持ってくる。
ターミナル上で自分のワークスペースに移動したら、
git clone https://github.com/ユーザー名/リボジトリ名
cloneコマンドを使うことでリポジトリを丸々ダウンロードすることができる。
そして、後でpushを利用してアップデートなどもできるようにこのURLをアップロード先に指定できるように
remoteコマンドを使う。
git remote add upstream https://github.com/ユーザー名/リボジトリ名
git remote -v
remote addによってダウンロード/アップロード先が保存される。
remote -vを使うことで名前とurlを確認できる。
ここまでできれば作業前の設定は完了。
masterブランチは常に正常に
新しい作業をする前にmasterブランチに最新の情報を更新する。
git branch master //ブランチをmasterにする
git fetch upstream //本家リポジトリからデータを取得
git merge upstream master //本家リポジトリのmasterをローカルに取り込むことで最新の状態にする
機能追加するときはmasterブランチから新ブランチを作成して作業する
git branch //現在のブランチの情報を取得
git branch 新ブランチ名 //新ブランチを作成
git checkout 新ブランチ名 //ブランチの切り替え
データをpushして更新する
ある程度作業が進んだらデータをgithubにpushする。
機能の完成までしたらプルリクエストを送ってレビューしてもらい、masterブランチに統合してもらう。
git add .
git commit -m "更新内容"
git push upstream 作業ブランチ名
プルリクエストが完了したら
プルリクエストが完了したらmasterブランチをpullして更新し、作業していたbranchを消去する
git checkout master //ブランチをmasterにする
git fetch upstream //本家リポジトリからデータを取得
git merge upstream master //本家リポジトリのmasterをローカルに取り込むことで最新の状態にする
git branch -d 作業ブランチ //作業ブランチの消去
新しい開発を進める時はまた新たにブランチを作成して作業する、といったように繰り返していく。
- 新ブランチに切り替えてコミットする
- 定期的にPushする
- masterにマージするためにプルリクエストをして他の人から承認をもらう
- maaterブランチにマージしたらローカルにも反映させて使ったブランチを消す
- cloneで本家リポジトリからローカルにデータを持ってくる
- fetchで本家リポジトリの更新の有無を確認する
- mergeで本家リポジトリの変更をローカルに反映させる
- branchを作成する
- checkoutでbranchを切り替える
ブランチの仕組み
ブランチ → コミットを指したポインタ
HEAD → 現在の作業中のブランチを指したポインタ
作業しているブランチで、コミットを行うと新しいコミットを指す
だからある地点でブランチを作っておけばそのあと別のブランチで作業を行ってミスが見つかっても戻ることができる
リポジトリの変更履歴を表示する
git log
//一行で見たい場合は--onelineを追加
git log --oneline
コマンドを省略して楽をする
エイリアスを設定することでgit コマンドを省略しすることができる
同じことを繰り返すので設定しておくと便利
git config --global alias.ci commit //省略後コマンド:git ci
git config --global alias.st status //git st
git config --global alias.br branch //git br
git config --global alias.co checkout //git co
git config --global alias.fe fetch //git fe