##投稿の趣旨
gitの勉強をしている際に、覚えるべきgitコマンドがかなり多く頭がパンパンになってしまったため備忘録として記載する。
###カレントディレクトリの移動する。
カレントディレクトリ 「.」
ホームディレクトリ 「~」
ルートディレクトリ 「/」
$ cd ~ //ホームディレクトリの場合
###カレントディレクトリのパスを確認する。
$ pwd
###新しいディレクトリを作成する。
$ mkdir ディレクトリ名
###ローカルリポジトリを作成する。
$ git init
###ステージングエリアに変更を登録する。
$ git add ファイル名
###コミットする。
-m:コミット時にコメントを追記するオプション
-am:ワークツリーから一気にコミットしてコメントを追記するオプション
$ git commit -m"コメント"
$ git commit -am"コメント"
###ワークツリーの変更を取り消す。
不要なファイル修正をしてしまった際に、コミットした時のファイルに戻す。
但し、このコマンドで取り消せないケースがあり、それは以下の2点。
その場合はコマンドではなく自身でファイルを削除する必要がある。
・ファイルを新規作成したとき。(コミット自体していないため)
・ファイル名を変更したとき。(ファイル名を変更すると追跡できないため)
$ git checkout -- ファイル名
###ワークツリーに特定のバージョンを反映する。
ブランチを作成して、作業するバージョンの切替えに使用する。
$ git checkout ファイル名
###ステージングエリアへの登録を取り消す。
間違ってステージングエリアに登録してしまったときに使用する。
ステージングエリアというステータスのみ取り消すため、ワークツリーでの
変更は取り消されない。
$ git reset HEAD ファイル名
###ファイル、ディレクトリを削除する。
Git管理下にある不要になったファイルもしくはディレクトリを削除する。
削除した場合もコミットが必要になるので忘れないこと。
$ git rm ファイル名
$ git rm -r ディレクトリ名
###コミットの履歴を確認する。
$ git log
###リポジトリをフォークする。
複数人で作業するとき等、複製元のリモートリポジトリをフォーク(複製)して、自分のリモートリポジトリに取得する。さらに、下のクローン作業でローカルリポジトリに取得し作業を開始する。
フォークする方法は、複製元のリモートリポジトリをGitHubで検索し、Forkボタンをクリックするのみ。
###リモートリポジトリをクローンする
GitHubのClone or downloadのSSHを選択し、記載されているURLをコピーし、以下のコマンドを入力する。
$ git clone URLをコピペ
###ファイルの差分を確認する。
ワークツリーとステージングエリアの差分を確認。
$ git diff
ステージングエリアとGitディレクトリの差分を確認。
$ git diff --cached
###Gitで管理しないファイルの取り扱い
ローカルリポジトリに「.gitignore」ファイルを作成し、管理しないファイル名を中に記載する。当ファイルを保管する場所は「.git」ディレクトリと同じレベルの階層が望ましい。.gitignoreの効果がある範囲は、.gitignoreを配置したディレクトリ配下のパスであるため。
管理したくないファイルを一度ステージングエリアへ登録し、git stutasで確認すれば反映されているかどうかを判断できる。
####管理すべきではないファイル
・自動生成される一次ファイル(ログファイル、パッケージファイル、バックアップファイル)
・OSのファイル管理に伴うもの(WindowsのThumbs.db、macOSの.DS_Store)
・パスワードが書かれたファイル ...etc
###ブランチする。
元データであるmasterブランチに対し、編集用のファイルを作成(分岐点の形成)する。
ブランチを作成して編集するときは、どのブランチを操作しているのか認識して実施すること。
git checkoutコマンドで操作するブランチを切り替えることができる。
$ git branch 作成するブランチ名
また、ブランチの一覧を表示したい場合は以下のコマンドで表示できる。
選択しているブランチは、*の印が付いている。
(git statusコマンドでも、on branchの項目に記載されている)
$ git branch
###ブランチをプッシュする
ローカルリポジトリで作成したブランチを、リモートリポジトリへ反映させること。
流れとしては、そのデータをチェックして頂いた(レビュー)後、マージ(ブランチの結合)する。
$ git push origin プッシュするブランチ名
リモートリポジトリに元データが存在しない場合(新規作成)、以下のコマンドでGitHubへプッシュし、ローカルリポジトリへ反映する。
$ git remote add origin https://から始まるリモートリポジトリのURL
$ git push origin master
###リモートリポジトリからローカルリポジトリへ反映する。
マージされた最新データを、ローカルリポジトリへ反映する。(プル)
※masterブランチにcheckoutしてから実施すること。
$ git pull origin master
ワークツリーへの反映はせず、内容を確認したいだけの時(ローカルリポジトリに入れたいだけの時)は以下のコマンドを使用する。(フェッチ)
その後、ワークツリーに反映したい場合はプルする。
$ git fetch origin