記憶の外付けHDD

切実に頭にUSBのコネクターがほしいです。なるべくtype-cでお願いしたいです。(忘れないように、プログラミング学習で学んだことを投稿してます)

【随時更新】Gitのコマンド

はじめ

一週間前から、チーム開発をしており、チェリー本の読書記録を怠っておりました…
しかし、Gitを使いまくっているおかげで、Gitに関する知識が増えているので、それを記録したいと思います。
※ 随時、ちょっとずつ更新します!

Gitのコマンド

リモートリポジトリをクローン

(2020/01/26追記)
1. クローン作成するディレクトリに移動する
※ 今回は、projectディレクトリに移動

cd project
  1. クローンする
git clone <リモートリポジトリのURL>

ブランチの新規作成

(2019/11/04記載)

git branch <新ブランチ名>

ブランチの新規作成(checkoutも同時に)

(2019/11/04記載)

  • 「新ブランチの作成」と「ブランチの切り替え」を同時に行う場合
git checkout -b <新ブランチ名>

※ 調べてないのですが、新しいブランチをbirthするから、-bって覚えてます(笑)

ローカルブランチ名の変更

(2019/11/04記載)

名称を変更するブランチに切り替えた状態で

git branch -m <変更後のブランチ名>

※ どうやら、リモートブランチは名称変更できないため、削除する必要があるっぽいです

ローカルブランチの削除

(2020/01/04更新)

使用場面

  • 開発ブランチの内容をmasterブランチに反映したため、開発ブランチが不要になった

コード

git branch -d <削除するブランチ名>

プッシュ

(2019/11/06記載)

git push <リモートリポジトリ名> <ブランチ名>
  • リモートリポジトリに入力したブランチがない場合、新規作成される
  • リモートリポジトリ名はgit remoteで確認できる

プッシュ&追跡ブランチの設定

(2019/12/07記載) プッシュするときに-uを記載することで、追跡ブランチに設定することができます。
次回からのプッシュ時にgit pushだけで指定したリモートリポジトリのブランチにpushすることができます。
(つまり、煩わしい<リモートリポジトリ名> <ブランチ名>の記載が不要になる)

# プッシュ&追跡ブランチの設定
git push -u <リモートリポジトリ名> <ブランチ名>

# 次回から
git push

追跡ブランチがわからなくなったら(その1)

(2019/12/09記載)
「あれ?ガスの元栓しめたっけ?」的な感覚で、「ちゃんと追跡ブランチを設定したっけ?」と疑心暗鬼になることが多々あります。
そんなとき、以下のコマンドで追跡ブランチを設定したか否か確認できます!

git status -sb
  • -sb--short --branchの略
  • --shortオプションは、git statusの内容を短く表示する

追跡ブランチがわからなくなったら(その2)

(2019/12/09記載)
普通にgit statusを打つと表示される以下の表示で確認することもできます。

Your branch is up to date with 'origin/hogehoge'.

↑ このブランチはorigin/hogehogeを追跡しているって意味です。

差分確認シリーズ

git addしたあとの差分確認

(2019/11/04記載)

  • git commit前に確認したいときに使用する
git diff --cached

(chachedってどういう意味なんだろ…?)

git commitした後の変更点を見る

(2019/11/04記載)

git diff HEAD^..HEAD
  • HEAD^最新のコミットの1つ前
  • HEAD 最新のコミット
  • ..は、↑の両者を比較する
    の意味…?

コミット履歴の修正

(2020/01/13更新)

修正対象:前回のコミット

流れ

  1. 普通にコードを修正する
  2. 普通にgit addする
  3. git commit --amendする
    → エディターで前回のコミットメッセージ等が表示される
    (コミットメッセージの修正も可能)

修正対象:2回以上前のコミット

プルリクしたあとの、レビュー後にコードを修正することになった場合、コミット履歴をきれいにする方法を記載します。

大きな流れ

  1. git commit --fixup 統合先コミット番号で修正コミットと統合先コミットを結びつける
  2. git rebase -i --autosquash HEAD~数字で修正コミットと統合先コミットを結合する
  3. git push -fでgit hub上のコミット履歴を強制的に変更する

git stash

(2020/01/04更新)

使った場面

  • masterブランチを間違えて修正してしまった

    git stash

    一時的に修正内容を退避させたいとき

git stash save

saveは省略可能

stashにメッセージを追加したい場合

git stash save <message>

コミットメッセージの修正

(2020/01/11更新)

前回より前のコミットメッセージを修正

大きな流れ

  1. git logで修正するコミット番号を確認
  2. git rebase -i <コミット番号>~1
  3. エディターが開く
    → 修正するもののpickrewordに変更
    :wq(エディターを閉じる)
  4. コミットメッセージの修正

前回のコミットメッセージを修正

大きな流れ

git commit -- ammendを使う

分岐元のブランチを修正(git rebase)

(2020/01/11更新)

大きな流れ

  1. ローカルリポジトリのマスターブランチを最新の状態にする
  2. 開発ブランチにcheckoutする
  3. git rebase master
  4. コンフリクトを修正する

一時退避(git stash)

(2020/01/11更新)

退避しているものの確認

git stash list

退避しているものを戻す

例)git stash liststash@{0}と表示されているものを戻す

git stash apply stash@{0}