git add したくないファイルがあるときの対応
- 基本的にはアプリの中の
.gitignore
に記述する。 - ローカルにある
.gitconfig
の _global けして.gitignore
設定ファイルを有効化させる。
git rm --cached ファイル名
既にコミット済みのやつは .gitignore
で反映されないのでキャッシュを消す必要がある。
git update-index --assume-unchanged ファイル名
で modified になっているファイルをなくせる。.gitignore
ファイルは基本的に push したくないんだ
git add 戻る
git reset HEAD ファイル名
git log
git log --oneline
1行で簡単に表示する。
git log --stat
変更したファイルまで確認できる。
git log -U1 --word-diff
より詳細に見る。
コミットを操作
git reset --hard ID(git logで確認)
コミット取り消した上でワークディレクトリの内容も書き換える。
git reset --soft ID
ワークディレクトリの内容はそのままでコミットだけを取り消す。
リモートにpushしてしまったものを消す
git push -f origin HEAD^:master
pushの流れ
git add ファイル名
git commit -m "どこどこ変更したお(´-ω-`)"
git fetch origin
git merge origin ブランチ名
git push origin ブランチ名
git status ➡その都度状況を確認
commitをまとめる
例:直近3回分のコミットをまとめる
git rebase -i HEAD~3
pushの前にこまめにcommitしてたものをまとめるべき
直前のcommitの名前を変更する
git commit --amend -m "新しいコミット名"
以前のcommitの名前を変更する
git log --oneline
git rebase -i ID
pickをrewordに変更して、コミット名を変える
ファイルの変更履歴みる
git diff
特定のファイルの変更履歴みる
git log --follow -p filename
git log -p filename
消したファイルふっっかあああああつ
git checkout HEAD -- 消したファイル名
ブランチ確認、移動
git branch ➡確認
git checkout ぶらん地名 ➡ぶらん地名に移動
過去のコミットの変更履歴をみる
git show commitID
とにかく戻したい
git reflog
git reset --hard HEAD@{1}
リモートにpushしてしまったものを.gitignoreで管理したい
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
gitより安全に操作
ブランチ削除
全ブランチ確認
$ git branch -a
* master
ios7
remotes/origin/HEAD -> origin/master
remotes/origin/ios7
remotes/origin/master
ローカルブランチ削除
$ git branch -d ios7
Deleted branch ios7 (was 57c1b0b).
リモートブランチ削除
$ git push origin :ios7
To https://xxx.git
- [deleted] ios7
ブランチ作成
git checkout -b new_branch
リモートにあるブランチをローカルにもってくる
git checkout <branch>
リモートpush(そのブランチで初)
git push -u origin new_branch
過去のコミットの変更履歴をみる
git log -p
git log -p コミットID
git log -p -2 ... 直近2つ