【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 loggit 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 mastergit 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>統合するブランチから、統合したいブランチ名を指定します。

コメント