いまさらだけどSVNを今まで操作して、ある日Gitを使えと言われた時の頭の中でのSVNからGit使いになるための変換イメージを記載。ホワイトボードのメモ書き。
今までの単純なSVNの操作イメージ
クライアントツール:Tortoise SVN (GUI)で操作したイメージ
1. SVNのリポジトリを自分のローカルにチェックアウトする
2. 自分のローカルで作業
3. 自分のローカルをSVNにコミットする
4. リポジトリから最新情報を更新
SVNからのGitの操作イメージ
クライアントツール: Git for Windows (CUI)で操作したイメージ
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
使用する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のプルリクエスト
※プルリクエストはGit本来の機能ではなくGithubやBacklogなどのWebサービスが持っている機能
ブランチの更新内容に本当に問題ないかソースレビューを有識者に出すイメージ。また問題なければ、ブランチからmasterへソースのマージが簡単にできる。