![](https://i.imgur.com/xTg3XL6.png) ###### tags: `git` # Git Command Memo ### pull ````git ~ $ git pull <リモート名> <ブランチ名> ~ $ git pull origin master # 上記コマンドは省略可能 ~ $ git pull # これは下記コマンドと同じこと ~ git fetch origin master git merge origin/master ```` ### branch ````git ~ $ git checkout <既存ブランチ名> ~ $ git checkout feature # ブランチを新規作成して切り替える ~ $ git checkout -b <新ブランチ名> ~ $ git branch -d <ブランチ名> ~ $ git branch -d feature ```` ### merge ````git git merge origin/master ```` | Column 1 | Column 2 | Column 3 | | -------- | -------- | -------- | | Text | Text | Text | | Text | Text | Text | | Text | Text | Text | ### 1.変更履歴 ```git git log git log --oneline ``` ### 2.ファイルの削除 ```git git rm xxxxx git rm -r ディレクトリ git rm --cached ファイル名 → ファイルを残したい場合 ``` ### 3.ファイルのステータス ```git git status ``` ### 4.ファイルの移動 ```git git mv <旧ファイル><新ファイル> rm git rm xxxx git add xxxx ``` ### 5.ショートカット ```git git config --global alias.st status git config --global alias.br branch git config --global alias.co checkout git config ``` ### 6.ignore ```git .gitignore ``` ### 7.取り消し(ワークツリーをステージを最新) ```git ステージの状態をワークツリーに反映する。 git checkout --ファイル名 git checkout --ディレクトリ名 ``` ### 8.ステージ変更した取り消し ```git リポジトリ状態とワークフローを同期 git reset HEAD <ファイル名> git reset HEAD <ディレクトリ名> git reset HEAD . すべて ``` ### 9.commitのやり直し ```git リモートリポジトリへpushしたコミットは駄目。 git commit --amend ``` pushのやり直しは? ### 10.log ```git git log -p -n 1 git log --online --decorate ``` ### 11.リモート表示 ```git git remote -v ``` ### 12.リモート複数登録 ```git git remote add リモート リモートURL ``` - github にリポジトリ追加 - git remote add XXX <url> git remote add <リモート名> <リモートURL> git remote add tutorial https://github.com/user/repo.git - git remote ```git git remote -v (URL付き) git push -u bak master # ブランチを新規作成して切り替える git checkout -b <新ブランチ名> ``` ### 13.リモートから取得 ```git git fetch <リモート名> git merge (ワークツリーに) git pull <リモート名><ブランチ名> ``` ### 14.リモート名変更 ```git git remote rename <旧><新> ``` ### 15.ブランチ ```git git log --online --decorate git branch git checkout <既存ブランチ> ブランチを新規作成して切り替える git checkout -b ``` ### 16.マージ ```git git merge <ブランチ名> ``` - 1種類 Fast Foward  - 2種類 AutoMerge - 3種類 confrict ### 17.リベース ```git git rebase <ブランチ名> ``` - プッシュしていないローカルの変更にはリベースを使い、 - プッシュした後はマージを使う。 - コンフリクトしそうな場合はマージを使う。 ### 18.pullのマージ型、リベース型 - マージ型 git pull origin mastger ↓ git fetch git marge - リベース型 git pull --rebase 設定方法 git config branch.master.rebase true ### 19.タグ ````git git tag -a [tag名] -m [メッセージ] tagデータを見る git show [タグ名] リモートリポジトにPUSH git push origin --tags ```` ### 20.避難 ````git git stash git stash -list 復元 git stash apply ステージも復元 git stash apply --index 特定の作業を復元 git stash apply [スタッシュ名] 削除 git stash drop [スタッシュ名] 全作業を削除 git stash clear ```` ### 21.リモートリポジトリ系 ````git $ git remote add orign https://github.com/user/repo.git git remote show [リモート名] ````