0
0

More than 1 year has passed since last update.

共同開発 git 初期設定

Posted at

:cherry_blossom:はじめに

共同開発のためのgitの使い方を自分用に作成します!
リポジトリを作成しているところからです。

:apple:がついているものは代表者以外のメンバーが行う作業です。
ついていないものは代表者1人の作業です。


:shamrock:アプリケーションを作成

$ rails new アプリ名     # 新規アプリケーション作成
$ cd アプリ名                  # アプリケーションに移動

.gitignoreに管理から外すファイルを記述する

.gitignore
/db/*.sqlite3
/db/*.sqlite3-jaurnal

:question: gitignoreとは?
コンピュータのプログラムを作るときに使うツール、Gitで、特定のファイルやフォルダを無視するように指示するためのファイルのことを指します。

プログラムを作るときには、試行錯誤の結果や秘密の情報、使ったツールが自動で作るファイルなど、Gitで管理したくないものがたくさんあります。これらを一つ一つGitから除外するのは大変です。

そこで.gitignoreファイルを作り、管理したくないファイル名やパターンを書き込んでおくと、Gitはそれらを自動的に無視します。これにより、必要なファイルだけをきちんと管理することができます。

:shamrock: アプリケーションgitにプッシュする

$ git init                                # git 初期設定
$ git add -A                              # ステージングに登録
$ git commit -m "first commit"            # コミットする(ローカルリポジトリに登録)
$ git remote add origin リポジトリのURL(SSH)  # リモートリポジトリの登録
$ git branch -M main                      # ブランチ名をmainに変更する
$ git push -u origin main                 # プッシュする

-u オプションをつけると origin mainが登録され、次回以降
$ git push コマンドのみで origin mainにpushされます。

:apple:代表者がプッシュできたら、
他のメンバーはGitHubからアプリケーションをクローンします。

$ git clone [リポジトリのURL(SSH)]

:shamrock: ブランチの作成

:star:ブランチの確認
今いるブランチに*がつく

ec2-user:~/environment/cakeshop (develop) $ git branch
* develop
  install-devise
  main

:star:ブランチの作成
今回はdevelopブランチを作成して $ git branchでdevelopブランチに移動していることを確認

$ git checkout -b develop

ブランチは機能・タスク・バグごとに切る

Gitでブランチを機能、タスク、バグごとに切る理由は、「作業の分離」と「安全なコード統合」を可能にするためです。

複数の開発者が同時に作業を進める際に役立ちます。各開発者が別々のブランチで作業することで、他人の作業に影響を与えることなく自分のタスクに集中できます。

:star:作成したブランチを空コミットする
オプション--allow-emptyは空コミットするためのものです。

$ git commit --allow-empty -m "first commit"

:question:空コミットとは?
Gitにおいて、何の変更も伴わないコミットのことを指します。つまり、前のコミットと比べてファイルに変更が無い状態でコミットを行うことです。

:star:作成したブランチをリモートリポジトリにプッシュ

$ git push origin develop

:apple: 統合ブランチを反映させる
代表者が統合ブランチをプッシュできたら、
他のメンバーは、その統合ブランチの情報を取ってきましょう。

$ cd アプリケーション
$ git checkout -b develop
$ git pull origin develop   

:shamrock: 統合ブランチとトピックブランチ

統合ブランチ
主要な開発の進捗を反映するブランチで、通常はmasterやmain、developなどと呼ばれます。このブランチには正常に機能するコードだけが含まれ、特にmasterやmainはリリース可能な状態を保つことが一般的です。

トピックブランチ
特定の機能開発やバグ修正など、特定の「トピック」に関連する作業を行うためのブランチです。トピックブランチは統合ブランチから分岐し、作業が完了したら統合ブランチにマージされます。
各開発者はトピックブランチで自由に作業を行い、その結果を統合ブランチに反映させることで、安全かつ効率的に共同作業を進めることができます。

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