はじめに
これから就職するにあたって、いままで個人開発だけで済んでいたところ
チーム開発をする必要が出てきたので、使いたいコマンドをまとめてみた。使えるコマンド一覧という形で簡単にまとめたので、詳しく知りたい場合は調べていただくとより理解が深まると思います。
解説
-
git status
どのファイルが変更されたかを確認するコマンド -
実際どんな変更を加えたか差分を見るコマンド
addする前の変更分
git diff
git diff <ファイル名>
addする後の変更分
git diff --staged
-
変更履歴を確認する
git log
git log --oneline
一行で簡潔に表示する←これが便利そう
git log -p index.html
ファイルの変更差分を表示する
git log -n <コミット数>
-
ファイルの削除を記録する
git rm <ファイル名>
git rm -rf <ファイル名>
上記のコマンドがうまくいかんかった時
git rm -r <ディレクトリ名>
git rm --cached <ファイル名>
ファイルを残したいけどgitの記録からは消したい場合
git reset HEAD
rmを取り消す場合 -
ファイル名の変更を記録する
git mv <旧ファイル> <新ファイル>
git add とかcommitとかpushは割愛
とにかく当面はこれらのコマンドを頻繁に使って、慣れていこうと思います
- バージョン管理したくないファイルを無視する
バージョン管理したくないファイルとは
➀passwordなどの、秘密情報が記載されて流出してはいけないファイル
例:AWSのpasswordなど
➁チーム開発において不要なファイル
例:キャッシュやWin, Macなどで自動生成されるファイル
- .gitignoreファイルの描き方
<ファイル名>
指定したファイルを除外
dir/
ディレクトリ以下を除外
-
ファイルへの変更を取り消す
git checkout -- <ファイル名>
git checkout -- <フォルダ名>
git chechout --.
全変更を取り消す -
ステージした変更を取り消す
git add
したけど間違えたときに使う取り消しコマンド
git reset HEAD <ファイル名>
git reset HEAD <ディレクトリ名>
git reset HEAD .
全変更を取り消す -
直前のコミットを取り消す
git commit --amend
※pushする前のみ使える
git commit --amend
-
リモートの情報を確認する
git remote
git remote -v
対応するURLを表示 -
リモートリポジトリを複数持つこともできるよ
使い方→チーム開発と個別にいじりたいとき用で使い分けたい時 -
リモートから情報を取得する場合
git fetch <リモート名>
git fetch origin
-
リモートから情報を取得する場合(pullの場合)
マージするまでを一発でする方法
git pull <リモート名><ブランチ名>
git pull origin master
git pull
省略コマンド -
fetchとpullの使い分け
pull = fetch + merge -
merge
git merge <branch name>
git merge <remote name/branch name>
git merge origin/master
masterにfeatureをmergeする場合
git pull origin master
git checkout feature
git git add featureでの変更分
git commit
git checkout master
git merge feature
- コンフリクトどうしよう問題
15.1 コンフリクト解決方法
同じ行を複数人が変更した場合など、どちらのブランチを優先すべきかとなりコンフリクトが起こる
※github上のコンフリクトしているメッセージのリンクに飛ぶと、解決方法が出てくる
developブランチでgit pull
git checkout コンフリクトしているブランチ
git merge develop
git statusで確認すると、コンフリクトしているファイルが確認できる
vscodeでコンフリクト箇所修正
ファイルをgit add⇨commit⇨push
解決!
コンフリクトの予防法
- 複数で同じファイルを変更しない
- pullやmergeする前に変更の状態をなくしておく(commitやstashをしておく)
- pullするときは、pullするブランチに移動してからpullする
16. ブランチを変更・削除
git branch -m 新しいブランチ名
ブランチ名の変更
git branch -d ブランチ名
ブランチの削除
git branch -D ブランチ名
強制的に削除
- プルリクの流れ
プルリク⇨コードレビュー⇨マージ⇨ブランチを削除 - タグをつける
リリースポイントなどにつけるとおすすめ - 作業を一時非難させる
git stash
git stash save
上と同じコマンド - git stashしたものを確認
git stash list
- stashした作業を復元
git stash apply
git stash apply スタッシュ名
特定の作業を復元する - stashした作業を削除する
git stash drop
git stash drop スタッシュ名
git stash clear
全削除
追記
-
githubのソースコードコピペはRawからCtrl+Aの方が早いぞ!!
(筆者は今までこれを知らず、長いコードも必死にドラッグしてコピペしてた) -
コマンドにエイリアスを付けると、コマンド入力が短く楽になるぞ!!(いちいちcheckoutとかstatusとか打つのめんどい)
git config --global alias.br branch
これで以降、git br
でgit branch
と同じコマンドとして使える
この要領でckeckout→co, stasus→st, commit→ciという感じで設定していこう(備忘録→自分ではcommitはcmで設定している)