未経験で入社した私が、Gitでつまずいたポイント3つ🐤
Git操作は、正直なところ自身の成果物をあげるためだけに
- git add
- git commit
- git push
- git checkout 少し..
これくらいしか使っていませんでした...😓
しかし、いざ実務でGitを触り始めると、
見たことのないコマンドや運用ルールが次々に登場し、
「全然わからない…」と何度も手が止まりました。
この記事では、私が特に下記につまずいた3つのポイントを体験談ベースで紹介します👇
1. ブランチの向き先ミスは事故につながる
2. git checkout と git switch の違い
3. fork と clone の違い
1. ブランチの向き先が合っていないと事故になる
入社して最初の課題で機能ブランチを作成し、push したのですが…
向き先(ベースブランチ)が main になってしまっていました。
向き先が誤っていたことで、関係のない差分まで含んでしまっていました😱
まだ自身の課題だったからよかったものの、もしこれが案件だった場合、
- 他機能のコードが本番に混ざる
- バグがユーザーに影響する
- 他メンバーの作業がすべて止まる(レビューが進まない)
といった開発全体に影響する事故になっていた可能性があります。
現在は push 前に下記を確認するようにしています。
- 今いるブランチは正しい? →
git branch - 向き先は合っている? → PR 作成時に必ずチェック
- 余計な差分が混ざっていない? →
git diff - 「向き先」は常に確認する!!!
2. git checkout と git switchの違いについて
ブランチの操作には、git checkoutを使うものだと思っていました。
ですが、実務ではgit switchが使われていて、
「git checkoutとは、なにが違うのだろう」
と思いました。
実はgit checkoutは「なんでもできる」万能コマンドで、初心者には間違いを起こしやすいそうです。
その反面、初心者は意図せずファイルの変更を消してしまうなど、
間違いを起きやすいというデメリットがあるそうです。
私は実務で switch を使うことで、
- うっかりファイルを戻してしまう事故を防げる
- コマンドの意図が明確になる
というメリットを感じました。
これからブランチ操作は switch が基本! と覚えておくと安心💡
3.「forkとcloneの違い」が分からず混乱した
初めは fork と cloneって「なにがどう違うの…?」と混乱しました。
結論:コピー先が全然違う!
- fork:リポジトリを自分のアカウントにコピー
- clone:好きなリポジトリを自分のPCにコピー
forkは GitHub上のコピー
cloneは ローカルのコピー
という違いがあります。
どんなときにforkするの? 🤔
- 他人のリポジトリに直接pushできないとき
- OSSや他チームのコードを修正したいとき
- PR前提で作業したいとき
→ 自分に書き込み権限がないときに使う!
どんなときにcloneするの? 🤔
- 自分(またはチーム)のリポジトリで作業するとき
- 自分の変更をそのままpushして進めたいとき
→ 権限があるリポジトリで作業するときに使う!
最初は混乱しましたが、
fork は「まず自分のアカウントに持ってくる」
clone は「PCに持ってきて作業する」
と理解できました✨
最後に
実務でGitを使うようになってから、運用ルールやコマンドの使い分けなど、知らないことが本当にたくさんあると痛感しています。
ですが、つまずいたポイントが明確になる度に、少しずつ理解が深まってきている実感もあります。
今回3つに絞らせて紹介させていただきましたが、同じように実務でGitに挑戦している方の少しでも助けになれば嬉しいです。
読んでいただきありがとうございましたm(_ _)m
Discussion