ÅëÇÕ°Ë»ö

°Ë»ö

  • IT ÀÚ°ÝÁõ ¼öÇè¼­
    • ¿öµåÇÁ·Î¼¼¼­
    • ÄÄÇ»ÅÍȰ¿ë´É·Â
    • Á¤º¸Ã³¸®/»ç¹«ÀÚµ¿È­/Á¤º¸±â±â
    • ITQ
    • GTQ
    • ÄÄÇ»Åͱ׷¡ÇȽº
    • À¥µðÀÚÀÎ
  • ½Ç¿ë ÀÚ°ÝÁõ ¼öÇè¼­
    • Çѱ¹»ç
    • Á¶¸®/Á¦°ú/¿îÀü¸éÇã
    • ±âŸ
  • IT µµ¼­
    • ÄÄÇ»ÅÍ ÀϹÝ/Ȱ¿ë
    • »ç¹«ÀÚµ¿È­(OA)
    • À¥/ȨÆäÀÌÁö
    • ±×·¡ÇÈ/¸ÖƼ¹Ìµð¾î
    • ÇÁ·Î±×·¡¹Ö
    • ÄÄÇ»ÅͰøÇÐ
    • ¾î¸°ÀÌ ±³Àç
  • ´ÜÇົ µµ¼­
    • °¡Á¤°ú »ýȰ
    • À¯¾Æ/¾Æµ¿
    • ±âŸ
  • ½Ã¸®Áî
    • ´õ ½±°Ô ¹è¿ì±â
    • ȯ»óÀÇ ÄÞºñ
    • ´«ÀÌ ÆíÇÑ
    • ¼ÓÀü¼Ó°á
    • ºñÁÖ¾ó(Visual)
    • Çб³¿¡¼­ ÅëÇÏ´Â
    • ÀÌ°Ô ÁøÂ¥

HOME µµ¼­Á¤º¸ IT µµ¼­ ÇÁ·Î±×·¡¹Ö

New ÆÄÀ̽ã ÄÚµå·Î ¹è¿ì´Â Git&Github ÀúÀÚ À¯±¤¸í | ÆäÀÌÁö 384
ISBN 9788931467659 | Á¤°¡ 20,000 | ÃâÆÇÀÏ 2022-12-10
ÆÇ¸Åó

µµ¼­¼Ò°³

¿¹Àü°ú Áö±ÝÀÇ °³¹ß ȯ°æ¿¡¼­ °¡Àå Å« Â÷ÀÌÁ¡À» Çϳª¸¸ ²ÅÀ¸¶ó°í Çϸé, GitÀÇ »ç¿ëÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. °ú°ÅÀÇ SVN °°Àº µµ±¸¿¡ ºñÇØ, ÄÚµå °ü¸®¸¦ Á» ´õ È®½ÇÇÏ°í ÆíÇÏ°Ô ÇØ ÁÝ´Ï´Ù. ƯÈ÷ ´ë±Ô¸ð °³¹ß¿¡´Â »ç½Ç»ó »© ³õÀ» ¼ö ¾ø´Â Á¸Àç°¡ µÇ¾ú½À´Ï´Ù. ÀÌ·¸µí GitÀº Âü ÁÁÀº µµ±¸Áö¸¸ »ç½Ç Ä¡¸íÀûÀÎ ´ÜÁ¡ÀÌ Çϳª ÀÖ½À´Ï´Ù. óÀ½ Á¢ÇÏ´Â ºÐ¿¡°Ô´Â »ç¿ë¹ýÀÌ ³Ê¹« ¾î·Æ´Ù´Â Á¡ÀÔ´Ï´Ù. ±×·±µ¥ È¥ÀÚ ¹è¿ì±â¿¡´Â ³Ê¹« ¾î·Á¿ö µµ¿òÀÌ µÉ±î ÇÏ´Â ¸¶À½¿¡ µµ¼­¸¦ ±¸ÀÔÇÏ¸é ¿ÀÈ÷·Á Ã¥Àº ³Ê¹« °£´ÜÇÏ¿© ½ÇÁ¦ »ç¿ë¿¡ Âü°í°¡ ±×´ÙÁö µÇÁö ¾Ê½À´Ï´Ù. ƯÈ÷ ¾÷¹« ȯ°æ°ú´Â ³Ê¹« µ¿¶³¾îÁ® Ã¥À¸·Î´Â °¡º±°Ô ¿¬½À ÇÑ ¹ø Á¤µµ¸¸ °¡´ÉÇÑ °Í °°½À´Ï´Ù. ÀÌÇØÇϱâ Èûµç GitÀÇ ³»ºÎ ¿ø¸®¸¦ ¼³¸íÇϸ鼭µµ ½ÇÁ¦ »óȲ¿¡ ¸Â°Ô GitÀÇ ±â´ÉÀ» »ç¿ëÇÏ´Â ¹ýÀ» ¾Ë·ÁÁÖ´Â µµ¼­°¡ ÀÖÀ¸¸é ÁÁÀ» °Í °°Àºµ¥, ¾îµð ÇÑ ±Ç ¾øÀ»±î¿ä?

