セーターの備忘録

大学編入やIT関連の内容を記していく予定です

GitHubの使い方メモ -レポジトリ作成やチーム開発のときの手順-

GitやGitHubは普段から利用していますが,特に普段あまり使わないbranch操作などチーム開発をするときの手順について,忘れがちなので記しておくことにしました.

目次

レポジトリ作成~masterへのpush

主に一人で作業を行うときは,branch切り替えを行うことは少ないかと思います.なので,最低限レポジトリ作成からmasterへのpushができれば十分だと思います.

レポジトリ作成~初回push手順

  1. GitHubのページで 'Repositories' → 'New' からレポジトリ作成
  2. 作成時に表示されるRepository URLをコピー
  3. 以下のコマンドを実行する
$ cd {work repository}
$ git init
$ git add {file}
$ git commit -m '{comment}'
$ git remote add origin {Repository URL}
$ git push -u origin master

ここまででGitHubの作成したレポジトリを更新すればpushした内容が反映されているはずです.

2回目以降のcommit手順

2回目以降commitする場合は,

$ git add {file}
$ git commit -m '{comment}'
$ git push -u origin master

だけで大丈夫です.また,

$ git add --all

でaddすると,まだ更新が反映されていないファイルが全てcommitされます.ただし,レポジトリ内に反映したくないファイル(データセット,パスワードファイルなど)があるとそれらも反映されてしまうので気をつけてください.

チーム開発を行うときの手順

チーム開発を行う場合,レポジトリをcloneした上でbranchを切り替えて作業したりする必要があります.mergeの辺りちょっと理解が不十分なところもありますが現状は以下のように行っています.

開発開始からの主な流れ

以下の手順を行うことで,自分の作業環境を構築し,開発を行っていきます.

  1. 代表者がレポジトリを作成
  2. 他の作業者は,代表者が作成したGitHubのレポジトリ上の 'fork' ボタンからレポジトリをfork
  3. forkしたレポジトリ上の 'clone' ボタンからURLをコピーし,作業を行うディレクトリで$ git clone {clone URL}を実行
  4. $ git remote add {remote name} {Git URL of fork destination}でfork元を自分のレポジトリに登録
  5. 下に記す手順でbranchを作成,切り替え
  6. 作業branch上でcommitしつつ,下に記すpull, mergeを行った上で必要に応じてGitHubサイトのレポジトリ内からmaster branchにPull Requestを送る
  7. 管理者はPull Requestを承認することでmaster branchに変更を反映
  8. 作業中は適宜masterの更新に合わせてmerge

branchの作成と切り替え

「開発開始からの主な流れ」の5.に記したbranchの作成は以下のコマンドで行います.

$ git branch -a
$ git checkout master
$ git checkout -b {branch name to make}
$ git branch -a
$ git push -u origin {branch name}

$ git branch -aで今あるbranchを確認しています.checkoutはbranchの移動コマンドであり,オプションで-bをつけることでbranchの作成コマンドになります.

git pull, merge

開発中やmaster branchにPull Requestを送るときは,以下のコマンドで最新のmaster branchの内容を作業中のbranchにmergeします.

$ git checkout master
$ git pull
$ git checkout {branch name}
$ git merge master
$ git push origin {branch name}

まとめ

現在は記したような形でGitHubを利用しています.間違いや変更があれば気が向いたときに修正します……

参考

チーム開発 GitHubの使い方 - Qiita