LoginSignup
0
0

More than 3 years have passed since last update.

超初心者向けGitHubの使い方(チーム開発)

Posted at

自分自身が、GitHubの初心者なので
Rubyチーム開発の手順として、忘備録としてまとめます。
GitHubのアカウントを持っていて、GitHub Desktopもダウンロードしている
ことを前提としています。
もし、何か間違っていることがあれば教えていただきたいです。

最初に、アプリの雛形を作成します(デプロイする人が作成をします)。

ターミナル

% rails _6.0.0_ new アプリ名 -d mysql    # mysqlデータベースでの開発

config/database.yml


default: &default
  adapter: mysql2
  encoding: utf8   # encodingを変更。
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
  socket: /tmp/mysql.sock

ターミナル

% rails db:create  # データベースを作成

これで、アプリの雛形が完成しました。

ここからは、GitHUbにデータを紐付ける作業をしていきます。
以下の手順で作業していきます。

①GItHub Desktop から 先ほど作成したアプリのローカルリポジトリを作成。
 左上の「Current Repository」→「Add」→「Add Existing Repository」を選択
②ターミナルから該当ディレクトリへ行き、「git init」コマンドを実行。
 これをすることで、該当アプリがgit管理下に置くことができる。
③ターミナルより以下コマンドを入力

git add 該当アプリ.rb

このコマンドを入力することで、インデックスに追加されることになリます。
念の為以下コマンドを入力

% git status
On branch master   # git statusをすると、以下文が出たら、全てインデックスに移動済
No commits yet
Changes to be committed:
    (use "git rm --cached <file>..." to unstage)
        new file: 該当ファイル.rb
Untracked files:
    (use "git add <file>..." to include in what will be committed)
        site/

④GItHub Desktop から git-app のローカルリポジトリを作成。
 左上の「Current Repository」→「Add」→「Add Existing Repository」を選択。
 chooseから該当アプリを選択、「Add Repository」をクリック。
⑤ローカルリポジトリにある全てのファイルを選択してコミットする。
 その際のコミットメッセージは、なんでも良いが、迷うのであれば「Initial commit」とする。
⑥リモートリポジトリと結びつける。
 GitHubDesktopより[Publish repository]ボタンをクリックすると
 GitHub のリモートリポジトリが作成される。
⑦ここで リモートのGitHub のトップページに移動。
 GitHub の Your repositories の欄に 該当アプリ があれば成功。

===========
ここまでで、アプリの雛形とGitHubへの紐付けが終了です。
次に、チームで開発するために、別のメンバーが作成していくを書いていきます。

①別のメンバーは該当アプリをフォークして、クローンをする。
 GitHub(リモート)の該当アプリのページへ飛び、URLをコピー。
 右上にあるforkボタンを押す。→フォークされる。

 ターミナルでcloneしたいフォルダまで行き、以下のコマンドを実行。

git clone コピーしたアプリのURL   →クローンされる。

 これで、アプリがクローンされる。

②コミットをする。
 クローンした後、空のコミットをする。
 しかし空のコミットは、GitHubデスクトップからコミットできないので
 ターミナルから以下のコマンドを入力してコミットをする。

git commit -m 'initial commit'

必ず最初にコミットをしなければいけない訳ではないが、
この後、プルリクエストを出すにはコミットをしておかなければならない。
プルリクエストも別に出さなくても良いが、プルリクエストを出すことによって
別のチーム開発者に、今ここを実装しているといったアピールができるので
コンフリクトを減らすことができる。
つまり、コンフリクトを減らしたい→その為にプルリクエストを出しておきたい→その為に最初に
コミットを出しておく。

③コミットをしたら、GitHubDesktopから、マスターブランチから新しくトピックブランチを切り
 プルリクエストを出す。ブランチ名はこれから実装するであろう内容にする。
 タイトルにWIP(作業中)をつける。
 WHAT WHY で書くとわかりやすい。(マークダウンで書くのが望ましい)
 プルリクエストを出すことで、他のメンバーに自分が実装している場所をアピールすることができる。
 マスターブランチでプルリクエストを出さないように注意。

④ トピックブランチから、開発を開始する。

⑤完成したら、GitHubデスクトップより、コミットをする。

⑥他のチームメンバーにLGTMをもらったら、WIPの記述をなくす。
 もしくは、プルリクエストをクローズする。リモートの下の方にボタンがある。

⑦プッシュする。

⑧アプリ開発者(デプロイする人)にマージしてもらう。
 マージしたら、プルリクが溜まらないようにデリートするのがおすすめ。

⑨ローカルリポジトリにプルしたいので、
 GitHubデスクトップのブランチをマスターブランチに変更して、プルをおす。
 こうすることで、最新版のデータを吸い上げることができる。

⑩ローカルリポジトリが最新のデータになったので
 再度、トピックブランチを切って、次の開発を進めていく。

=======
GitHubは、最初はなかなか慣れない人が多いと聞きました。
順を追って確認しながら進めていくのがおすすめです。
みなさん、一緒に頑張りましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0