gitコマンド基本備忘録 | COMMONS NOTE

gitコマンド基本備忘録

こんにちは八王子フリーランスマダラです
今回は基本的なgitコマンドを備忘録として記事にします!

私自身まだ覚えたてですので、是非一緒に勉強していきましょう!
基本的に企業での開発などはgitを用いたチーム開発が多いかと思います。

現在大学生のエンジニアさんがたは覚えておけば面接の際に一歩踏み込んだ質問などできるのではないでしょうか??

gitコマンドの基本

まずは初期設定です。ユーザネームとメールアドレスを設定するコマンド。

$ git config --global user.name "XXXX"
$ git config --global user.email "XXXX@hogehoge.com"

ローカルにgitを利用するリポジトリを製作して、リモートにプッシュします。

$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add origin https://github.com/XXXX/XXXXXX.git
$ git push -u origin master

リモートからのクローンを行うコマンドです。

$ git clone https://github.com/XXXX/XXXXXX.git

リモートからの変更を取得するコマンドです。gitを利用する際にこまめpullしておきましょう。

$ git pull
or
$ git fetch
$ git merge origin/master

コミット・addするコマンドです。gitの最も身近なコマンドですね!

$ git add <ファイル名>
$ git commit -m "コミットメッセージ"

ローカルの変更状況を確認するコマンドです。

$ git status

リモートとローカル間の差分を抽出するコマンドです。

$ git diff <ファイル名>

変更履歴を見るときに使うコマンドです。

$ git log

指定コミットの変更点を確認するコマンド

$ git show <コミットのハッシュ値>

ブランチをリモートにプッシュするコマンド

$ git push origin <ブランチ名>

addコマンドを取り消しするコマンド

$ git reset HEAD <ファイル名>

commitの取り消し

$ git reset --hard HEAD^

--hard:コミット取り消した上でワークディレクトリの内容も書き換えたい場合
--soft:ワークディレクトリの内容はそのままでコミットだけを取り消したい場合
HEAD^:直前のコミット
HEAD~{n} :n個前のコミット対してこちらはcommitの打ち消しになります。

$ git revert <コミットのハッシュ値>

コミットを行なった際のメッセージの修正ができるコマンドです。

$ git commit --amend "新しいコミットメッセージ"

pushコマンドの取り消し

$ git reset --hard <戻したいコミットのハッシュ値>
$ git push -f

ローカルでブランチを作成するコマンドです。チーム開発で利用されるので是非共押さえておきたいですね!

$ git branch <ブランチ名>

ローカルで作成したブランチに切り替えるコマンドです

$ git checkout <ブランチ名>

ブランチの作成と切り替えを同時に行うコマンドがあります

$ git branch -b <ブランチ名>
ブランチ名の変更ができるコマンド
$ git branch -m <古いブランチ名> <新しいブランチ名>

ブランチの削除を行うコマンドです

$ git branch -d <ブランチ名>

ローカルのブランチをリモートに反映させるコマンドです。

$ git push -u origin <ローカルのブランチ名>

リモートのブランチをローカル引っ張ってくるコマンドです

$ git branch <ブランチ名> origin/<ブランチ名>

作成と切り替えと同様に同時に行うコマンドです。

$ git checkout -b <ブランチ名> origin/<ブランチ名>

ブランチを確認するコマンドです。

$ git branch -a

比較の際にはブランチ名を並べます

$ git diff <ブランチ名> <ブランチ名>

ブランチをマージするコマンド

$ git merge <ブランチ名>

fast-forwardの関係であっても必ずマージコミットを作ります

$ git merge --no-ff <ブランチ名>

ブランチをリベースするコマンドです

$ git rebase <ブランチ名>

※ mergeの場合は分岐元、rebaseの場合は分岐先のブランチで実行するという点に注意してください。変更点を一旦退避させる

$ git stash save

退避した作業の一覧を見る

$ git stash list

退避した作業を戻す

$ git stash apply <stash名>

退避した作業を消す

$ git stash drop <stash名>

退避した作業をすべて消す

$ git stash clear
ファイル削除を行うコマンドです
$ git rm -f  <ファイル名>

ファイルのリネームを行います

$ git mv <元のファイル名> <変えたいファイル名>

ファイルを最新のコミットの状態に戻す

$ git checkout HEAD <ファイル名>

ファイルを指定コミットまで戻す

$ git checkout <コミットのハッシュ値> <ファイル名>

.gitignore を無視して追加する

$ git add -f <ファイル名>

ディレクトリだけ登録(.gitkeepをディレクトリに作成する)

$ touch <ディレクトリ名>/.gitkeep

最後は何やらエラーが出てpushできないとき強制的にpushするコマンドです。
基本的には推奨しません。ただし、使わなかったことがないと言ったら嘘になります笑
--forceで無理やりかつ強引にねじ込む印象、、、

git push <ファイル名> --force(git push <ファイル名> -fでも可)

まとめ

以上gitコマンド列挙する形になりましたが、ぜひど忘れした際に利用してください!
私も超基本コマンドのaddやcommitなど程度しか覚えていないので勉強していきたいと思います!