ÀÌ·± ºÎºÐÀ» º¸¿ÏÇÏ¿© ½ÇÁ¦ ¾÷¹«¿¡ µµ¿òÀÌ µÉ Git µµ¼­¸¦ ¸¸µé¾ú½À´Ï´Ù. GitÀÇ µ¿ÀÛ ¿ø¸®¸¦ éÅ͸¦ ÇÒ¾ÖÇÏ¿© ÀÚ¼¼È÷ ¼³¸íÇϰí, ÆÄÀ̽ãÀ¸·Î ÀÛ¼ºµÈ ¼Ò½ºÄÚµå¿Í ÇÔ²² ±â´ÉÀ» ¹è¿ó´Ï´Ù. °¢ ±â´ÉÀº ¾÷¹«»ó¿¡ ¹ú¾îÁö´Â ÀÏÀ» ÀüÁ¦·Î ¼³¸íÇϰí, »ç¿ë Áß Ãæµ¹ÀÌ ÀϾ °æ¿ì ÇØ°á ¹æ¹ýµµ ²Ä²ÄÈ÷ ¼³¸íÇß½À´Ï´Ù. ¶ÇÇÑ ÀÌÇØ¸¦ µ½±â À§ÇØ ¸í·É¾î¸¦ »ç¿ëÇÒ ¶§¸¶´Ù ÇöÀç »óȲÀ» ¹¦»çÇÏ´Â ±×¸²À» ÷ºÎÇÏ¿´½À´Ï´Ù.

Ãʹݿ¡´Â ½Ç½À ȯ°æÀ» ±¸ÃàÇϰí, ¼Ò½ºÆ®¸®·Î °£´ÜÇÏ°Ô GitÀ» üÇèÇÕ´Ï´Ù. ±× µÚ GitÀÇ °³³äÀ» È®½ÇÈ÷ Àâµµ·Ï GitÀÇ µ¿ÀÛ ¿ø¸®¿¡ °üÇØ ²Ä²ÄÈ÷ ¼³¸íÇÕ´Ï´Ù. 4ÀåºÎÅÍ´Â ÆÄÀ̽ã ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ¡®°³¹ßÀÚ A¡¯ÀÇ °³¹ß ÀÏÁö¸¦ µû¶ó°¡¸ç ±×¿¡ ¸Â´Â Git ¸í·É¾î¸¦ Â÷±ÙÂ÷±Ù ÀÍÈù µÚ Github¿Í °ü·ÃµÈ ±â´ÉÀ¸·Î ´Ù¸¥ °³¹ßÀÚ¿Í Çù¾÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°í ¹ß»ýÇÏ´Â ¹®Á¦µéÀ» ÇØ°áÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î´Â GitÀÇ Á¦ÀÏ Áß¿äÇÑ ±â´ÉÀÎ ºê·£Ä¡¸¦ »ý¼º, º´ÇÕ, Àç¹èÄ¡ÇÏ´Â µîÀÇ »ç¿ë¹ý°ú ±¸Ã¼ÀûÀÎ ¿î¿µ Àü·«À» ¼Ò°³ÇÕ´Ï´Ù.

