mainブランチ
メインブランチ。基本的には現在サーバーで運用されているデータ。このブランチに直接コミットはせずに下のdevelopブランチをマージするだけ。

developブランチ
開発用メインブランチ。細かい修正がコミットされる

featureブランチ
機能追加・改修などを行う作業ブランチ。完了後はdevelopブランチにマージされて、featureブランチは削除される

いきなり、未経験者が3つのブランチを使い分けるのは難しいので、まずはなんでもかんでもmasterブランチにコミットする、1本道のブランチモデルで作業を進め、慣れてきたら、開発開始時点でmasterブランチからdevelopブランチを作成し、作業内容は全て自身の作成したブランチにコミットし、最終的にmasterからマージしましょう。

  1. mainブランチのクローンを作成
  2. developブランチを作成しdevelopブランチに移動後プッシュ
  3. developブランチ上で作業を進める
  4. developブランチ上での作業終了後、masterブランチに移動し、developブランチをマージし、プッシュ
  5. マージした不要なブランチを削除

エラーが出た時の対処方法

実際にはケース・バイ・ケースで色々な方法がありますが、強制的にローカルデータをプッシュする方法が「git push -f」です。ただこれは言わば歴史を書き換えてしまうので、チームで共有しているブランチで行う時は注意が必要です。

参考サイト