SubversionからGitへ移行(クライアント側)のイメージ図を書いてみた

いまさらだけどSVNを今まで操作して、ある日Gitを使えと言われた時の頭の中でのSVNからGit使いになるための変換イメージを記載。ホワイトボードのメモ書き。

今までの単純なSVNの操作イメージ

クライアントツール:Tortoise SVN (GUI)で操作したイメージ

svn.jpg

1. SVNのリポジトリを自分のローカルにチェックアウトする

2. 自分のローカルで作業

3. 自分のローカルをSVNにコミットする

4. リポジトリから最新情報を更新

SVNからのGitの操作イメージ

クライアントツール: Git for Windows (CUI)で操作したイメージ

iOS からアップロードされた画像 (2).jpg

1. Gitのリポジトリを自分のローカルにチェックアウトクーロンする

コマンド
git clone https://xxxxxxxxxxxxxx.yyy.zzz

2. 自分のローカルで作業

3. ローカルリポジトリに変更内容を追加

コマンド
git add .

4. ローカルリポジトリにコミット

コマンド
git commit -m "commit message"

5. ローカルリポジトリからリモートリポジトリにコミットプッシュ

コマンド
git push -u origin master

6. リポジトリから最新情報を更新プル

コマンド
git pull

※これだけだとSVNよりGitはローカルリポジトリが増えたイメージで、ただ単純に手数が増えた印象しか受けない。Gitだからこそというイメージを以下に記載する。

もっと高度なGitの使い方 branchとpull request

Git2.jpg

使用するGitリポジトリ:GitHubやBacklog等のWebサービス

1. Gitのリポジトリ(master)から自分のローカルにクーロンする

コマンド
git clone -b master https://xxxxxxxxxxxxxx.yyy.zzz

2. ブランチ(feature)作成

コマンド
git branch feature

3. ブランチ(feature)移動

コマンド
git checkout feature

4. 自分のローカルで作業

5. ローカルリポジトリに追加&コミット

コマンド
git commit -m "commit branch"

6. ローカルリポジトリからリモートリポジトリにプッシュ

コマンド
git push -u origin feature

7. Webサービスからプルリクエスト(※)を選択してブランチをmasterにマージする

Githubのプルリクエスト
github.jpg
※プルリクエストはGit本来の機能ではなくGithubやBacklogなどのWebサービスが持っている機能
ブランチの更新内容に本当に問題ないかソースレビューを有識者に出すイメージ。また問題なければ、ブランチからmasterへソースのマージが簡単にできる。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.