1Àå ½Ç½À ȯ°æ ±¸ÃàÇϱâ
GitÀ» ¹è¿ì±â Àü¿¡ ÇÊ¿äÇÑ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¿© ȯ°æ¿ï ±¸ÃàÇÏ´Â ÀåÀÔ´Ï´Ù. Git for Windows, ¼Ò½ºÆ®¸®¿Í °°Àº Git ÇÁ·Î±×·¥À» ¼³Ä¡Çϰí Github °èÁ¤À» ¸¸µì´Ï´Ù. ÆÄÀ̽ã ÇÁ·Î±×·¥¿¡ ÇÊ¿äÇÑ È¯°æµµ ÇÔ²² ÁغñÇÕ´Ï´Ù.

2Àå ¼Ò½ºÆ®¸®·Î Git üÇèÇϱâ
´ëÇ¥ÀûÀÎ GUI ÇÁ·Î±×·¥ÀÎ ¼Ò½ºÆ®¸®(Source tree)¸¦ ÀÌ¿ëÇÏ¿© GitÀÇ ±âº»ÀûÀÎ ±â´ÉÀ»¹è¿öº¾´Ï´Ù. ÀúÀå¼Ò »ý¼º, °£´ÜÇÑ Ä¿¹Ô, ÀúÀå¼Ò °£ ³»¿ë µ¿±âÈ­ µî ¸Ç óÀ½ ¾Ë¾ÆµÎ¸é ÁÁÀ» ±âº»ÀûÀÎ ³»¿ëÀ» ½Ç¾ú½À´Ï´Ù.

3Àå GitÀÇ µ¿ÀÛ ¿ø¸®
Git ÀúÀå¼ÒÀÇ ±¸¼º°ú µ¿ÀÛ °³³äÀ» ¼³¸íÇÕ´Ï´Ù. GitÀº ºÐ»ê ó¸® ±¸Á¶·Î ¸¸µé¾îÁ® À¯¿¬Çϸ鼭µµ ¼º´ÉÀÌ ¿ì¼öÇÑ Çü»ó °ü¸® ÇÁ·Î±×·¥ÀÌÁö¸¸, ±âÁ¸ Áß¾Ó ÁýÁᫎ Çü»ó °ü¸® µµ±¸¿¡ ºñÇØ Á÷°üÀûÀÌÁö ¸øÇÏ¿© óÀ½ ¹è¿ì´Â »ç¶÷µéÀÌ µ¿ÀÛ ¿ø¸®¸¦ ÀÌÇØÇÏ´Â µ¥ ¾î·Á¿òÀ» °Þ°ï ÇÕ´Ï´Ù. 3Àå¿¡¼­ GitÀÇ µ¶Æ¯ÇÑ ÀÛ¾÷ ¿µ¿ª°ú ÆÄÀÏ ¹× ÀÌ·Â °ü¸® ¹æ½ÄÀ» È®½ÇÇÏ°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï µ¿ÀÛ ¿ø¸®¸¦ ²Ä²ÄÈ÷ ¼³¸íÇÏ¿´½À´Ï´Ù..

4Àå Git ±âº» ¸í·É¾î
¼Ò±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¸¦ ÁغñÇÏµí ·ÎÄà PC¿¡ Git ÀúÀå¼Ò¸¦ »ý¼ºÇؼ­ Git ¸í·É¾î Áß¿¡¼­µµ ÀÚÁÖ »ç¿ëµÇ°í ÇʼöÀûÀ¸·Î ¾Ë¾Æ¾ß ÇÏ´Â ¸í·É¾îµéÀ» ¹è¿ì´Â ÀåÀÔ´Ï´Ù. 4ÀåºÎÅÍ´Â CLI ȯ°æ¿¡¼­ ¸í·É¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ¼Ò°³ÇÕ´Ï´Ù.

