Git
ファイルの変更履歴を記録・追跡するためのバージョン管理ツール
用語
リポジトリ
ファイルやディレクトリの状態や変更履歴が保存されるデータベース
ローカルリポジトリ
実際に作業を行うリポジトリ(自分のPC上で作られるリポジトリ)
リモートリポジトリ
ネットワーク先のリポジトリ(GitHub上で作られるリポジトリ)
ワークツリー
バージョン管理対象のファイルやディレクトリ
ステージングエリア / インデックス
ローカルリポジトリに登録するファイルやディレクトリのリスト
ステージング
ワークツリーの変更を加えたファイルをステージングエリアに追加すること (add)
コミット
Git上の1つ1つのバージョンのこと
コミットする
ステージングエリアのファイルをローカルリポジトリに登録すること (commit)
プッシュ
ローカルリポジトリに登録された情報をリモートリポジトリに追加すること(push)
クローン
リモートリポジトリをローカルリポジトリへコピーして保存すること(clone)
ブランチ
変更履歴を枝分かれさせる機能(複数人で開発する際に効果的)
デフォルトのブランチ名はmain(2020年10月以前はmaster)
Git コマンド
初期設定
$ git config --global user.name "XXXX"
$ git config --global user.email "XXXX@example.com"
現在のフォルダ内にローカルリポジトリを作成し、ワークツリーとインデックスを用意する
$ cd [リポジトリを作成するディレクトリ]
$ git init
新規追加や変更されたファイルを選択し、ステージさせる
# 全ファイル
$ git add .
# ファイルを指定
$ git add [ファイル名]
# ディレクトリを指定
$ git add [ディレクトリ名]
ステージされた変更をコミットする
$ git commit
$ git commit -m "メッセージ"
ローカルリポジトリにgithubに作成されたリモートリポジトリを登録する
$ git remote add リモートリポジトリ名 URL
# originというリモートリポジトリ名でURLのリモートリポジトリを登録
$ git remote add origin https://github.com/github-username/repository
ローカルリポジトリのブランチ名をmainに変更する
$ git branch -M main
登録したリモートリポジトリへプッシュして、ローカルでのコミットを反映させる
$ git push origin main
ローカルにリポジトリを作成し、リモートにプッシュする
$ git init
$ git add .
$ git commit -m "XXXX"
$ git remote add origin https://github.com/XXXX/XXXXXX.git
$ git branch -M main
$ git push origin main
リモートからクローンする
$ git clone https://github.com/XXXX/XXXXXX.git
リモートから変更を取得する
$ git pull
or
$ git fetch
$ git merge origin/main
ワークツリーとインデックスの状況をファイル単位で確認する
$ git status
ワークツリーとインデックスを比較して、その差分を表示する
$ git diff
過去のコミット履歴を確認する
$ git log