Gitコマンド
各種確認
git –help:gitコマンドを確認
1 |
git --help |
コマンドの一覧を表示してくれる。色々ググって調べるよりもこれを見た方が一番早いかもしれない。
カレントディレクトリの確認
1 |
pwd |
今どこのディレクトリにいるのかを確認できる。
Gitリポジトリのトップディレクトリの絶対パスを取得
1 |
git rev-parse --show-toplevel |
ディレクトリの移動
1 2 3 |
cd ディレクトリ名 cd ディレクトリ名1/ディレクトリ名2/・・・ |
指定したディレクトリに移動する。
/でつないでまとめて移動することができる。
カレントディレクトリ内のディレクトリとファイル一覧を取得
1 2 3 4 5 |
#lsでディレクトリとファイル一覧を表示 ls #-aはALLの略。 .ファイル(隠しフォルダ)も含めて表示 ls -a |
横並びに/区切りで表示される。
-aはALLの略。 .ファイル(隠しフォルダ)も含めて表示。
ワーキングディレクトリの更新有無を確認
1 |
git status |
ワーキングディレクトリとはローカル環境でのGitで管理しているのフォルダのこと。ワークツリーと呼ばれることもある。
git statusはローカル端末でGitに管理されているファイルを編集したり、追加・削除を行ったときにその差分を確認することができる。
git statusはファイル自体の変更、追加、削除があったことを表示するので、ファイル内の変更内容を知りたい場合はgit diffを使用する。
ワーキングディレクトリとステージングエリアの差分を表示
1 |
git diff |
ワーキングディレクトリはローカル環境でのGitで管理しているフォルダのこと。ワークツリーと呼ばれることもある。
ステージングエリアとはgit add実行により各ファイルが移動する先の場所のこと。
ステージングエリアにあるファイルは次にgit commitにより変更内容が確定されてローカルリポジトリへ移る。
git diffはワーキングディレクトリとステージングエリアの差分、つまり変更内容を表示する。
git diffは変更した内容をコードで表示してくれる。
ファイル自体の追加、移動、削除などの状態を知りたいときはgit statusを使用する。
git reflog:コミット、リセット等の履歴の確認
1 |
git reflog |
コミットIDも確認することができる。
コミット履歴を確認
1 |
git log |
ローカルリポジトリの過去のコミット履歴を確認することができる。
以下の情報が含まれている。
・コミットのユニークなハッシュ値
・コミットを行った著者
・コミットに自治
・コミットメッセージ
また、オプションを付けて表示内容を変えることができる。
git show:指定したコミットの変更内容を確認
1 |
git show コミットID |
指定したコミットIDでの変更内容や詳細を確認できる。
コミットIDを指定しない場合は直近のコミットでの変更内容を確認できる。
終わる時はqを入力する。
コミットIDを確認するにはgit reflogを使う。
Gitでの管理
ローカルリポジトリの作成
1 |
git init |
.gitディレクトリが作成される
.ファイル(隠しフォルダ)なので、Git Bash上で確認するなら”ls -a”を使う。
プロジェクトごとに最初の1回だけ実行することになる。
ステージングエリアへの追加
1 2 3 4 |
git add "ファイル名" #全てのファイルをステージングエリアへ追加 git add . |
ワーキングディレクトリ、つまりGitで管理しているフォルダ内で、ファイルの変更、削除、追加などがあった場合、そのファイルをステージングエリアに移動する。
別のフォルダに移動するわけではなく、ローカル環境での変更をステージングエリアに反映させるのみ。
ステージングエリアでコミットをするとローカルリポジトリで変更内容を確定できる。
コミットしてローカルリポジトリで変更内容を確定後、プッシュによりリモートリポジトリにアップロードできる。
ローカル環境では複数のファイルの追加や変更、削除などを行うが、その中で一部だけ変更内容を確定させたい時がある。そのためステージングエリアには指定した一部のファイルのみ移動させるといった用途で使用する。
ステージングエリアの内容をコミット
1 2 3 4 5 |
#コミットメッセージを指定してコミット git commit -m "コミットメッセージ" #コミットメッセージをvimを開いて編集する場合はこちら git commit |
コミットを行うとステージングエリアにあるファイルの変更内容が確定され、ローカルリポジトリ移動する。この次にプッシュを行うことでローカルリポジトリからリモートリポジトリに変更されたファイルがアップロードされる。
コミットメッセージを指定してコミットする方法と、コミットメッセージをvimを開いて記述する方法がある。
コミットメッセージの入力
1 2 3 4 5 6 7 8 |
#git commit実行後のvimが開いた状態で半角英数字に切り替えて、 #iを入力して送信すると書き込みモードになる。 #書き込みモードの間は画面下部がINITIALと表示されている i #エスケープの入力で入力モードを解除 esc # :wqを入力後、Enterで保存 :wq |
コミットメッセージの入力は、git commit実行後に自動で開くvimというエディタを操作してコミットメッセージを入力する。
vimエディタで半角英数字に切り替えてiを押すことで書き込みモードに変更する。この間、画面の下部にINSERTと表示されている。
コミットメッセージ入力後、エスケープボタンを押すことで入力モードを解除し、さらに :wq と入力してEnterでメッセージを保存してコミットすることができる。
iや:wqというのはvimコマンドになるので、詳しく知りたい場合は別でvimコマンドについて調べる必要がある。
Githubへローカルリポジトリの内容をプッシュ(1回目)
Githubにリポジトリを作成直後の状態で、初めてローカルリポジトリからプッシュを行う時の手順を記載する。
先に、Githubでリポジトリを用意する必要があるので、「Githubでリポジトリを作成」を要確認。
・Github上のリポジトリを開く
・Github上のリポジトリが作成直後でまだ何もしていない場合は以下を選択できる。
– Quick set
-…or create a new repository(新しくリポジトリを作成)
-…or push an existing repository(既存のリポジトリにプッシュ)
-… or import code from anothoer repostory(他のリポジトリからインポート)
ここでは、既にローカルリポジトリがある場合を例に、「…or push an extisting repository」の項目にあるコマンドを参考にプッシュする。
1 2 3 4 5 6 7 |
#~~~の部分はリポジトリによって異なる git remote add origin git@github.com:~~~/test_git.git #デフォルトのブランチ名を変える。 #git branchがブランチに関する操作を行うコマンド。-Mが名前変更のオプション。 mainは新しいブランチ名 git branch -M main #ローカルリポジトリの内容をプッシュ。 git push -u origin main |
・git push -u origin main
リモートリポジトリにローカルリポジトリのブランチをプッシュするためのコマンド。主に初回のプッシュ時に使用される。
-uはローカルとリモートブランチ間でトラッキングを設定。これによりプルやプッシュ時にブランチ名を指定しなくてよくなる。
originはリモートリポジトリの名前
リモートリポジトリへプッシュ(2回目以降)
1 |
git push origin [ブランチ名] |
originはリモートリポジトリにつけた名前
ブランチ名はローカルリポジトリのブランチの名前
ワーキングディレクトリからの削除
1 |
git rm "ファイル名" |
ワーキングディレクトリ、つまりGitで管理しているフォルダ内からファイルを削除する。
gitignoreへの追加
1 2 3 4 5 |
#指定したフォルダ内全てを管理対象外にする [フォルダパス]/* #上記で指定したフォルダ内で、指定したファイルだけは管理対象にする。 ![フォルダパス]/[ファイル名] |
リモートリポジトリ関連
リモートリポジトリのURLを確認
1 |
git remote -v |
リモートリポジトリのURLを変更
1 |
git remote set-url --add [リモートリポジトリの名前(originなど)] [リモートリポジトリのURL] |
コメント