---
# System prepended metadata

title: Git Command Memo
tags: [git]

---


![](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.リモート表示
```giｔ
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 -ｖ　（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 [リモート名]
````