こんにちは。はせのりこと長谷川(二号)です。✨✨
今回は題名の通り、「Git未経験者が運用ルールを作成した話」をしたいと思います。👦☕
これまで、バージョン管理システムと言えば、Visual SourceSafe(VSS)とSubversion(SVN)しか使った事が無かった。
そんなはせがわにGitの運用ルール作成の依頼が来たそうだ。
何でも現場では、SVNからGitへの移行を考えているという。一部ではGitを使用している人たちがいるため、簡単な資料はあったがSVNユーザー向けとなるとこれだけでは難しいのだろう。
そもそもGitを使ったことが無いことを考慮してもらい、まずはTortoiseGitとGitLabを使ってみて、操作を学んでくださいという話になった。
そこで一先ずはSVNとGitの違いを整理してみた。
◆リポジトリが2つある
Gitは分散型バージョン管理システムと呼ばれ、リモートリポジトリとローカルリポジトリが存在する。
このためファイルを修正したらまずはローカルリポジトリに反映、
次にリモートリポジトリに反映という流れになる。
一見、手間がかかるだけのように思えるが、リモートリポジトリのサーバーにアクセスできない環境でもローカルリポジトリへの反映はしておけるというメリットがある。
◆コミットだけじゃダメ
SVNならコミットすれば、リポジトリに反映される。しかし、Gitの場合はリポジトリが2つある。「2回コミットすればいいじゃん!」と思うかもしれないが、それだと半分正解。
コミットはローカルリポジトリへの反映を指していて、
リモートリポジトリへの反映はプッシュと呼ばれる。
リポジトリが2つある分、操作も増えるのだ。
◆チェックアウトしても得る物は無し
リポジトリからローカルに作業コピーを作るにはチェックアウト。
SVNならそれで済む。
この時点で、勘の良いあなたなら「Gitはそうじゃないんでしょ。」と気付いているだろう。
Gitでのチェックアウトはブランチを切り替えるだけだ。
ブランチの詳細は後で語るとして、同じ言葉でも内容はまるで違うとは困ったものだ。
◆ブランチを制する者はGitを制す
ブランチを知らずにGitを使いこなすのはまず不可能だ。
登場するブランチは次の3つである。masterブランチ、developブランチ、開発ブランチ。
作業をしたいブランチに切り替えるのが前述のチェックアウトである。さらにこれらはリモートリポジトリとローカルリポジトリのそれぞれに存在していたりもする。
これらのブランチの役割を把握せずにGitに手を出すのはお勧めできない。
結論:
これらの相違点の説明やそれを踏まえた運用ルール作成までの道のりはまだまだ長そうだ。
次回へ続く。
読んでくれてありがとうございました。👮🌟
⊿はせのり⊿