5Àå Github¿Í ÇÔ²² »ç¿ëÇϱâ
·ÎÄÃÀúÀå¼Ò¿Í Github¸¦ ¿¬°èÇÏ¿© »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. Github °èÁ¤À¸·Î ¿ø°ÝÀúÀå¼Ò¸¦ »ý¼ºÇϰí Áö±Ý±îÁö ·ÎÄà PC¿¡¼­ ÀÛ¾÷Çß´ø ÀúÀå¼Ò¿Í ¿¬°èÇÑ µÚ ÀÛ¾÷ ³»¿ëÀ» Github¿¡ ¾÷·ÎµåÇÏ´Â ¹æ¹ý, ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ëÀ» ·ÎÄÃÀúÀå¼Ò·Î ´Ù¿î·ÎµåÇÏ´Â ¹æ¹ýÀ» ½Ç½ÀÇÕ´Ï´Ù. ÀÌ °úÁ¤¿¡¼­ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â Git ¸í·É¾îµµ ÇÔ²² ¼Ò°³ÇÕ´Ï´Ù.

6Àå Github·Î Çù¾÷Çϱâ
½Ç¹«¸¦ ÇÒ ¶§¿Í ºñ½ÁÇÑ È¯°æÀ» ¸¸µé¾î ´Ù¼öÀÇ °³¹ßÀÚ°¡ ¿ø°ÝÀúÀå¼Ò¸¦ Áß½ÉÀ¸·Î Çù¾÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù. ±×¸®°í Çù¾÷Çϸ鼭 ¹ß»ýÇÏ´Â »óȲ¿¡¼­ ¿ä±äÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Â ¸í·É¾î¿Í ÆÁµéÀ» ¼Ò°³ÇÕ´Ï´Ù.

ÀúÀÚ¼Ò°³

À¯±¤¸í
Çѱ¹°úÇбâ¼ú¿ø(KAIST) Àü±â ¹× ÀüÀÚ°øÇÐ ¼®»ç(2008),
Çѱ¹Àü·Â µ¥ÀÌÅÍ»çÀ̾𽺿¬±¸¼Ò Â÷Àå(2010~2020),
»ï¼ºÀü±â ¼³ºñ±â¼ú¿¬±¸¼Ò ¼ö¼®¿¬±¸¿ø(2021~2022)

Ä«À̽ºÆ® Àü±â ¹× ÀüÀÚ°øÇаú¿¡¼­ ¼®»çÇÐÀ§¸¦ ¸¶ÃÆ´Ù. Á¹¾÷ ÈÄ Çѱ¹Àü·Â¿¡¼­ µ¥ÀÌÅͺм®°¡·Î, »ï¼ºÀü±â ¼³ºñ°³¹ß¿¬±¸¼Ò¿¡¼­ ¼ö¼®¿¬±¸¿øÀ¸·Î ±Ù¹«ÇÏ¿´´Ù. ½ÇÆÐº¸´Ù ¾Æ¹«°Íµµ ½ÃµµÇÏÁö ¾ÊÀº °ÍÀ» ÈÄȸÇÒ±îºÁ µÎ·Á¿ö µÚ´Ê°Ô ½ºÅ¸Æ®¾÷ ½ÃÀå¿¡ ¶Ù¾îµé¾ú´Ù. ÇöÀç ¶óÀÌÇÁ·Î±×¿Í ¸Ó½Å·¯´×À» Á¢¸ñÇÑ ÇコÄÉ¾î ¼­ºñ½º °³¹ß ¾÷¹«¸¦ ´ã´çÇϰí ÀÖ´Ù.

¸ñÂ÷

1Àå ½Ç½À ȯ°æ ±¸ÃàÇϱâ
1 Git / ¼Ò½ºÆ®¸® ¼³Ä¡Çϱâ
1.1 Git for windows
1.2 ¼Ò½ºÆ®¸®
2 °è»ê±â ÇÁ·Î±×·¥ °³¹ß ȯ°æ ±¸ÃàÇϱâ
2.1 ÆÄÀ̽ã°ú pip
2.2 PyQt5
2.3 VS Code
3 Github °¡ÀÔÇϱâ
3.1 Github °èÁ¤ »ý¼º

