Git flowのコマンドの流れ - ntuf/Tips GitHub Wiki
■■git初期設定
■.DS_Store を対象から除外
$ vi ~/.gitignore_global
以下を追加
.DS_Store
$ git config —global core.excludesfile ~/.gitignore_global #設定を反映
■プロジェクト最初
プロジェクトディレクトリの作成
.gitignoreファイルの作成
$ touch .gitignore
$ git init
#githubのデフォルトブランチがmainになったので変更
$ git branch -m master main
最初のコミットをする
$ git commit -m “initial commit.”
- 先ほど作成したGitHubリポジトリのURLをコピー&ペーストして、リモートブランチとして設定
$ git remote add origin https://github.com/your-name/project-name.git
- ローカルのファイルをアップロード
$ git push -u origin main
・ mainからdevelopの作成
$ git branch #現在の位置がmainブランチか確認
$ git branch develop #develop作成
$ git checkout develop #developへの移動
$ git push origin develop #remoteに反映
■ feature ブランチの作成
$ git branch #現在の位置がdevelopブランチか確認
$ git branch feature/xxxxx #feature作成
$ git checkout feature/xxxxx #移動
■ ソースコード修正中に一時的に戻して動きを確認したくなったら
$ git stash -u #一時的にstashする
$ git stash apply stash@{0} #stashした内容を元に戻す
$ git switch -d コミット番号
#ソースコードの修正後
$ git add . # サブディレクトリも含めたファイルをインデックス領域へアップ
$ git commit -m “message” # ローカルリポジトリへコミット
$ git push origin feature/xxxxx # featureブランチの内容をoriginへアップロード
■ developへのマージ②
別のチームメンバーが新機能A(feature/A)を担当
自分が新機能B(feature/B)を実装した場合、
Aを先にdevelopにマージされた場合、3択がある。
1. そのまま気にせずdevelopにマージ(✖️)
コンフリクトがあった場合解消しないといけない。
ビルドが通らない場合が
2. 最新のdevelopをfeature/Bブランチに取り込んでからdevelopにマージ(△)
ブランチBにいる状態で
$ git fetch # developブランチの最新コミットをローカルに取得する
$ git merge origin/develop # 最新のdevelopの内容をfeature/Bブランチに取り込む
(ここで一回コンフリクトが起きていないか確認とビルドが通るか、動作確認で問題ないか)
$ git push # origin/feature/Bブランチに反映
→gitのログはあまり綺麗にならない
3.最新のdevelopにrebaseしてからマージする(○)
ブランチBにいる状態で
$ git fetch # developブランチの最新コミットをローカルに取得する
$ git rebase develop # feature/B作成時の分岐点をdevelopに移動(再定義)する
(ここで一回コンフリクトが起きていないか確認とビルドが通るか、動作確認で問題ないか)
$ git push -f origin feature/B # origin/feature/Bブランチに反映する
■ developへのマージ①
$ git checkout develop # featureブランチからdevelopへ移動
$ git merge feature/xxxxx # featureブランチをdevelopへマージ
$ git push origin develop #リモートへdevelopマージを反映させる
$ git branch -d feature/xxxxx # featureブランチ削除
■main へのマージ
$ git checkout main # mainブランチへ移動
$ git merge develop # developブランチをmainブランチに取り込む
$ git push origin main # featureブランチの内容をoriginへアップロード
ーーー
マージ不要で不要なブランチを消す(ローカル)
git branch -d feature/xxxxxxx
マージ不要で不要なブランチを消す(リモート)
git push —delete origin feature/xxxxxxx
ーーー
■間違ったブランチを消す
$ git log —oneline #過去の一覧
$ git reset —hard xxxxxxx #commitidを指定してそこまで戻る
$ git push -f origin develop # リモートへの反映
ーーー
■GitLabでプロジェクトを削除する
プロジェクトを選択し
Settings – Projectsで
削除したいプロジェクトのDeleteを押す
■特定のファイルの変更履歴を確認する
$ git log -p path/to/file.txt
$ git log —word-diff -p path/to/file.txt
—word-diffを指定すると変更を行内で表してくれる
■ネットワークの繋ぎ先を変える
git remote set-url origin https://xxx/xxx.git
ネットワークの繋ぎ先を確認する
git remote -v