Git åå¼·ä¼@ä¸è #1 ã«ãã£ã¦ãã
ä¸èããã«ãéªéãã¦ãã¾ããã
http://atnd.org/events/537
ååæ¦ã¯ id:koichiro ããã«ãã Git ã«ã¤ãã¦ã®ããããã
å¾åæ¦ã¯ id:jugyo ãããä¸å¿ã«ã¿ããªã§ Git ã使ã£ã¦ã¿ãã¨ããæãã§ããã
以ä¸ãå
容ã¡ã¢æãã
å¾åæ¦ã®ã¯è©±é¡ã«ä¸ã£ãã³ãã³ããã²ãããã¡ã¢ã£ãæããªã®ã§ãè¦ã¥ããããããã¾ããã
Git ã®æ´å² (id:koichiro)
Git ã¨ã¯ï¼
- 忣 SCM
- Linus ãéçº
- ã¡ã³ããã¯æ¥æ¬äººã®æ¿±éãã => Web + DB vol.50 ã®ç¹éãå«ï¼
éä¸ SCM
- åä¸ãªãã¸ããªã§ç®¡ç
- å使¥è ã¯ã¯ã¼ãã³ã°ã³ãã¼ãæã£ã¦ãã
- ã³ãã¼ããªãã¸ããªã« commit ãã => 夿´ãããã®ã¯ 1 ã¤ã ã
忣 SCM
- è¤æ°ã®ãªãã¸ããªãæ±ãã
- å使¥è ã¯ãã¹ã¿ã¼ãè¤è£½ãããªãã¸ããªãæã£ã¦ãã
- ãã¹ã¿ã¼ã¯éç¨ä¸ã®ã«ã¼ã«ã¨ãã¦å®ããã ã
- åãªãã¸ããªã¯ push, pull ã§ç¶æ ã管çãã
忣ã«ãªãã¨ã»ã»ã»
ã¡ãªãã
- ãªãã©ã¤ã³ã§æä½å¯è½
- 権éãéä¸ããªã
- fork ãããã
ãã¡ãªãã
- è¤éã«ãªã
Git ã®æ´å²
èªç
- BitKeeper (åç¨ SCM)
- ãªã¼ãã³ã½ã¼ã¹ã¯ç¡åã§å©ç¨å¯
- 忣ãªãã¸ããªããµãã¼ã
- ã¡ã¼ã«ãã¼ã¹ã§ç®¡ç
- é«éã»å ç¢
- å¤ãã®ãã©ã³ããæ±ããã¨ãå¯è½
- Linux ã«ã¼ãã«éçºè ã clone ä½ã£ã¦ãã¾ã£ã¦ã販売å ãæã£ã
ãæ°´éããæ°´é管ä½ãã®ã好ãã by Linus
SCM ã®æ´å²
- SCCS => BitKeeper => (Git & Mercurial)
- RCS => cvs => subversion
- åä¸ãã¡ã¤ã« => ããã¸ã§ã¯ã => 忣
- Mercurial ã¯ã Git éçºè ã®äººãå¥ã®ç®¡çæ¹æ³ãå®ç¾ããããã«åé¢ãã¦ä½æããã
- éçºè¨èª: Python
- java é¢ä¿ã NetBeans ã§ããå©ç¨ããã¦ããã
RCS
- å©ç¹: ãã¡ã¤ã«ç®¡çã¯ä¾¿å©
- è¦æ±: åä½ãªã®ã§ãããã¸ã§ã¯ããã¾ã¨ãã¦ç®¡çããã
cvs
- å©ç¹: ããã¯ãããã³ãã¼ï¼ãã¼ã¸
- è¦æ±: å ç¢ãªãã¼ã¿ãæä½æ§ããã«ããã©ãããã©ã¼ã
svn
- å©ç¹: å ç¢ãªãã¼ã¿æ§é ã I/F ãå¤å½©
Git
- å©ç¹: 忣ã¯ä¾¿å©
- ã³ãã³ããå¤ãããï¼
Git ã®ç¹å¾´
- Git Object
- SHA1 ããã·ã¥
- ãã©ã³ãã®æ±ããç°¡å
Github ã«ã¤ãã¦
- ãæã 㯠Git ã使ãããã®ã§ã¯ãªãã Github ã使ãããã®ã ï¼ã by è§è°·ãã
- ã³ã¼ãã¨ã³ã¼ãã§èªãæ¼¢éã®ããã® SNS
- fork ãç°¡å
- ã³ããã¿ã®ç¹æ¨©ãæ¶æ» ãã => ã³ããã¿ä¸å¿ã§ã¯ãªããã³ã¼ãä¸å¿
- é常ã«ããã§ãã Rails App
æ©è½
- gist
- ãã©ã¦ã¶ã§ã®ã½ã¼ã¹ç·¨é
- issue track
- gisty ã§ä¾¿å©ã« gist ã使ã
ã¿ããªã§ Git ãã¤ã£ã¤ã (id:jugyo)
Git quickstart
- git init ~ git commit
- git log
- git reset --soft, --hard ==> ãªãã¸ããªã«å ãã£ã夿´ã«å¯¾ãã¦
- git rm --cached ==> æ°ãããªãã¸ããªã«è¿½å ãããã¡ã¤ã«ãåãæ¶ã
- git reset ã«ã¤ãã¦
- svn ã§ãã revert ã¯ï¼ => reset --hard
- 1 ãã¡ã¤ã«ã ãã¨ãã§ããï¼ => reset ã§ã§ãããããªãã·ã§ã³æå®ä¸å¯ã«ãªãã man ãè¦ããã
- git reset --hard HEAD~2 => 2 ã¤åã®ã³ãããã¸æ»ã
- merge æã«ã³ããããä¸ã¤ã«ããã«ã¯ï¼ï¼
- ããã¹ã 1 ã¤ã ãã checkout ããã
- git checkout BRANCH FILENAME
- commit ãã¡ãã£ãã¡ã¼ã«ã¢ãã¬ã¹ã夿´ãããï¼
- gitconfig ã« global ãä»ããªã
- ãªãã¸ããªãã¨ã«ã¢ãã¬ã¹ãå¤ãããã
- ãã¼ã«ã«è¨å®ã¯ ./.git/config ã«ãã
- git add -p
- ä¸é¨ã®å·®åã ãåãè¾¼ããã¨ãå¯è½
- git log -u
- git log --stat
- git grep
- color ãªãã·ã§ã³ãªãã®ï¼
- kernel.org ã® man ã«ã¯è¨è¼ããã¦ã
- 2009/04/20 ã«è¿½å ãããããã
- git commit --amend
branch ã«ã¤ãã¦
- git branch BRANCHNAME BRANCH2
- 弿° 1: ä½ããã©ã³ãå, 弿° 2: å ã«ãããã©ã³ã
- git merge --no-commit
- ã³ããããªãã§ãã¼ã¸ãã
- ã³ãããããã¨ãããã¾ã§ã®ãã°ãå ¨é¨æ¸ãè¾¼ã¾ãã
- git merge --squash
- squash ã¨ã®éãã¯ï¼
- squash ã¯ããã¾ã§ã®ãã°ã¯å ¨ã¦ç ´æ£ãããã®ã§ãã³ããã 1 åã«ãªã
- git format-patch BRANCHNAME
- ãããã使ããã
- git apply PATCHNAME
- ããããã¡ã¤ã«é©ç¨
- git stash save
- ãã³ãã©ãªé åã«ä¿åãã
- git stash apply
- git stash pop
- 1 åã ãåãåºã
- git stash drop
- 1 åã ãæ¶ã
çµè«
ãã£ã±ãã³ãã³ããããã©ã 20 åããã使ããã°çãã¦ããããï¼
åèæ¸:
Pragmatic Version Control (æ´æ¸)
Web + DB vol50
è¬å¸«ã®æ¹ã ãåå è ã®çæ§ããç²ãæ§ã§ããï¼