しもむブログ

技術メモ。といっても高度なことは書けないので…初心者がハマったところや、ググってもすぐには出てこないようなものを書くつもり。

Git「ブランチを切り替える」感覚がわからない

  • 職場のソースコード管理をSubversionからGit (Atlassian Stash)に移行中
  • SubversionとGitの違いはググればいっぱい出てくる(集中型か分散型かなど)
  • でも、周りの様子を見ていると、どうもブランチの感覚がわかりにくいらしい

    「ブランチを切り替える」ってどういうこと?

  • たぶんGitを理解しつつ、ここもちゃんと押さえておかないと
    • masterはmasterだからクローンしてー
    • ブランチをいじるからブランチはブランチでまた別にクローンしてー
    • でもブランチのはずなのにローカルではmasterになってるからー、プッシュするときはちゃんとブランチにするよう気をつけてー
    • 気づいたらブランチのフォルダ(ローカルリポジトリ)がいっぱいできてる…
    • これなら結局Subversionの方が使いやすいんじゃないの?
  • とかいうわけわからん状況に陥る可能性が…(想像力豊かすぎか)

    結局のところ、ただブランチ間を移動したいだけなんだけどね

SubversionとGitではブランチの見え方が違うのがわかりにくい原因(おそらく)

Subversionの見え方

  • trunkもブランチ(たとえいくつあろうとも)も全て実体のファイルとして見える
  • フォルダ移動みたいな感覚でブランチを行き来する

f:id:mshimomu:20141129163538p:plain

Gitの見え方

  • 現在のブランチしか見えない
  • コマンドなりクライアントなりでブランチを行き来する

f:id:mshimomu:20141129163537p:plain

「ブランチを切り替える」感覚をわかってもらうために

「ブランチを切るとフォルダが増える」という感覚を払拭する

  • 「こわくない Git」の#1 コミットとブランチがわかりやすい
    • 職場のチーム勉強会ではこのスライドをそのまま見せながら話した

「フォルダを移動する」という感覚を払拭する

  • これはやっぱりさわってもらうのが一番かと
  • 「15時間でわかるGit集中講座」がおすすめ(このエントリーをここまで読んで頂いているということは相手は初心者だと思われるので)
    • ブランチの切り替えは4時間目に登場(p.77〜81)
    • エクスプローラでローカルリポジトリ眺めながらブランチを切り替えて、ファイルが変わるのを見てもらうと納得しやすい

15時間でわかるGit集中講座

15時間でわかるGit集中講座