Top / GitHub / 開発手順

まだまだ試行錯誤中ですが。。

キレイにGitをつかって開発しようとするとこんな感じ??

イメージとしては master は本番稼働として管理して、そこから派生する開発用のdevブランチがあって、そこからさらにチケットごとにブランチ(下記の例でdev_#50 とか)が作成され、チケットの対応が完了したらdevブランチにマージされていく、、、ってイメージ。

GitのCloneと、チケットごとのブランチの作成

$ git clone https://github.com/xxxxxx/helloworld.git
$ cd helloworld
$ git checkout -t  origin/dev     <-リモートからのBranchの作成と移動
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
$ git branch
* dev
  master
$ git checkout -b dev_#50    <- チケット番号のイメージ。devからのブランチの作成と移動
Switched to a new branch 'dev_#50'
$ git branch
  dev
* dev_#50
  master

devから派生したチケット番号#50用のブランチが作成できました。

細かなコミットとかを進めていく使い捨てブランチを作成(これは必須じゃあないかなぁ)

$ git checkout -b dev_#50_spike
$ git branch
  dev
  dev_#50
* dev_#50_spike
  master

開発はここで進めていきます。全体に反映されたくないようなコミットはココにやっていきます(とりあえずコミット!とかね)。。最終的に対応が完了したら、dev_#50にコミットをマージします。

$ git checkout dev_#50   ←移動して
$ git merge --squash dev_#50_spike 

dev_#50_spikeで作業していた内容が、まるっと dev_#50にマージされました。。 あとはこれらをコミットするときにちゃんとコメントを書いてコミットすればプッシュできるような履歴が残せますね!

そしてリモートのdev_#50へpushして、そこからdevに対してプルリクエストを行い、devへマージしてもらいます。

# さらにいえば、dev_#50にdevの直近の修正をマージして*1プルリクエストが望ましい。。

git branch dev_#50
git merge dev

こうやって、devでのコミットをdev_#50へ反映させます。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / GitHub / 開発手順

現在のアクセス:4090


*1 rebaseがいいらしいって話があるけどまだ未調査

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS