SSH鍵作成

$ ssh-keygen -t rsa -b 4096
※ユーザー指定:-C ユーザー名(デフォルト:PCのログインユーザ名) -f ~/.ssh/ファイル名(デフォルト:id_rsa)
Enter file in which to save the key (/User/xxx/.ssh/id_rsa): (空のままEnter)
Enter passphrase (empty for no passphrase): (空のままEnter)
Enter same passphrase again: (空のままEnter)

公開鍵
$ cat ~/.ssh/id_rsa.pub 

ユーザー

確認
$ git config --global -l

変更
$ git config --global user.name "ユーザー名"
$ git config --global user.email メールアドレス

git pushの「--set-upstream origin ブランチ名」を不要にする
$ git config --global push.default current

クローン

$ git clone git@サーバー名:リポジトリ名

オリジン

確認
$ git remote -v

追加
$ git remote add 対象(origin等) git@サーバー名:リポジトリ名

削除
$ git remote remove 対象(origin等)

ブランチ

ローカルブランチ確認
$ git branch
リモートブランチ確認
$ git branch -r
ローカル&リモートブランチ確認
$ git branch -a

ローカルブランチ作成&切り替え
$ git checkout -b ブランチ名
指定コミットからブランチ作成
$ git checkout コミットID -b 新ブランチ名

既存ブランチに新規切り替え
$ git checkout -b ブランチ名 origin/ブランチ名
取り込み済みブランチに切り替え
$ git checkout ブランチ名

ローカルブランチ名変更
$ git branch -m 現ブランチ名 新ブランチ名

ローカルブランチ削除
$ git branch -D ブランチ名 
リモートブランチ削除
$ git push origin --delete ブランチ名

取得・確認

プル(リモートブランチをローカルリポジトリにマージ)
$ git pull

コミットログ閲覧
$ git log ファイル名(省略ですべて)

直近のコミット内容閲覧
※zshの場合
% git diff "HEAD^"
※bashの場合
$ git diff HEAD^

どのコミットか調べる
$ git blame -L 開始行番号,終了行番号 ファイル名

取り消し

ローカルでの変更を取り消す
$ git checkout ファイル名
変更した全てのファイル
$ git checkout .
新規も含む全てのファイル
$ git clean -df .

直前のcommitを取り消す
※zshの場合
% git reset --soft "HEAD^"
※bashの場合
$ git reset --soft HEAD^

反映

変更ファイル表示
$ git status
コミット対象ファイル追加
$ git add ファイル名

新規コミット
$ git commit -m "コミットメッセージ"
修正を前のコミットに含める ※レビュー後はやらない方が良い。プッシュ後の再プッシュは「git push -f」
$ git commit --amend

作成したブランチをプッシュ(ローカルをリモートに送信)
$ git push origin ブランチ名
$ git push --set-upstream origin ブランチ名

マージ

delevopをmasterにマージする例

$ git checkout develop
($ git checkout -b develop origin/develop)
$ git pull

$ git checkout master
($ git checkout -b master origin/master)
$ git pull

$ git merge --no-ff develop
$ git push origin master

$ git checkout develop

マージ(fetch)

forkしたリポジトリをfetchでマージする例
※同じリポジトリでも可能。ブランチを切り替える必要がなくなるので楽!

初回のみ
$ git remote add upstream git@サーバー名:リポジトリ名

念の為、ローカルを最新化
$ git pull

$ git fetch upstream
$ git merge upstream/develop
($ git merge upstream/space_develop)

$ git push