º» °Ô½Ã±ÛÀÇ Ãâó´Â https://kibua20.tistory.com/16 ÀÇ ¿ä¾àº»ÀÔ´Ï´Ù. »Ë»Ñ¿¡ ±ÛÀ» ¿Ã·Áº¸´Ï ¾ç½ÄÀÌ ´Ù ±úÁ®¼ ¿ä¾à³»¿ë¸¸ ¿Ã¸®µµ·Ï ÇÏ°Ú½À´Ù.
½ÅÀÔ »ç¿øÀÌ ÀÔ»çÇؼ Çö¾÷¿¡ ¹èÄ¡µÇ¸é ȸ»ç email °èÁ¤À» ¸¸µé°í, º»ÀÎ PC¿¡ ÆÀ¿¡¼ °³¹ß ¼Ò½º Äڵ带 ¹Þ°Ô µÈ´Ù. °ú°Å¿¡´Â ¼Ò½º °ü¸® ¶Ç´Â Çü»ó°ü¸®¸¦ À§Çؼ ClearCase³ª SVN µîÀ» ¸¹ÀÌ »ç¿ëÇßÀ¸³ª, ÃÖ±Ù¿¡¼ "Çü»ó°ü¸® == git ¿î¿µ" À̶ó´Â µî½ÄÀÌ ¼º¸³ÇÒ ¸¸Å ´ëºÎºÐ gitÀ» ¸¹ÀÌ »ç¿ëÇÏ°í ÀÖ´Ù. SW °³¹ßÀÚ¸¦ ²Þ²Ù´Â ºÐµé°ú Team Project·Î SW¸¦ °³¹ßÇÏ´Â ºÐµéÀº ±âº»ÀûÀÎ git °³³ä°ú ¸í·É¾î ´ëÇؼ´Â ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. (¡Ø ½ÅÀÔ »ç¿øÀÌ git À» ¸ð¸£´Â °æ¿ìµµ À־, SW °³¹ßÀÚ°¡ gitÀ» ¸ð¸£´Â °æ¿ì´Â ¾øÀ½)
1. Git °³³äÆľÇÇϱâ
Git Àº "ºÐ»ê ¹öÀü °ü¸® ½Ã½ºÅÛ"ÀÌ´Ù. gitÀº ¼öÁ¤ ÀÌ·ÂÀ» ¸ðµÎ Æ÷ÇÔÇÏ°í ÀÖ¾î ¼¹ö¿¡ repository °¡ ¾ø¾îÁö´õ¶óµµ local git ¸¸À¸·Îµµ º¹¿øÀÌ °¡´ÉÇÏ´Ù.
GitÀº "Delta ±â¹Ý ¹öÀü °ü¸® ½Ã½ºÅÛ" ÀÌ´Ù. Git Á¤º¸¸¦ ÀúÀåÇÒ ¶§ º¯°æ ÆÄÀÏ ÀÚü¸¦ ÀúÀå(=snapshot ÀúÀå)ÇÏ´Â °ÍÀÌ ¾Æ´Ï°í º¯°æ ºÎºÐ (¥Ä)¸¸ ÀúÀåÇÑ´Ù.
Git ¿¡¼ ¼Ò½º ÄÚµå ¹Ý¿µÀº "Modified ´Ü°è, Staged ´Ü°è, Committed ´Ü°è" ·Î ÁøÇàµÈ´Ù.
- Modified ´Ü°è´Â ÆÄÀÏÀ» ¼öÁ¤ÇßÀ¸³ª, ¾ÆÁ÷ ·ÎÄà git ¿¡ Ä¿¹ÔÇÏÁö ¾ÊÀº »óŸ¦ ÀǹÌÇÑ´Ù.
- Staged ´Ü°è´Â ¼öÁ¤ »çÇ×À» È®Á¤ÇÏ°í, À̸¦ ¹Ý¿µ (commit) ¿¹Á¤À̶ó°í Á¤º¸¸¦ ¹Ý¿µÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. (git add)
- Commited ´Ü°è´Â Staged ´Ü°è¿¡¼ È®Á¤µÈ ³»¿ëÀ» ·ÎÄà DB (git)¿¡ ¹Ý¿µµÇ¾ú´Â °ÍÀ» ÀǹÌÇÑ´Ù. (git commit)
º¯°æ »çÇ׿¡ ´ëÇؼ CommitÀ» ¸¸µé¾úÀ¸¸é, Local PCÀ» ¼öÁ¤ »çÇ× diff¸¦ Git ¼¹ö (Remote repository)¿¡ ¹Ý¿µÀ» ÇÏ°Ô µÈ´Ù. ÀÌ ¶§ »ç¿ëÇÏ´Â ¸í·É¾î°¡ 'git push' ÀÌ°í, Git ¼¹ö¿¡¼´Â ¿©·¯ »ç¶÷ÀÌ ¼öÁ¤ÇÑ ³»¿ëÀ» ÇÕÃÄ ÃÖÁ¾ ¼öÁ¤ »çÇ×À» È®Á¤ÇÑ´Ù. ¹Ý´ë·Î Git ¼¹ö¿¡¼ ÃÖÁ¾ mergedÇÑ ¼öÁ¤ »çÇ×À» Local gitÀ» ³»·Á ¹Þ´Â °ÍÀº 'git pull' ÀÌ´Ù.
Ãâó: https://kibua20.tistory.com/16 [SW °³¹ßÀÚ°¡ ¿î¿µÇÏ´Â ºí·Î±×]
2. Git command
2.1. Git ¼³Ä¡ ¹× Ãʱ⠼³Á¤
¿ì¼± Ubuntu¿¡ git À» ¼³Ä¡ ÇØ¾ß ÇÑ´Ù. sudo apt isntall git Àº ÃÖ¼Ò ¼³Ä¡ÇÏ°í, git-all Àº git °ü·Ã ¸ðµç package (e.g. emac, apatche, °¢Á¾ perl) ¸¦ ¼³Ä¡¸¦ ÇÑ´Ù. git ÃÖ¼Ò ¼³Ä¡¸¸ ÇÏ´õ¶óµµ »ç¿ë¿¡´Â Å« ¹®Á¦´Â ¾ø´Ù. Windows ¿¡¼ git À©µµ¿ìÁî ¹öÀüÀ» ¼³Ä¡ÇÏ¸é µ¿ÀÏÇÑ command·Î »ç¿ë °¡´ÉÇÏ´Ù.
# Git Ãʱâ Á¤º¸ ±¸¼º
$ git config --global user.name "Your Name"
$ git config --global user.email "youemail@company.com"
$ git config --global core.editor vim
# Git config »óÅ ǥ½Ã $ git config --list
2.2. git clone
git cloneÀº <URL>¿¡ À§Ä¡ÇÑ Remote gitÀ» Local git À¸·Î copy ÇÏ´Â °ÍÀÌ´Ù. Git ¼º¼ººÎÅÍ ÃֽŠ¼öÁ¤ ³»¿ª±îÁö ¸ðµÎ º¹»çµÈ´Ù. git À» »ý¼ºÇϸé ./git Æú´õ¿¡¼ git head, branch Á¤µµ µîÀÌ ÀúÀåµÇ¾î ÀÖ´Ù.
2.3. git add
ÄÚµå ¼öÁ¤ ÈÄ git add . À» ½ÇÇàÇϸé stageµÈ ÆÄÀÏ ¸®½ºÆ®¸¦ Ãß°¡ÇÑ´Ù. git status·Î È®ÀÎ
2.4. git commit
stage µÈ ÆÄÀÏ (¹Ý¿µ ÆÄÀÏ)À» CommitÀ¸·Î ¸¸µç´Ù. CommitÀ» ¸¸µç push Àü¿¡ Àç ¼öÁ¤ÀÌ ÇÊ¿ä ÇÑ °æ¿ì git commit --amend ¸í·É¾î¸¦ »ç¿ëÇؼ commit id´Â º¯°æ ¾øÀÌ patchset ¸¸ ¿Ã¸± ¼ö ÀÖ´Ù.
2.5. git push
·ÎÄà ÀúÀå¼Ò¿¡ ÀÖ´Â Commit À» ¿ø°Ý ÀúÀå¼Ò (Remote repository) git¿¡ ¹Ý¿µÇÏ´Â °ÍÀÌ´Ù. git push ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, gitHub ¿¡´Â ID¿Í password¸¦ ÀÔ·ÂÇÏ¸é ¹Ý¿µµÈ´Ù.
2.6. git log
Git log¸¦ ÅëÇؼ ¼öÁ¤ ³»¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. git log¿¡¼ »ó´Ü ¼ýÀÚ°¡ commit id ÀÌ°í, git show <commit id> ´Â ÇØ´ç cocmmitÀÇ »ó¼¼ ³»¿ëÀ» È®ÀÎ ¼ö ÀÖ´Ù.
Ãâó: https://kibua20.tistory.com/16 ÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ë°ú ½ÇÁ¦ µ¿ÀÛ °á°ú´Â ºí·Î±×¸¦ È®ÀÎÇØÁÖ¼¼¿ä. |