#はじめに
これは学習用のメモになります。
#①ローカルリポジトリ
##ローカルリポジトリ流れ
ローカルは3つのエリアに分かれている。
①ワークツリー→②ステージ→③リポジトリ
①ワークツリー・・・・ファイルを変更する作業場
②ステージ・・・・コミットする変更を準備する場所
③リポジトリ・・・・スナップショットを記録する場所
##1.ワークツリーの変更をステージに追加する
git add <ファイル名>
git add <ディレクトリ名>
git add .
##2.変更を記録する(コミット)
git commit
コマンドでリポジトリにスナップショットを記録します。
git commit
git commit -m '<メッセージ>'
git commit -v
###現在の変更状況を確認する
変更されたファイルを確認する
git status
###変更差分を確認する
#git addする前の変更分
git diff
git diff <ファイル名>
#git addする後の変更分
git diff --staged
###変更履歴を確認する
git log
#1行で表示するオプション
git log --oneline
#ファイルの変更差分を表示するオプション
git log -p index.html
#表示するコミット数を制限するオプション
git log -n <コミット数>
###ファイル削除を記録する
#ファイルごと削除
git rm <ファイル名>
git rm -r <ディレクトリ名>
#ファイルを残したいとき
git rm --cached <ファイル名>
#ファイルの削除を取り消す
①git reset HEAD <ファイル名>
②git checkout <ファイル名>
###ファイル名の移動を記録する
git mv <旧ファイル><新ファイル>
#以下のコマンドと同じ意味
mv <旧ファイル><新ファイル>
git rm <旧ファイル>
git add <新ファイル>
##3.リモートリポジトリ(GitHub)へ送信する
###リモートリポジトリを新規追加する
git remote add <リモート名> <リモートURL>
ローカルリポジトリの内容をリモートリポジトリに送ることを「プッシュ」と言う。
git push <リモート名><ブランチ名>
git push origin master
#②GitHub上にあるプロジェクトプロジェクトから始める場合
Gitリポジトリのコピーを作成する
git clone <リポジトリ名>
クローン(コピーを)作成する
#③リモートリポジトリ
リモートリポジトリとはオンライン上にあるリポジトリ(GitHub)。
##リモートの情報を表示する
git remote
git remote -v
##リモートリポジトリを新規追加する
git remote add <リモート名> <リモートURL>
##リモートから情報を取得する
リモートから情報を取得するには2種類のやり方があります。
###1)フェッチ
フェッチとは取ってくるという意味です。
①フェッチ
リモートブランチからローカルブランチに情報を取得する
git fetch <リモート名>
#例
git fetch origin
②マージ
ローカルブランチからワークツリーに情報を取得する
git merge
##2)プル
プルはリモートから情報を取得(プル)してマージまでを一度にやりたいとき(プル)。
フェッチとマージを同時にしてくれる。
git pull <リモート名> <ブランチ名>
git pull origin master
#上記コマンドは省略可能
git pull
#これは下記のコマンドと同じこと
git fetch origin master
git merge origin/master
##フェッチとプルの使い分け
フェッチを基本的に使うのがオススメ。
プルした際に今いるブランチが開発環境にいれば問題ないが本番環境(masterブランチ)にいるとプルしようとしたものが反映されてしまうのでファイルがグチャグチャになってしまうので注意です。(する際は今どのブランチいるのか確認が必要)
#リモートを変更・削除
##変更
git remote rename <旧リモート名> <新リモート名>
#例
git remote rename tutorial new_tutorial
##削除
git remote rm <リモート名>
#例
git remote rm new_tutorial