Git勉強会#3@万葉

  • 今日は n-iwamatu さんが講師でコンフリクト大会!

##あなたとコンフリクトしたい チーム分けしてコンフリクト合戦 ###チーム分け

  • Red
  • Blue
  • Green
    • green0 ですた.
  • Pink

###コンフリクト合戦開始

  • コンフリクトしまくり.そしてバージョン管理できていない
    • 各々が別個に conflict をマージしまくってるのが原因
  • どうすれば?
    • 管理者を立てる
    • 中央にリポジトリを立てる
    • こちらでやっていく.
  • 誰かが中央リポジトリを変更していたため,全員 push 失敗!
    • push -f で強制的にできるが,やってはいけない!
  • 途中のコミットを変更できるが,それを中央リポジトリでやると,pull できない状況になってしまう.

  • rebase と pull と merge の違い

    • 自分のコミットがあって,
    • origin/master に新たなコミットがある場合は,
      • git rebase は,リモートリポジトリ等を基準に,自分のコミットを再構成(re-base)する.
      • git merge は,自分のコミットに,リモートリポジトリのコミットを上乗せする感じ.
      • git pull は原則 merge ベース.ゆとり.–rebase オプションで,rebase する pull になる.
      • pull 禁止!相手の修正のことを考えて,rebase することを心がける
      • 順番が違う.どちらを基準とするかによって,使い分ける.
    • 自分のコミットがないときは,
    • pull で持ってくれば,新しいコミットを,単に持ってくるだけでいいはず.
    • 間違えて pull した場合でも,git rebase すると,rebase した状態にしてくれる.
    • rebase 最強.
    • 中央リポジトリに近いほどマージがOKになる.
    • 取り込む方が merge する感じ.
    • 親がメインになので,親を基本と考えて rebase する.
  • 相手を考えて行動することが重要というか,ちゃんと管理ポリシーを立ててやりましょうねと言うこと.

  • git clean

    • git clean -f -d .hoge -> ディレクトリを消す
    • git clean -f -d .hoge/ -> ディレクトリの中を消す

##懇親会

  • とりあえず Poken でハイフォー!
  • いつもの中華屋.値段安くていい感じです.
  • カエルがかわいいらしい.かわいいの基準についてはノーコメント.
  • t-wada さんは,ヘビとかカエルを見るとテンションあがって1時間ぐらい何かに費やすらしい.
 
comments powered by Disqus