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.”

  1. 先ほど作成したGitHubリポジトリのURLをコピー&ペーストして、リモートブランチとして設定
    $ git remote add origin https://github.com/your-name/project-name.git
  1. ローカルのファイルをアップロード
    $ 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を指定すると変更を行内で表してくれる

⚠️ **GitHub.com Fallback** ⚠️