共同開発を行う際に自分の書いたコードをほかの人に共有する必要があります。
そんな時に使うのがGitです。
ターミナルはMacに備わっているCUI(キャラクターユーザーインターフェース)ツールです。
Git Hubインストール
https://www.agile-software.site/2021/04/24/vs-code%e3%81%ae%e8%a8%ad%e5%ae%9a/共有したいファイルの選択
$ git add ファイル名
選択したファイルを記録する(コミットする)
$ git commit -m "コミットメッセージ"
共有の仕組み

ファイルのアップロード
$git push origin master
すでにリモートリポジトリがある場合
VSCodeにおけるターミナルでコマンドを入力します。
git add .

$ git remote add [追加するリモートリポジトリ名] [追加したいリポジトリ]
# 新しいリモートを設定する
[追加するリモートリポジトリ名] にorigin、[追加したいリポジトリ]に<リモートリポジトリのURL
(http://xxxxxx.xxx/xxxx)>を指定することでリモートリポジトリを登録できる
$ git remote -v
# リモートリポジトリを一覧表示する
git push origin main
「git clone」
git clone
とは、既存のリポジトリをローカル環境に複製するコマンドのことです。
git clone [リポジトリパス]
URLを変更する
git remote set-url origin [変更先のURL]
ファイルのダウンロード
$ git pull origin master
自分が変更したファイルの確認
どのファイルをaddしてどのファイルがaddされていないのかも確認することができます
git status

変更した部分を確認
git diff
ローカルに登録してあるリモートリポジトリを削除
git remote remove origin
自分や他人のコミットを確認
過去のコミットの変更はgit log
変更内容まで見たいときはgit log -p
git log
ブランチとは
ブランチを使用することで、開発者は異なる機能やバグ修正を独立して行うことができ、メインのコードベースに影響を与えることなく作業を進めることができます。
ブランチとは、履歴の流れを分岐して記録していくためのものです。分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができます。

また、分岐したブランチは他のブランチと合流(マージ)することで、一つのブランチにまとめ直すことが出来ます。

- メインブランチ(多くの場合「main」または「master」と呼ばれる)から新しいブランチを作成し、そこで機能追加やバグ修正を行います。
- 主要なブランチの種類:
- main(またはmaster): 常にデプロイ可能な状態を保つブランチ。
- develop: 次のリリースに向けた開発が行われるブランチ。
- feature: 新しい機能を追加するためのブランチ。
- release: リリース前の最終調整やバグ修正を行うブランチ。
- hotfix: 本番環境で発見されたバグを修正するためのブランチ。
2. ブランチの作成と管理
- ブランチの作成: 新しいブランチは、コマンドラインで以下のように作成します。
git branch <branch-name>
- プルリクエスト(PR): 開発が完了したら、変更をメインブランチに統合するためにプルリクエストを作成します。これにより、他の開発者が変更をレビューし、問題がなければマージすることができます。
- マージ: プルリクエストが承認されると、変更がメインブランチに統合されます。マージ後は、作業が完了したブランチを削除することが推奨されます。
マージンコンフリクト
マージンコンフリクトは競合するコミットを持つブランチをマージしようとしたときに生じるもので
pull
pullを実行するとリモートリポジトリの履歴を取得することができます。
fetch
fetchを実行すると、リモートリポジトリの最新情報をローカルリポジトリに持ってくることができます。
push
ローカルリポジトリからリモートリポジトリにpushするときは、pushしたブランチがfast-forwardマージされるようにしておく必要があります。もし、競合が発生するような場合は、pushが拒否されます。
https://www.agile-software.site/2021/04/24/github%e7%94%a8%e8%aa%9e%e9%9b%86/GitHub関連サイト
最初のコミットを保護しつつ、新しいブランチを作成して開発を進める方法を説明します。また、間違いが発生した場合に最初のコミットに戻る手順も解説します。
1. 最初のコミットを確認
現在の状態を確認して、最初のコミットのハッシュ値を取得します。
git log --oneline
2. 新しいブランチを作成
新しいブランチを作成して切り替えます。
git checkout -b 新しいブランチ名
3. 開発作業を進める
新しいブランチで自由に作業を進めてください。
ファイルを編集してコミットする例:
echo "New feature" > new-feature.txt
git add new-feature.txt
git commit -m "Add new feature"