2Àå ¼Ò½ºÆ®¸®·Î Git üÇèÇϱâ
1 ÀúÀå¼Ò »ý¼ºÇϱâ
1.1 ¿ø°ÝÀúÀå¼Ò »ý¼ºÇϱâ
1.2 ·ÎÄÃÀúÀå¼Ò »ý¼ºÇϱâ
2 ·ÎÄÃÀúÀå¼Ò¿¡¼­ ÀÌ·Â °ü¸®Çϱâ
2.1 ÆÄÀÏ ¼öÁ¤ ³»¿ë ±â·ÏÇϱâ
2.2 »õ·Î¿î ÆÄÀÏ Ãß°¡ÇÏ°í ±â·ÏÇϱâ
3 ·ÎÄÃÀúÀå¼Ò¿Í ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë ÀÏÄ¡½Ã۱â
3.1 ·ÎÄÃÀúÀå¼ÒÀÇ ³»¿ëÀ» ¿ø°ÝÀúÀå¼Ò·Î ¾÷·Îµå : Push
3.2 ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ëÀ» ·ÎÄÃÀúÀå¼Ò·Î ´Ù¿î·Îµå : Pull
4 Á¤¸®

3Àå GitÀÇ µ¿ÀÛ °³³ä
1. GitÀÇ 3°¡Áö ÀÛ¾÷ ¿µ¿ª
2. GitÀÌ °ü¸®ÇÏ´Â 3°¡Áö ÆÄÀÏ »óÅÂ
3. Á¤¸®

4Àå Git ±âº» ¸í·É¾î
1 ÀúÀå¼Ò »ý¼ºÇϱâ
1.1 ºó ÀúÀå¼Ò »ý¼ºÇϱâ
1.2 »ç¿ëÀÚ Á¤º¸ ¼³Á¤Çϱâ
1.3 Á¤¸®
2 add¿Í commit : °³¹ß ÀÌ·Â ±â·ÏÇϱâ
2.1 ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ
2.2 ù ¹øÂ° ÀÌ·Â ÀúÀåÇϱâ
2.3 µÎ ¹øÂ° ÀÌ·Â ÀúÀåÇϱâ
2.4 ¼¼ ¹øÂ° ÀÌ·Â ÀúÀåÇϱâ
2.5 Á¤¸®
3 status, log, ±×¸®°í show : ÀúÀå¼Ò »óÅÂ¿Í Ä¿¹Ô ³»¿ª È®ÀÎÇϱâ
3.1 git status
3.2 git log
3.3 git show
3.4 Á¤¸®
4 diff : ÆÄÀÏÀÇ ¼öÁ¤ ³»¿ë ºñ±³Çϱâ
4.1 ÇÁ·Î±×·¥ ¼öÁ¤Çϱâ
4.2 git diff·Î ÆÄÀÏÀÇ ¼öÁ¤µÈ ³»¿ë È®ÀÎÇϱâ
4.3 git diff·Î Ä¿¹Ô °£ÀÇ ³»¿ë ºñ±³Çϱâ
4.4 Á¤¸®
5 reset¨ç : ½ºÅ×ÀÌ¡ µÇµ¹¸®±â
5.1 ÆÄÀÏ Ãß°¡ÇÏ°í ½ºÅ×ÀÌ¡Çϱâ
5.2 git resetÀ¸·Î ÆÄÀÏ ¾ð½ºÅ×ÀÌ¡Çϱâ
5.3 Á¤¸®
6 amend : ÃÖ±Ù¿¡ ÀÛ¼ºÇÑ Ä¿¹Ô ¼öÁ¤Çϱâ
6.1 ÇöÀç »óÅ Ŀ¹ÔÇϱâ
6.2 git commit –amend·Î ÃÖ±Ù Ä¿¹Ô ¼öÁ¤Çϱâ
6.3 Á¤¸®
7 checkout : Ä¿¹Ô µÇµ¹¸®±â
7.1 ÇöÀç ÀúÀå¼ÒÀÇ »óÅ ȮÀÎÇϱâ
7.2 git checkoutÀ¸·Î Ä¿¹Ô µÇµ¹¸®±â
7.3 ÃֽŠĿ¹ÔÀ¸·Î µ¹¾Æ°¡±â
7.4 Á¤¸®
8 reset¨è : Ä¿¹Ô Ãë¼ÒÇϱâ
8.1 ÇöÀç ÀúÀå¼ÒÀÇ »óÅ ȮÀÎÇϱâ
8.2 git resetÀ¸·Î Ä¿¹Ô Ãë¼ÒÇϱâ
8.3 ¸®¼ÂÀ¸·Î Ä¿¹ÔÀÌ »èÁ¦µÈ °ÍÀϱî?
8.4 soft ¿É¼ÇÀ¸·Î git resetÇϱâ
8.5 Á¤¸®
9 reflog : HEADÀÇ ÂüÁ¶ ÀÌ·Â È®ÀÎÇϱâ
9.1 git reflog·Î ÂüÁ¶ ÀÌ·Â È®ÀÎÇϱâ
9.2 Á¤¸®
10 HEAD¿Í master
10.1 ºê·£Ä¡
10.2 HEAD¿Í ºê·£Ä¡ÀÇ °ü°è
10.3 checkout, reset ¸í·É¿¡ µû¸¥ HEADÀÇ À̵¿
10.4 Á¤¸®

