ã¢ãªã¹ããã£ã¬ã³ã¸ãªã³ã¼ããæ¸ãæãgit branchãã¡ããã¨ç解ãããï¼
ã¢ãªã¹ã¨ããã®Gitã·ãªã¼ãºãæ¬ã«ãªãã¾ããï¼
ããã¢ãªã¹ã¨ããã®Gitå ¥éã¬ãã¹ã³
ã¢ãªã¹ã¯è¿·ã£ã¦ãããç¾ç¶ã®showã¡ã½ããã¯åºå®ãããã¡ãã»ã¼ã¸ããåºåããªãããçæ³çã«ã¯ã¦ã¼ã¶ã¼ã®æ¡ä»¶ã«ãã£ã¦å¤åããããã¨ã
ãããããã®æ©è½ãå®è£
ããããã«ã¯çµæ§ãªå¤§æ¹ä¿®ã«ãªã£ã¦ãã¾ããæããã¦ä»ã®èªåã®æè¡ã§ã¡ããã¨å®äºããããã¨ãåºæ¥ãã ãããï¼ãã®æ©è½è¿½å ãããã¹ããããã®ã¾ã¾ã«ããã...ã
- ã¢ãªã¹ã¯ãã®ä¿®æ£ã失æã«çµãã£ãæã®ãã¨ãèãã¦ãããã«é£çµ¡ãã¦ãããã¨ã«ãããã失æãããããããããã¨ãï¼ãªãã¦ç¡è²¬ä»»ãªã¢ãªã¹...ãï¼
- é£çµ¡ãåããããã¯ãã¢ãªã¹ã®æ©è½è¿½å ã«ã¯å¤§è³æãããï¼ããã ããæ°ãããã©ã³ãã追å ãã¦ãããã§ä½æ¥ããããã¨ãã¢ãªã¹:ããã©ã³ãï¼ï¼ï¼ã
- ã¢ãªã¹ã¯ãã©ã³ããç解ã§ãã¦ããªãããã¨ãããããããã«èª¬æãããæé ããã®ã¾ã¾ãã£ã¦ã¿ããã¨ã«ãããã¢ãªã¹ï¼ãç¿ããããæ £ããã ãã
alice/project$ git branch challenge #ãã©ã³ãchallengeãä½æ alice/project$ git branch #ãã©ã³ãã®ä¸è¦§ãç¢ºèª challenge * master
- ãã©ã³ãã®ä¸è¦§ã確èªããã¨ãä»ä½æãããchallengeãã¨ããmasterãã確èªã§ããã
- ãã©ã³ããmasterãã¯gitãããã©ã«ãã§ä½æãããã©ã³ããæåã¯ã¿ããªmasterããå§ã¾ãã
- ãã©ã³ãåã®å é ã«ã*ããã¼ã¯ãä»ãã¦ããã®ã§ãç¾å¨ä½æ¥ä¸ã®ãã©ã³ãã¯ãmasterãã¨ãããã¨ã«ãªãã
alice/project$ git checkout challenge #ãã©ã³ãããchallengeãã«å¤æ´ Switched to branch "challenge" alice/project$ git branch #ãã©ã³ãã®ä¸è¦§ãç¢ºèª * challenge master
- ãã©ã³ãã®ä¸è¦§ã確èªããã¨ããã©ã³ãã¯ãchallengeãã«å¤æ´ãããã
challengeãã©ã³ãã§ã®ã¢ãªã¹ã®ä¿®æ£
- ãã©ã³ããåãæ¿ãã£ããã¨ã確èªãã¦ãã¢ãªã¹ã¯ã³ã¼ãã®ä¿®æ£ãå§ããã
# About git Class WhatIsGit def show puts 'Do you understand the basis of git? [yes/no]' input = gets.chomp.downcase case input when 'yes', 'y' puts 'Git is easy.' else puts 'Git is difficult...' end end def about(lang = 'en') puts "http://#{lang}.wikipedia.org/wiki/Git" end end
- ã²ã¨ã¾ãå®æããã®ã§ãã³ãããã
alice/project$ git commit -a -m 'challenge commit 1'
Created commit 472085b: challenge commit 1
1 files changed, 8 insertions(+), 1 deletions(-)
- ã¢ãªã¹ããã£ããèãç´ãã¨ããã£ã¨ç°¡æ½ã«æ¸ãã¹ãã¨æããã®ã§ãããã«ä¿®æ£ã
# About git Class WhatIsGit def show case input('Do you understand the basis of git? [yes/no]') when 'yes', 'y' puts 'Git is easy.' else puts 'Git is difficult...' end end def about(lang = 'en') puts "http://#{lang}.wikipedia.org/wiki/Git" end private def input(message) puts message gets.chomp.downcase end end
- ããã§è¯ããã³ãããã
alice/project$ git commit -a -m 'challenge commit 2'
Created commit 31ce330: challenge commit 2
1 files changed, 7 insertions(+), 3 deletions(-)
ãã©ã³ããåãæ¿ãã¦ã¿ã
- ã¢ãªã¹ã¯ãchallengeãã©ã³ãã§ã®ä½æ¥ãä¸æ®µè½ããã®ã§ãmasterãã©ã³ãã«åãæ¿ãã¦ã¿ãã
alice/project$ git checkout master
Switched to branch "master"
- ããã¨ãwhat_is_git.rbã®å 容ãã以åã®ç¶æ ã«æ»ã£ã¦ãã¾ã£ã...ã
- ã¢ãªã¹ã¯ä¸ç¬ç¦ã£ãããããä¸åº¦challengeãã©ã³ãã«åãæ¿ãã¦ã¿ãã¨ããã£ãæ¸ããã³ã¼ãã復å ãããï¼
alice/project$ git checkout challenge
Switched to branch "challenge"
- ã¤ã¾ãgitã«ç®¡çããããã£ã¬ã¯ããªã«ããã¦ã¯ãwhat_is_git.rbã¨ãããã¡ã¤ã«ã¯ãç·¨éä½æ¥ãããããã®ä¸æçãªã³ãã¼ã§ãããªãã®ã ã
- gitãã³ãããæç¹ã®ã¹ãããã·ã§ãããèã ã¨ä¿åãã¦ãã.gitãã©ã«ãã®å±¥æ´ããã¹ã¦ã§ããã
- ä»ããã®å±¥æ´ã¯ãmasterã¨ãããããåå²ããchallengeã¨ããäºã¤ã®ç³»çµ±ã«åããã¦ããã®ã ã
ã¤ã¡ã¼ã¸å³
éå» <----------------------> æªæ¥
o--o <-- challengeãã©ã³ã
/
...o--o--o <------- masterãã©ã³ã
oã¯ã³ããããã¾ãã¯ãã¼ã¸ã表ã
ããã®ä¿®æ£
- ã¡ããã©ãã®é ãããã¯é大ãªãã°ãè¦ã¤ãã¦ãããããï¼ãã¯ã©ã¹å®£è¨ã®classã大æåã§å§ã¾ã£ã¦ããã¨ã¯...ã
bob/myrepo$ git diff diff --git a/what_is_git.rb b/what_is_git.rb index ac3f723..bec373b 100644 --- a/what_is_git.rb +++ b/what_is_git.rb @@ -1,5 +1,5 @@ # About git -Class WhatIsGit +class WhatIsGit def show puts 'Git is difficult, if you understand the basis.' end bob/myrepo$ git commit -a -m 'class downcase' Created commit 87f0ad7: class downcase 1 files changed, 1 insertions(+), 1 deletions(-) bob/myrepo$ git push shared master Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 281 bytes, done. Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /Users/Shared/project.git 16150ca..87f0ad7 master -> master
- ãããã¾ä¿®æ£ãã¦ãã³ããããããã·ã¥ã
challengeãã©ã³ãã§ã®ã¢ãªã¹ã®è¿·èµ°
- ä¸æ¹ãã¢ãªã¹ã¯challengeãã©ã³ãã®ã³ã¼ãããã¹ããã¦ããã
alice/project$ git checkout challenge Switched to branch "challenge" alice/project$ irb >> require 'what_is_git' SyntaxError: ./what_is_git.rb:21: syntax error, unexpected kEND, expecting $end from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require' from (irb):1 >>
- ããããrequireãããã¦å®è¡ã§ããªã...ããã¯ãç§ï¼ã¢ãªã¹ï¼ã«ã¯ç¡çã ã£ãã®ãï¼ã¢ãªã¹ã¯è½èãã¦ããã
- ãã®æãããããé£çµ¡ããã£ããé大ãªãã°ãä¿®æ£ããã¨ããããåãè¾¼ã¾ãªãã¨ãã¹ã¦ã®ãã¹ããã¨ã©ã¼ã«ãªãã¨ã
- ã¢ãªã¹ã¯æ©éãå ±æãªãã¸ããªãããã«ããããªãã¨ãã¯ã©ã¹å®ç¾©ã®å é ã大æåã«ãªã£ã¦ããã¨ã¯ããã¡ã ãããã
alice/project$ git checkout challenge Switched to branch "challenge" alice/project$ git pull shared master From /Users/Shared/project * branch master -> FETCH_HEAD Auto-merged what_is_git.rb Merge made by recursive. what_is_git.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) alice/project$ git diff HEAD^ diff --git a/what_is_git.rb b/what_is_git.rb index 8fe919a..559d6cb 100644 --- a/what_is_git.rb +++ b/what_is_git.rb @@ -1,5 +1,5 @@ # About git -Class WhatIsGit +class WhatIsGit def show case input('Do you understand the basis of git? [yes/no]') when 'yes', 'y'
- ãããã¾ä¿®æ£ãåãè¾¼ãã§ãirbã§ãã¹ããã¦ã¿ãã
alice/project$ irb=> true=> #<0x365b8c>0x365b8c>