git-svn intro
DESCRIPTION
git-svn introTRANSCRIPT
![Page 1: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/1.jpg)
git-svn intro
Kenichirou Oyama (k1LoW)
![Page 2: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/2.jpg)
DistributedHoge 2
• type:– Programmer (PHPer)
• Emacs Level:– Enjoy Emacs Lisp
• Products:– cake.el– drill-instructor.el(鬼軍曹.el)– tokyotyrant_php– and more.
• membership:– Fusic Co.,Ltd >> http://fusic.co.jp
– codecheck.in >> http://trac.codecheck.inand 101000code / 3rdSTONE
(self-introduce "k1LoW")
![Page 3: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/3.jpg)
DistributedHoge 3
What is git-svn?
![Page 4: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/4.jpg)
DistributedHoge 4
What is git-svn?
• GitリポジトリとSVNリポジトリを同期するためのもの
• GitとSVNの利点を享受することができる
![Page 5: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/5.jpg)
DistributedHoge 5
SVN• 基本は1つのリポジトリ• リポジトリからcheckoutしたワーキングコピーで作業
をする– ワーキングコピーはあくまで作業用
• →[edit]→commit→update→[edit]→• 利点:リポジトリが1つなのでソースの作業履歴が1つに
集まる– きっちり集中管理しないといけないときに仕様上そうなってい
るので何も考えなくてよい• 欠点:commitは1つしかないリポジトリにしかできない
– commit権限を持たない人は作業履歴をそのSVN管理化では残すこと(commitすること)ができない→patch?
![Page 6: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/6.jpg)
DistributedHoge 6
SVN
svn co
svn ci
svn up
svnリポジトリ
ワーキングコピー
![Page 7: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/7.jpg)
DistributedHoge 7
Git• 基本は分散した複数のリポジトリ• リポジトリからcloneしたリポジトリで作業をする
– cloneされたリポジトリもcloneしたリポジトリもリポジトリ• →[edit]→commit→push→pull→[edit]→• 利点:それぞれがリポジトリを持つのでそれぞれか作業
履歴を残す(commitする)ことができる– みんな平等。分散。– ネットワークが切れていてもcommitできる。
• 欠点:(プロジェクトの性質によっては)どれがマスターのリポジトリかわからなくなると困る– 運用ルールが大事。
![Page 8: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/8.jpg)
DistributedHoge 8
Git
Gitリポジトリ
git clonegit pushgit pull
Gitリポジトリ
Gitリポジトリ
git commit
![Page 9: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/9.jpg)
DistributedHoge 9
SVNでのワークフローある開発者のかつての日常
![Page 10: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/10.jpg)
DistributedHoge 10
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 11: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/11.jpg)
DistributedHoge 11
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 12: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/12.jpg)
DistributedHoge 12
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 13: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/13.jpg)
DistributedHoge 13
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 14: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/14.jpg)
DistributedHoge 14
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 15: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/15.jpg)
DistributedHoge 15
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 16: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/16.jpg)
DistributedHoge 16
SVNでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからcheckout3. 編集4. svn up5. svn ci6. 編集7. svn up
![Page 17: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/17.jpg)
DistributedHoge 17
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 18: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/18.jpg)
DistributedHoge 18
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 19: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/19.jpg)
DistributedHoge 19
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 20: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/20.jpg)
DistributedHoge 20
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 21: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/21.jpg)
DistributedHoge 21
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 22: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/22.jpg)
DistributedHoge 22
SVNでのワークフロー8. svn ci9. なんかバージョン的に残しておく必要があり
そうだからtagsにフォルダを作成してファイルをコピー
10. svn ci11. commit頻度が細かすぎてコミットログを汚
染する12. commit頻度を下げてまとめていたら、動かな
くなって仕方なくリビジョン戻そうにもネットワークの調子が悪くて作業停止。
13. branchつくってtrunkにmerge?怖いからやらない。
![Page 23: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/23.jpg)
DistributedHoge 23
githubでのワークフローtokyotyrant_php開発日常
![Page 24: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/24.jpg)
DistributedHoge 24
What is github?• http://github.com• Gitのプロジェクトホスティングサー
ビス–CodeReposやcodecheck.inみたいなもの
• Gitの分散性を利用したソーシャルな側面があることが特徴–分散リポジトリならでは–followとかwatchとか
![Page 25: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/25.jpg)
DistributedHoge 25
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 26: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/26.jpg)
DistributedHoge 26
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 27: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/27.jpg)
DistributedHoge 27
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 28: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/28.jpg)
DistributedHoge 28
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 29: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/29.jpg)
DistributedHoge 29
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 30: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/30.jpg)
DistributedHoge 30
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 31: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/31.jpg)
DistributedHoge 31
githubでのワークフロー1. githubでリポジトリ作成
• trunk?branches?tags?なにそれ2. githubのリモートリポジトリからclone
• git clone [email protected]:k1LoW/tokyotyrant_php.git
3. テーマを決めてbranchを作成• git branch rdb• git checkout rdb
4. 編集5. git commit6. 編集7. git commit
![Page 32: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/32.jpg)
DistributedHoge 32
githubでのワークフロー8. いい感じになったのでローカルのマスターリポジト
リにまとめてmerge• git checkout master• git merge –squash rdb• git commit
9. リモートリポジトリにpush• git push origin
10. バージョン的にいい感じなのでtagをつけとく• git tag 0.1• git push –tags 0.1
11. ノリでbranchを作成• git branch qry_bug• git checkout qry_bug
![Page 33: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/33.jpg)
DistributedHoge 33
githubでのワークフロー8. いい感じになったのでローカルのマスターリポジト
リにまとめてmerge• git checkout master• git merge –squash rdb• git commit
9. リモートリポジトリにpush• git push origin
10. バージョン的にいい感じなのでtagをつけとく• git tag 0.1• git push –tags 0.1
11. ノリでbranchを作成• git branch qry_bug• git checkout qry_bug
![Page 34: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/34.jpg)
DistributedHoge 34
githubでのワークフロー8. いい感じになったのでローカルのマスターリポジト
リにまとめてmerge• git checkout master• git merge –squash rdb• git commit
9. リモートリポジトリにpush• git push origin
10. バージョン的にいい感じなのでtagをつけとく• git tag 0.1• git push –tags 0.1
11. ノリでbranchを作成• git branch qry_bug• git checkout qry_bug
![Page 35: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/35.jpg)
DistributedHoge 35
githubでのワークフロー8. いい感じになったのでローカルのマスターリポジト
リにまとめてmerge• git checkout master• git merge –squash rdb• git commit
9. リモートリポジトリにpush• git push origin
10. バージョン的にいい感じなのでtagをつけとく• git tag 0.1• git push –tags 0.1
11. ノリでbranchを作成• git branch qry_bug• git checkout qry_bug
![Page 36: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/36.jpg)
DistributedHoge 36
githubでのワークフロー12. commit頻度がさらに細かくなる。13. なんか動かなくなって仕方なく戻す。という
ことでbranch自体を捨てる。– git checkout master
14. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
15. branchつくってmasterにマージ?Gitの基本。
![Page 37: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/37.jpg)
DistributedHoge 37
githubでのワークフロー12. commit頻度がさらに細かくなる。13. なんか動かなくなって仕方なく戻す。という
ことでbranch自体を捨てる。– git checkout master
14. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
15. branchつくってmasterにマージ?Gitの基本。
![Page 38: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/38.jpg)
DistributedHoge 38
githubでのワークフロー12. commit頻度がさらに細かくなる。13. なんか動かなくなって仕方なく戻す。という
ことでbranch自体を捨てる。1. git checkout master
14. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
15. branchつくってmasterにマージ?Gitの基本。
![Page 39: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/39.jpg)
DistributedHoge 39
githubでのワークフロー12. commit頻度がさらに細かくなる。13. なんか動かなくなって仕方なく戻す。という
ことでbranch自体を捨てる。1. git checkout master
14. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
15. branchつくってmasterにマージ?Gitの基本。
![Page 40: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/40.jpg)
DistributedHoge 40
git-svnでのワークフローある開発者の今の日常
![Page 41: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/41.jpg)
DistributedHoge 41
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 42: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/42.jpg)
DistributedHoge 42
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 43: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/43.jpg)
DistributedHoge 43
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 44: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/44.jpg)
DistributedHoge 44
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 45: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/45.jpg)
DistributedHoge 45
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 46: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/46.jpg)
DistributedHoge 46
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 47: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/47.jpg)
DistributedHoge 47
git-svnでのワークフロー1. ある開発プロジェクトに参加することになっ
たのでsvnリポジトリを作成→メンバーに知らせる
• trunkとbranchesとtagsはディレクトリ分けしておく
2. svnリポジトリからgit svn clone3. テーマを決めてbranchを作成
• git branch calendar• git checkout calendar
4. 編集5. git commit6. 編集7. git commit
![Page 48: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/48.jpg)
DistributedHoge 48
git-svnでのワークフロー8. いい感じになったのでローカルのマスターリ
ポジトリにまとめてmerge• git checkout master• git merge –squash calendar• git commit
9. svnリポジトリにdcommit• git svn dcommit
10. ノリでbranchを作成• git branch bug_fix• git checkout bug_fix
![Page 49: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/49.jpg)
DistributedHoge 49
git-svnでのワークフロー8. いい感じになったのでローカルのマスターリ
ポジトリにまとめてmerge• git checkout master• git merge –squash calendar• git commit
9. svnリポジトリにdcommit• git svn dcommit
10. ノリでbranchを作成• git branch bug_fix• git checkout bug_fix
![Page 50: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/50.jpg)
DistributedHoge 50
git-svnでのワークフロー8. いい感じになったのでローカルのマスターリ
ポジトリにまとめてmerge• git checkout master• git merge –squash calendar• git commit
9. svnリポジトリにdcommit• git svn dcommit
10. ノリでbranchを作成• git branch bug_fix• git checkout bug_fix
![Page 51: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/51.jpg)
DistributedHoge 51
git-svnでのワークフロー11. commit頻度がさらに細かくなる。12. なんか動かなくなって仕方なく戻す。
ということでbranch自体を捨てる。• git checkout master
13. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
14. branchつくってmasterにマージ?git-svnでも基本。
![Page 52: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/52.jpg)
DistributedHoge 52
git-svnでのワークフロー11. commit頻度がさらに細かくなる。12. なんか動かなくなって仕方なく戻す。
ということでbranch自体を捨てる。• git checkout master
13. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
14. branchつくってmasterにマージ?git-svnでも基本。
![Page 53: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/53.jpg)
DistributedHoge 53
git-svnでのワークフロー11. commit頻度がさらに細かくなる。12. なんか動かなくなって仕方なく戻す。
ということでbranch自体を捨てる。• git checkout master
13. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
14. branchつくってmasterにマージ?git-svnでも基本。
![Page 54: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/54.jpg)
DistributedHoge 54
git-svnでのワークフロー11. commit頻度がさらに細かくなる。12. なんか動かなくなって仕方なく戻す。
ということでbranch自体を捨てる。• git checkout master
13. ネットワークの調子が悪いらしい。気にせずcommitを続ける。
14. branchつくってmasterにマージ?git-svnでも基本。
![Page 55: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/55.jpg)
DistributedHoge 55
svnリポジトリでもGitの恩恵を受けられる!
![Page 56: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/56.jpg)
DistributedHoge 56
svnリポジトリでの集中管理もできる!
![Page 57: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/57.jpg)
DistributedHoge 57
ワーキングコピー
git-svn
git svn rebase
git svn dcommitsvnリポジトリ
git commit
Gitリポジトリ
ここらへんがgit-svnだと思う
![Page 58: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/58.jpg)
DistributedHoge 58
git-svn introまとめ• 従来のsvnリポジトリ下でもGitの恩恵を受けられるgit-
svnはすごい!– 正直Gitは万人が理解できるものではないらしい(Joelさんが
言ってた)• 自分もまだ・・・
– TortoiseSVNによるデザイナーへの貢献も大きいのでSVNからは離れにくい
– でも便利なのでせめて自分の作業効率だけでも上げる• 今回のgit-svn紹介は導入部分だけなので、各自苦労し
てみてください– ちなみに自分はgit-svn→Gitの順で触った– Gitは今後主流になるかもしれないのに触らないのは損
• githubも楽しいけどcodecheck.inも楽しいよ!
![Page 59: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/59.jpg)
DistributedHoge 59
ちなみに
![Page 60: git-svn intro](https://reader034.vdocuments.us/reader034/viewer/2022052301/558de6041a28abdd428b472b/html5/thumbnails/60.jpg)
DistributedHoge 60
Gitを使っていて思ったこと• branch祭りは楽しい
– テーマを決めたりしてガンガン切る– むしろ使い捨てくらいがちょうどいいと思っている
• masterからいちいちmergeするくらいなら新しいbranch
• git checkoutのときに一気にソースコードが変わる様は楽しい
• git-svnというGitとSVNの橋渡しはあるけれども、リポジトリの考え方は180度変えないとGitには慣れない– でも慣れたら楽しい
• Web+DB Vol.50のGit特集は最強