5Àå Github¿Í ÇÔ²² »ç¿ëÇϱâ
1 ¿ø°ÝÀúÀå¼Ò »ý¼º°ú ¿¬µ¿
1.1 ¿ø°ÝÀúÀå¼Ò »ý¼ºÇϱâ
1.2 ¿ø°ÝÀúÀå¼Ò µî·ÏÇϱâ
1.3 ¾÷½ºÆ®¸² ¼³Á¤Çϱâ
1.4 Á¤¸®
2 push¿Í pull¨ç : ÀúÀå¼Ò·Î ¾÷·Îµå, ÀúÀå¼Ò¿¡¼­ ´Ù¿î·ÎµåÇϱâ
2.1 ·ÎÄÃÀúÀå¼ÒÀÇ ÆÄÀÏ ¼öÁ¤Çϱâ
2.2 ¼öÁ¤ ³»¿ë Ä¿¹ÔÇϱâ
2.3 git push·Î ·ÎÄÃÀúÀå¼ÒÀÇ ³»¿ë ¾÷·ÎµåÇϱâ
2.4 ¿ø°ÝÀúÀå¼ÒÀÇ ÆÄÀÏ ¼öÁ¤Çϱâ
2.5 git pull·Î ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë °¡Á®¿À±â
2.6 Á¤¸®
3 tag : ºÎ°¡ Á¤º¸ Ãß°¡Çϱâ
3.1 ÀúÀå¼Ò È®ÀÎÇϱâ
3.2 Lightweight ÅÂ±× ÀÛ¼ºÇϱâ
3.3 Annotated ÅÂ±× ÀÛ¼ºÇϱâ
3.4 ÅÂ±× È®ÀÎÇϱâ
3.5 ű׷Πüũ¾Æ¿ôÇϱâ
3.6 ÅÂ±× »èÁ¦Çϱâ
3.7 ¿ø°ÝÀúÀå¼Ò¿¡ ÅÂ±× Çª½ÃÇϱâ
3.8 Á¤¸®
4 revert : Ǫ½ÃÇÑ Ä¿¹Ô µÇµ¹¸®±â
4.1 ·ÎÄÃÀúÀå¼ÒÀÇ ÆÄÀÏ ¼öÁ¤Çϱâ
4.2 ¼öÁ¤ÇÑ ³»¿ë Ä¿¹Ô, Ǫ½ÃÇϱâ
4.3 git revert·Î Ä¿¹Ô µÇµ¹¸®±â
4.4 µÇµ¹¸° ³»¿ëÀ» Ǫ½ÃÇϱâ
4.5 Á¤¸®

