#GitとGitHubとは
コマンドの使い方に入る前に、まずはGitとGitHubについて説明します
##Gitとは
wikipediaから引用
Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
##GitHubとは
Github公式から引用
GitHubは、ユーザのみなさんからヒントを得て作成された開発プラットフォームです。オープンソースプロジェクトやビジネスユースまで、GitHub上にソースコードをホスティングすることで数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの管理をしながら、ソフトウェアの開発を行うことができます。
##結論
語弊を恐れずに記載するならば、GitとGitHubの関係は以下のようなものです。
- Git
ローカル環境でソースコードのバックアップを取れるもの - GitHub
リモート環境でGitで取ったバックアップをアップロードすることで、そのソースコードの共有ができるもの
ローカルとは、「自分のパソコン内で」という意味なのでネットに繋がっていないオフライン環境でも利用することができます。
リモートとは、「ネット上の」という意味なのでネットに繋がっているオンライン環境でのみ利用することができます。
-
ブランチ
チーム開発を想定した場合に、同じプロジェクトのソースコードを複数人で編集していくことになります。その際に一人が作業しているときに他の人が作業できないという状況では困ってしまいます。そのため、ブランチという形でそのプロジェクトを複製(ブランチを切る)し、それを編集し、後から合体(マージ)させることで複数人での作業を可能にしています。
#チーム開発で使うコード一覧
チーム開発の場合は、個人での開発と違いブランチをきったり、ソースコードをマージする作業が増えます。
###既存のソースコードを使う場合
- GitHubからソースコードをクローンする(ダウンロード)
git clone [URLを入力]
###リモート上のブランチの一覧を取得
- リモート上に存在しているブランチの一覧を取得
→この作業をすることで新規作成したリモートブランチなどもブランチ一覧の表示コマンドを打ったときに反映されるようになります。
git fetch -p
※「-p」は省略することもできますが、リモート上で閉じたブランチであってもコンソール側にはその情報は自動で反映されないため、削除された情報も含めてリモートの最新情報を取得する場合にはつけます。
###ブランチの一覧の表示
- ブランチの一覧の表示(ローカルのみ)
git branch
- ブランチの一覧の表示(フェッチで取得したリモートブランチも含めて取得)
→リモート上のブランチは使用しているツールによっては文字色がローカルとは違う色で表示されます。
git branch -a
###リモートブランチの内容をローカルに反映させる
- マージする
→フェッチ作業は変更内容を取得しただけで、まだローカルのブランチにその内容が適用されていないため、適用する作業が必要になります。
git merge origin/[ブランチ名]
###リモートの内容を直接ローカルに反映させる
- リモートにある情報をローカルにすぐに反映させる
→フェッチ+マージにあたるコマンドです
git pull
###ローカルブランチの新規作成
- ローカル上に新規で名前をつけてブランチを作成します
→特別な場合がない限り、リモートで作成したブランチ名とローカルで作成するブランチ名は同じものにした方が良いです。違う名前にしていると、コマンド操作を行うときにリモートの名前を毎回指定しなくてはいけなくなり面倒です。
git branch '[ブランチ名]'
※「'」を省略することもできますが、先頭に記号がきた時などに正常にコマンドが適用されないことがあるので、つけた方が間違いないです。
###作業ブランチの移動
- ローカルで今作業しているブランチを移動
→デフォルトではmainブランチが選択されているため、移動したいブランチ名を入力して、移動してからソースコードを書き始めます
git checkout '[ブランチ名]'
※「'」を省略することもできますが、先頭に記号がきた時などに正常にコマンドが適用されないことがあるので、つけた方が間違いないです。
###ローカルで編集した作業内容のコミット
- 編集した変更をステージング
→変更箇所の確認
git add .
- ステージングした内容をコミットする
→ローカルにバックアップを作成する
git commit -m '[コメントの内容]'
###コミットした内容をプッシュする
- コミットした内容をプッシュする
→コミットで作成したローカルにあるバックアップをアップロード
git push