スポンサーリンク
IT全般

🌀 SVN経験者のためのGit用語ガイド:似てるけどちょっと違う13の操作

IT全般
この記事は約4分で読めます。

Gitを使い始めたとき、「あれ?SVNと同じ名前だけど動きが違う…?」と感じたことはありませんか? GitとSVNはどちらもバージョン管理システムですが、仕組みや操作の考え方が根本的に違うため、同じような用語でも意味が異なることがあります。

この記事では、SVN経験者がGitを使うときに混乱しやすい用語や操作を、実際のメニュー項目に沿って整理してみました!

🧬 クローン(Clone)≠ SVNのチェックアウト

SVNでは「チェックアウト(checkout)」が最初の操作でしたが、Gitでは「クローン(clone)」がそれにあたります。 ただし、Gitのクローンはリポジトリ全体(履歴含む)を丸ごとコピーする点が大きな違い!

git clone https://github.com/example/repo.git

SVNのチェックアウトは「最新の状態だけを取得」するのに対し、Gitのクローンは完全な履歴付きのローカルリポジトリを作成します。

🔁 チェックアウト(Checkout)≠ SVNのチェックアウト

SVNでの「checkout」はリポジトリを取得する操作でしたが、Gitではブランチやコミットを切り替える操作です。

git checkout feature/login

つまり、Gitのcheckout作業対象の切り替えに使うもので、SVNのcheckoutとはまったく別物!

📥 フェッチ(Fetch)= SVNのupdateに近いけど…

git fetchは、リモートの最新情報を取得するだけの操作です。 SVNのupdateに似ていますが、Gitではローカルの作業ブランチには影響しません

git fetch origin

取得した内容を反映させるには、別途mergerebaseが必要です。

🔄 プル(Pull)= SVNのupdateに近い

git pullは、fetchmergeを一度に行う操作で、リモートの変更をローカルに反映します。 SVNのupdateに最も近い操作ですが、Gitではマージの衝突(コンフリクト)が起きやすいので注意!

git pull origin main

🚀 プッシュ(Push)≠ SVNのコミット

SVNではcommitするとすぐにリモートに反映されましたが、Gitではローカルにコミット → プッシュでリモートに反映という2段階です。

git commit -m "修正"
git push origin main

この違いが、Gitの「分散型バージョン管理」の特徴でもあります。

📝 コミット(Commit)= ローカルの履歴保存

Gitのcommitは、ローカルの履歴に変更を記録する操作です。

SVNのcommitとは違い、他の人にはまだ見えません

🌿 ブランチ(Branch)≠ SVNのブランチ

SVNのブランチは「ディレクトリのコピー」でしたが、Gitのブランチは履歴の分岐です。 Gitではブランチの作成・切り替えがとても軽量で高速!

git branch feature/new-ui
git checkout feature/new-ui

🧳 スタッシュ(Stash)= SVNにはない便利機能!

作業中の変更を一時的に退避して、あとで復元できる機能です。 SVNにはないGit独自の便利機能で、「ちょっと別の作業をしたいけど、今の変更は残したい!」というときに大活躍!

git stash
# 作業後に復元
git stash pop

🌐 リモート(Remote)= SVNのリポジトリURLに近い

Gitでは、リモートリポジトリをoriginなどの名前で登録して管理します。 複数のリモートを使い分けることも可能です。

git remote -v

✏️ 変更(Changes)= SVNの「未コミットの変更」

Gitでも、ファイルを編集すると「変更」として検出されます。 ただし、Gitではステージング(add)→コミットという2段階の流れになります。

🔃 プル・プッシュ(Pull, Push)= 一連の同期操作

GUIツールでは、pullpushをまとめて実行できるボタンが用意されていることがあります。 SVNのように「更新してからコミット」する流れを再現したいときに便利です。

🏷️ タグ(Tag)= SVNのタグと似てるけど軽量

Gitのタグは、特定のコミットに名前をつける機能です。 SVNのタグはブランチと同じくディレクトリコピーでしたが、Gitでは履歴上のラベルとして扱われます。

git tag v1.0.0

🌲 ワークツリー(Worktree)= SVNにはない高度な機能

1つのリポジトリから複数の作業ディレクトリを作成できる機能です。 複数のブランチを同時に作業したいときに便利!

git worktree add ../別ディレクトリ ブランチ名

🧭 まとめ

用語SVNでの意味Gitでの意味
Checkoutリポジトリを取得ブランチや履歴の切り替え
Commitリモートに反映ローカルに記録
Update最新を取得して反映pull(fetch+merge)
Branchディレクトリコピー履歴の分岐
Tagディレクトリコピー履歴へのラベル付け

コメント

タイトルとURLをコピーしました