Git未経験者が運用ルールを作成した話(前編)

こんにちは。
はせのりこと長谷川(二号)です。✨✨


今回は題名の通り、「Git未経験者が運用ルールを作成した話」をしたいと思います。👦☕





これまで、バージョン管理システムと言えば、
Visual SourceSafe(VSS)Subversion(SVN)しか使った事が無かった。


そんなはせがわにGitの運用ルール作成の依頼が来たそうだ。


何でも現場では、SVNからGitへの移行を考えているという。
一部ではGitを使用している人たちがいるため、
簡単な資料はあったがSVNユーザー向けとなるとこれだけでは難しいのだろう。


そもそもGitを使ったことが無いことを考慮してもらい、
まずはTortoiseGitGitLabを使ってみて、操作を学んでくださいという話になった。




そこで一先ずはSVNGitの違いを整理してみた。




◆リポジトリが2つある


Git分散型バージョン管理システムと呼ばれ、
リモートリポジトリローカルリポジトリが存在する。

このためファイルを修正したらまずはローカルリポジトリに反映、
次にリモートリポジトリに反映という流れになる。

一見、手間がかかるだけのように思えるが、リモートリポジトリのサーバーに
アクセスできない環境でもローカルリポジトリへの反映はしておけるというメリットがある。




◆コミットだけじゃダメ


SVNならコミットすれば、リポジトリに反映される。
しかし、Gitの場合はリポジトリが2つある。
「2回コミットすればいいじゃん!」と思うかもしれないが、それだと半分正解。

コミットはローカルリポジトリへの反映を指していて、
リモートリポジトリへの反映はプッシュと呼ばれる。

リポジトリが2つある分、操作も増えるのだ。




◆チェックアウトしても得る物は無し


リポジトリからローカルに作業コピーを作るにはチェックアウト。
SVNならそれで済む。

この時点で、勘の良いあなたならGitはそうじゃないんでしょ。」と気付いているだろう。 
Gitでのチェックアウトはブランチを切り替えるだけだ。

ブランチの詳細は後で語るとして、同じ言葉でも内容はまるで違うとは困ったものだ。




◆ブランチを制する者はGitを制す


ブランチを知らずにGitを使いこなすのはまず不可能だ。

登場するブランチは次の3つである。
masterブランチdevelopブランチ開発ブランチ

作業をしたいブランチに切り替えるのが前述のチェックアウトである。
さらにこれらはリモートリポジトリローカルリポジトリのそれぞれに存在していたりもする。

これらのブランチの役割を把握せずにGitに手を出すのはお勧めできない。





結論:

これらの相違点の説明やそれを踏まえた運用ルール作成までの道のりはまだまだ長そうだ。





読んでくれてありがとうございました。👮🌟

はせのり