6Àå Github·Î Çù¾÷Çϱâ
1 clone : ¿ø°ÝÀúÀå¼Ò º¹Á¦Çϱâ
1.1 ±âÁ¸ ·ÎÄÃÀúÀå¼Ò À̸§ ¼öÁ¤Çϱâ
1.2 git cloneÀ¸·Î ¿ø°ÝÀúÀå¼Ò ³»¿ë º¹Á¦Çϱâ
1.3 calculator_B ÀúÀå¼Ò »ç¿ëÀÚ ¼³Á¤Çϱâ
1.4 Á¤¸®
2 push¿Í pull¨è : Çù¾÷ ȯ°æ¿¡¼­ ÀÛ¾÷ ³»¿ë ¾÷µ¥ÀÌÆ®Çϱâ
2.1 °³¹ßÀÚ A : ui.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
2.2 °³¹ßÀÚ B : ctrl.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
2.3 °³¹ßÀÚ A : ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ëÀ» °¡Á®¿Í¼­ º´ÇÕÇϱâ
2.4 Á¤¸®
3 Ãæµ¹ ÇØ°áÇϱâ
3.1 °³¹ßÀÚ B : ui.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
3.2 °³¹ßÀÚ A : ui.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
3.3 °³¹ßÀÚ A : git pull ±×¸®°í Ãæµ¹ ÇØ°áÇϱâ
3.4 °³¹ßÀÚ B : git pull·Î ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë º´ÇÕÇϱâ
3.5 Á¤¸®
4 fetch¿Í merge
4.1 °³¹ßÀÚ B : ctrl.py ¼öÁ¤, Ä¿¹Ô Ǫ½ÃÇϱâ
4.2 °³¹ßÀÚ A : git fetch·Î ¿ø°ÝÀúÀå¼ÒÀÇ Á¤º¸ °¡Á®¿À±â
4.3 °³¹ßÀÚ A : git merge·Î ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë º´ÇÕÇϱâ
4.4 °³¹ßÀÚ A : ctrl.py ÆÄÀÏÀÇ sum ÇÔ¼ö ¼öÁ¤ ÈÄ Ä¿¹Ô, Ǫ½ÃÇϱâ
4.5 °³¹ßÀÚ B : ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë Ç®Çϱâ
4.6 Á¤¸®
5 blame : ÄÚµåÀÇ ¼öÁ¤ ³»¿ª È®ÀÎÇϱâ
5.1 git blameÀ¸·Î ¼Ò½º ÄÚµå ¼öÁ¤ ³»¿ª È®ÀÎÇϱâ
5.2 Á¤¸®
6 stash : ÀÛ¾÷ ³»¿ë Àӽà ÀúÀåÇϱâ
6.1 °³¹ßÀÚ A : ui.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
6.2 °³¹ßÀÚ B : ctrl.py ¼öÁ¤Çϱâ
6.3 °³¹ßÀÚ B : git stash·Î ÀÛ¾÷ ³»¿ë Àӽà ÀúÀåÇϱâ
6.4 git stash »ìÆìº¸±â
6.5 °³¹ßÀÚ B : ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë °¡Á®¿Í¼­ È®ÀÎÇϱâ
6.6 °³¹ßÀÚ B : Àӽà ÀúÀåÇÑ ³»¿ë °¡Á®¿À±â
6.7 °³¹ßÀÚ B : ÀÛ¾÷À» ¸¶¹«¸®Çϰí Ä¿¹Ô, Ǫ½ÃÇϱâ
6.8 °³¹ßÀÚ B : ÀúÀå ³»¿ë »èÁ¦Çϱâ
6.9 °³¹ßÀÚ A : ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ëÀ» ÀúÀåÇϱâ
6.10 Á¤¸®

