PJでGitを使用することになったため、備忘録として記載します。
init
Gitの作業リポジトリ作成
$ git init
【補足】
GitHubとの紐づけを実施
$ git config --global user.name "username"
$ git config --global user.email {mail@example.com}
clone
既存のリモートリポジトリをクローンしてくる
$ git clone https://github.com/user/XXX.git
remote add
今後リモートリポジトリへの操作時、<リモート名>を打つことでURLを入力不要にするための設定
$ git remote add <リモート名> <リモートURL>
fetch
リモートリポジトリ→ローカルリポジトリに取得
$ git fetch <リモート名> <ブランチ名>
merge
指定ブランチから今いるブランチにマージする
※コメントを求められた場合、「Ctrl+shift+X」で抜けられる
$ git merge <ブランチ名>
pull
フェッチ+マージ
今いるブランチにマージされる
$ git pull <リモート名> <ブランチ名>
brunch
今いるブランチを確認
$ git branch
status
状況確認
$ git status
add
ステージに追加
$ git add <ファイル名>
# すべて追加
$ git add .
commit
ステージのファイルをローカルリポジトリにコミット
$ git commit -m "comment"
push
プッシュ(ローカルリポジトリ→リモートリポジトリへのコミット)
git push origin master
diff
差分比較
git add前の差分
$ git diff <ファイル名>
git add後の差分
$ git diff --staged <ファイル名>
log
コミット履歴を表示
一行で変更履歴を表示
$ git log --oneline
<ファイル名>の変更履歴表示
$ git log -p <ファイル名>
N件の変更履歴を表示
$ git log -n N
rm
削除
ステージ、ワークツリーのファイル削除
$ git rm <ファイル名>
ステージ、ワークツリーのフォルダ削除
$ git rm -r <フォルダ名>
ステージのファイル削除(ワークツリーには残る)
$ git rm --cached <ファイル名>
mv
ファイルの移動、ファイル名変更
$ git mv <旧ファイル><新ファイル>
checkout
ワークツリーの変更を取り消す
git checkout .
ブランチを切り替える
git checkout <ブランチ名>
reset
ステージ上の変更を取り消す
※ワークツリーの中身は変わらない
git reset HEAD <ファイル/フォルダ名>
git reset HEAD .
直前のコミットを取り消す
※ローカルリポジトリのみでの使用推奨
$ git reset --soft HEAD^
stash
作業内容の退避
$ git stash save
$ git stash save "コメント"
stashした作業内容一覧
$ git stash list
stashした作業内容反映
※nには反映したいstashの番号を入れる。一覧で確認可能
$ git stash pop stash@{n}
stashした作業内容削除
$ git stash drop stash@{n}