»Ë»Ñ Æ÷·³
IT °³¹ßÀÚ°£ Á¤º¸¸¦ °øÀ¯ÇÏ°í ³íÀÇ°¡ ÀÌ·ç¾îÁö´Â °ø°£ÀÔ´Ï´Ù.
[±âÃÊ] Git °³³ä Á¤¸® (git »ç¿ë¹ý) 6
ºÐ·ù: TIP
À̸§: kibua20


µî·ÏÀÏ: 2020-05-31 15:57
Á¶È¸¼ö: 2566





½Ã¸®Áî°Ô½Ã±Û ¾ÆÀÌÄÜ[SW °³¹ßȯ°æ ±¸Ãà] ½Ã¸®Áî ½Ã¸®Áî¶õ?

º» °Ô½Ã±ÛÀÇ Ãâó´Â  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  ÀÔ´Ï´Ù.  ÀÚ¼¼ÇÑ ³»¿ë°ú ½ÇÁ¦ µ¿ÀÛ °á°ú´Â ºí·Î±×¸¦ È®ÀÎÇØÁÖ¼¼¿ä. 

ÃßõÇϱâ1 ´Ù¸¥ÀÇ°ß0

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 Åõ´ú$
2020-06-01 Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 ÀÕ½ÃÀ¶
2020-06-02 Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 ÄĸÍ99
2020-06-03 Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 kibua20
2020-06-03 Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 gudd
2020-07-07 * Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 ³ë±¸¹Ú»ç
2023-01-23 * Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û -¸ñ·Ïº¸±â