7Àå ºê·£Ä¡
1 git branch¿Í checkout : ºê·£Ä¡ »ý¼º°ú Àüȯ
1.1 git branch·Î ºê·£Ä¡ »ý¼º, »èÁ¦Çϱâ
1.2 git checkoutÀ¸·Î ºê·£Ä¡ ÀüȯÇϱâ
1.3 »õ ºê·£Ä¡¿¡¼­ ÀÛ¾÷Çϱâ
1.4 Á¤¸®
2 merge : ºê·£Ä¡ º´ÇÕÇϱâ
2.1 ÀÛ¾÷ ºê·£Ä¡¸¦ master·Î ÀüȯÇϱâ
2.2 master ºê·£Ä¡¿¡ dev1 ºê·£Ä¡ÀÇ ÀÛ¾÷ ³»¿ë º´ÇÕÇϱâ
2.3 Á¤¸®
3 mergeÀÇ µÎ Á¾·ù : fast-forward¿Í 3-way merge
3.1 fast-forward merge
3.2 3-way merge
3.3 Á¤¸®
4 merge ¿É¼Ç : ff, no-ff, squash
4.1 fast-forward merge
4.2 non fast-forward merge
4.3 squash merge
4.4 ºê·£Ä¡ Á¤¸®Çϱâ
4.5 Á¤¸®
5 rebase : ºê·£Ä¡ Àç¹èÄ¡Çϱâ
5.1 issue1 ºê·£Ä¡ ÀÛ¾÷Çϱâ
5.2 issue2 ºê·£Ä¡ ÀÛ¾÷Çϱâ
5.3 git rebase·Î ºê·£Ä¡ Àç¹èÄ¡Çϱâ
5.4 master ºê·£Ä¡¿¡¼­ º´ÇÕÇϱâ
5.5 Á¤¸®
6 cherry-pick : ´Ù¸¥ ºê·£Ä¡ÀÇ Ä¿¹Ô Àû¿ëÇϱâ
6.1 dev1 ºê·£Ä¡ ÀÛ¾÷Çϱâ
6.2 dev2 ºê·£Ä¡ ÀÛ¾÷Çϱâ
6.3 dev2 ºê·£Ä¡ ÀÛ¾÷ : git cherry-pickÀ¸·Î ƯÁ¤ Ä¿¹ÔÀÇ ³»¿ë °¡Á®¿À±â
6.4 master ºê·£Ä¡¿¡¼­ dev2ÀÇ ³»¿ë º´ÇÕÇϱâ
6.5 »ç¿ëÇÏÁö ¾Ê´Â ºê·£Ä¡ »èÁ¦Çϱâ
6.6 Á¤¸®
7 ½Å±Ô ºê·£Ä¡ Ǫ½ÃÇϱâ
7.1 master ºê·£Ä¡ÀÇ ³»¿ë Ǫ½ÃÇϱâ
7.2 light ºê·£Ä¡ ÀÛ¾÷Çϱâ
7.3 light ºê·£Ä¡ÀÇ ÀÛ¾÷ ³»¿ë Ǫ½ÃÇϱâ
7.4 Á¤¸®

8Àå ºê·£Ä¡ ¿î¿µ Àü·«
1 pull request
1.1 °ü¸®ÀÚ¿ë ¿ø°ÝÀúÀå¼Ò »ý¼ºÇϱâ
1.2 °³¹ßÀÚ A : PC¿¡ ¿ø°ÝÀúÀå¼ÒÀÇ ³»¿ë º¹Á¦Çϱâ
1.3 °³¹ßÀÚ A : feat1 ºê·£Ä¡¿¡¼­ ui.py ¼öÁ¤, Ä¿¹Ô, Ǫ½ÃÇϱâ
1.4 °³¹ßÀÚ A : Github¿¡¼­ Ç® ¸®Äù½ºÆ® »ý¼ºÇϱâ
1.5 °ü¸®ÀÚ : Github¿¡¼­ Ç® ¸®Äù½ºÆ® ½ÂÀÎÇϱâ
1.6 °³¹ßÀÚ A : ¿ø°ÝÀúÀå¼Ò¿¡ º´ÇÕµÈ ³»¿ë °¡Á®¿À±â
2 Gitflow
2.1 GitflowÀÇ ºê·£Ä¡µé
2.2 git-flow cheatsheet
2.3 Á¤¸®

appendix
1 Git cheatsheet
2 Ä¿¹Ô ¸Þ½ÃÁö ÄÁº¥¼Ç
3 gitignore

¸ñ·Ï