📓
Git勉強メモ-コンフリクトに立ち向かう力(スキル)がほしい
gitの勉強
gitを理解したいので勉強中
gitコマンド
- リモートリポジトリのアクセス先を確認したい
- git remote -v
- リモートリポジトリの情報を取得したい
- git fetch
- ブランチを確認したい
- git branch -a
- ブランチを作りたい
- git checkout -b {{作成するブランチ名}}
- ブランチをリモートに登録したい
- git push -u origin {{作成したブランチ}}
- 作ったブランチをリモートにプッシュしたい
- git push --set-upstream origin {{作成したブランチ}}
- ブランチを切り替えたい
- git checkout {{切替えたいブランチ名}}
- 差分を表示したい
- ブランチの差分確認
- git diff {{ブランチA}} {{ブランチB}}
- リモートブランチとの差分確認
- git diff HEAD..{{リモート名/ブランチ名}}
- コミット前後の変更点の確認
- git diff HEAD^
- ブランチの差分確認
- ローカルにリモートの全ブランチの情報を取り込みたい
- git pull
- ローカルにリモートのmasterブランチの情報を取り込みたい
- git pull origin master
- ローカルのブランチをリモートのブランチの状態にするときの設定をしたい
- git config pull.rebase false
- git config pull.rebase true
- git config pull.ff only
- コミット履歴を確認したい
- git log
- これまでの操作を確認したい
- git reflog
- ローカルのブランチが見つからないけど、とにかくリモートリポジトリにpushしたい
- git push origin HEAD:{{pushしたいリモートリポジトリ名}}
- タグをつけたい
- git tag {{タグ名}} -m "{{note}}" ※注釈付き
- git tag {{タグ名}} -m "{{note}}" {{コミットID}}
- git tag {{タグ名}} {{ブランチ名}}
- タグをリモートリポジトリに反映したい
- git push --tags
- タグ一覧を表示したい
- git tag
- タグの情報を表示したい
- git show {{タグ名}}
- タグを削除したい
- gi tag -d {{タグ名}}
- 特定のコミットだけとりこみたい
- git cherry-pick [commitID]
- ローカルブランチを削除したい
- git branch -d {{削除するブランチ名}}
- git branch -D {{削除するブランチ名}} ※マージしてなくても消せる
- ※消すブランチ以外のブランチにいること git checkout {{消さないブランチ名}}
- 指定タグの状態のブランチを新規に作りチェックアウトする
- git checkout -b {{新規のブランチ名}} {{タグ名}}
一般的なブランチの定義
どうやらブランチにはこのような定義があるらしい。
- mainブランチ/masterブランチ
- プロダクトリリース用のブランチ
- masterが差別的な表現だからとmainと呼称する動きがあるらしい
- developブランチ
- 開発用ブランチ
- featureブランチ
- 機能の追加用
- developブランチから分岐。developにマージ
- hotfixes
- リリース後の緊急対応用
一連の流れ
- リモートリポジトリのブランチ(origin/dev01)との差分をマージする
git fetch
git diff dev01..origin/dev01 ※差分確認
git pull
※コンフリクトを解消する
git add .
git commit -m "{{comment}}"
git push
- コンフリクトしてrebaseが完了できない
git fetch
git checkout {作業ブランチ}}
git rebase {{ベースブランチ}} ※(コンフリクトを解消)
git add {{パラメータ}}
git rebase --continue ※リベースを続行
git commit {{パラメータ}}
Discussion