【Git】コマンドと使い方まとめ
gitの使い方をよく忘れるのでコマンドをメモしておきます。
※随時更新
関連記事:基本コマンドプロンプト一覧
ローカルリポジトリの作成
$ git init
各種設定ファイルの.git
ディレクトが作成される。
$ git init
Initialized empty Git repository in C:/Users/xxxxxxx/Desktop/git_practice/.git/
gitのユーザー名・メールアドレスの登録
$ git config --global user.name "username"
$ git config --global user.email "user@test.com"
基本情報はgit config
で編集し引数の--global
は全体設定。
特定のリポジトリだけ名前・メールアドレスを変更したい場合には--local
と指定。
設定した名前やメールを確認する場合には
$ git config --list
user.name=username
user.email=test@test.com
とする。
ファイルの変更について
ステージへの記録・取り消し
記録
$ git add <file name>
$ git add <dir name>
$ git add .
コミットする前段階としてステージに移動する。
$ git add index.html
warning: LF will be replaced by CRLF in index.html.
The file will have its original line endings in your working directory
取り消し
$ git reset HEAD <file name>
$ git reset HEAD <dir name>
全変更を取り消す場合には
$ git reset HEAD
とします。
リポジトリへの記録・取り消し
記録
$ git commit
$ git commit -m "<message>"
$ git commit -v
変更を記録し、メッセージを記入する。
短い文章の場合は-m
、細かく記入したい場合にはそれ以外とするとエディターから記入。
$ git commit -m "first commit"
[master (root-commit) bd4d8ec] first commit
Committer: self-methods <xxxxxxxx@xxxxxxxx.local>
1 file changed, 1 insertion(+)
create mode 100644 index.html
やり直し
$ git commit --amend
直前のコミットをやり直す場合には引数:--amend
とします。
変更状況の確認
$ git status
ファイルの変更状況を確認します。
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
もし変更内容がある場合には
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
nothing added to commit but untracked files present (use "git add" to track)
untracked files
があると表示される。
変更の差分を確認する
ワークツリーとステージの変更分
$ git diff
$ git diff <file name>
git add
する前の変更を確認するために使用する。
ステージとリポジトリの変更分
$ git diff --staged
引数:--staged
を指定する。
$ git diff --staged
diff --git a/index2.html b/index2.html
new file mode 100644
index 0000000..e69de29
最新コミットとワークツリーの変更分
$ git diff HEAD
変更履歴を確認する
$ git log
git commit
での変更履歴を確認できます。
$ git log
commit 0412cafcd7d2599198f187a37162a75371013c15 (HEAD -> master)
Author: self-methods <xxxxxxxx@xxxxxxxx.local>
Date: Sat Jan 16 19:59:26 2021 +0900
second commit
commit bd4d8ecb6355b181fa5dec4fbf25d143086d9c29
Author: self-methods <xxxxxxxx@xxxxxxxx.local>
Date: Sat Jan 16 19:40:39 2021 +0900
first commit
1行で表示
$ git log --oneline
コミットを1行ずつ表示されるのでコンパクトになります。
$ git log --oneline
0412caf (HEAD -> master) second commit
bd4d8ec first commit
作業履歴の取り消し
リポジトリにあるファイルの状態に戻すということ。
ワーキングディレクトリを前の状態に戻す
$ git checkout <file_name>
全体を前の状態に戻す場合には
$ git checkout .
ステージングにあるファイルを前の状態に戻す
& git reset <file_name>
ファイルの削除・移動
ファイル自体が不要になった場合
$ git rm <file name>
$ git rm <dir name>
ファイルが不要になった場合にはgit rm <file name>
とします。
リポジトリからファイルを削除したい場合
$ git rm --chached <file name>
一方でローカル上には残しておきたいが、リポジトリには削除したいファイルができた場合にはは引数:--cached <file name>
とします。
ファイルの移動を記録
$ git mv <old file name> <new file name>
ファイルの移動を記録する場合に用います。
リモートリポジトリについて
リポジトリのコピーの作成
$ git clone <repository name>
githubなどのリモートリポジトリのコピーを持ってくる。
リモートリポジトリを新規登録する
$ git remote add origin <repository url>
origin
で登録してurlのリモートリポジトリを登録します。
リモートリポジトリへ送信
$ git push <remote name> <branch name>
$ git push origin master
ローカルリポジトリをリモートリポジトリに送ることをプッシュといいます。
プッシュすることにより、リモートリポジトリに変更を反映させます。
リモートリポジトリから変更内容を取り込む
$ git pull origin master
git pull
はgit fetch
とgit merge
の処理を一気に行っている。
master
→他のブランチに誤って上書きしてしまうおそれがあるため、git fetch
→git merge
で分けて行った方が安全。
$ git fetch origin master
$ git merge origin/master
ブランチについて
ブランチを作って、機能の追加やバグ修正毎に分けることにより作業内容を簡単に分けることが出来る。
作業手順としては
- masterブランチから作業用ブランチを作成
- コードの修正→push
- masterにmerge(プルリクエスト)
となります。
ブランチの確認
$ git branch
現在のブランチの状況を確認する。
ブランチの作成
$ git branch <branch_name>
どんな修正・機能追加なのか分かりやすい名称にする。
ブランチへの切り替え
$ git checkout <branch_name>
ブランチを作成し、作成したブランチに移動する場合には
$ git checkout -b <branch_name>
引数に-b
を指定する。
ブランチの削除
$ git branch -d <branch_name>
ブランチを削除する場合には、引数に-d
を指定する。
ブランチからmasterにmergeする
$ git merge <branch_name>
統合するブランチから、統合したいブランチ名を指定します。
コメント