branch

$ git branch
//branchを調べる

$ git checkout [元にするbranch]
$ git checkout -b [作成するブランチ名]
//branchを作る ※『[]』をブランチ名に置き換え

$ git branch -d [branch名]
// ローカルで、merge済みBranchを削除可能
// mergeしてないBrnachを削除しようとした場合、gitに怒られる。
// ※今いるBrnachは削除できない。

$ git branch -D [branch名]
// 強制的にBranchを削除
// ※今いるBrnachは削除できない。

fetch

$ git fetch
//リモートリポジトリから情報を取得して、ローカルリポジトリを最新にする
//https://qiita.com/osamu1203/items/cb94ef9da02e1ec3e921 参考

checkout

$ git checkout [移動したいbranch名]
//移動したいbranch名を記述する ※『[]』をブランチ名に置き換え

$ git branch
//『$ git checkout [移動したいbranch名]』したら、正しいbranchに移動出来ているか以下コマンドを入力して調べる
// 『$ git status』でbranch確認も可能

commit

$ git status
//commitするためには、『add』する必要がある。問題のaddするファイルは『$ git status』でパスを確認する

$ git add [ファイルのパス]
//commitするためには、『add』(保存)する必要がある。

$ git commit -m "ここにコミットの文言を記述する"
//上記コマンドでcommitできる。

push

$ git push
//今いるbranchをpushする

$ git push <RemoteRepositoryName> <LocalRepositoryName>

// 例 MAMPローカル開発の場合だと、以下となる(masterブランチの場合)
$ git push MAMP_htdocs_folder master

rebase

$ pwd
//今どこ?にいるか、確認

◎rebaseする前は、fetch(全体を取るから1回で良い)して→pullで最新状態で作業する(相手側もブランチ側も)

& git rebase [ベースにしたいブランチ名]
// rebaseする対象を選択

◎ 問題なければ今までのcommitが出てきてここでrebaseが終わる場合もある

◎ コンフリクトが起きた場合↓↓↓

$ git status
// コンフリクトがどんな状態か『$ git status』で確認する

$ git diff
// ファイルの差分確認  git diffは「q」で抜ける

◎ ここでコンフリクトしたものを編集して直す

$ git add [ファイルパス]

$ git rebase --continue
// 『add』したらリベースを続ける

◎ コンフリクトが起きた場合↑↑↑

$ git push --force
// リベース時はフォースをつけるのは必須

$ git push --force-with-lease
// 『$ git push --force』の、古かったら上書きしないよっていうオプション
// 基本はこっちを使う

stash

$ git stash
// branchを切り替えるときなどの一時保存

# stash実行した(自分のブランチ)にソースコードを切り替える
$ git checkout 自分のブランチ名
# git stashしたリスト表示
$ git stash list
$ git stash apply stash@{番号を入力}
# 確認
$ git status

remote & push

$ git remote add [『.git』の直上ディレクトリ名] [githubのurl]
// リモートリポジトリURLを、ローカルに登録する
// 例 $ git remote add MAMP_htdocs_folder https://github.com/hoge/hoge.git

$ git push MAMP_htdocs_folder master
// phshするにはremotoで紐付けする必要がある

merge

// ローカル環境でtest_branchをmasterにmergeしたい場合で記載

$ git commit -m 'コミット内容'
// mergeするためにはtest_branchでcommitしておく必要がある

$ git checkout master
// mergeしたいbranchに移動する(今回はmaster Branchにmergeする)

$ git merge test_branch