|
|
|
ÆÄÀ̽ã ÄÚµå·Î ¹è¿ì´Â Git&Github
|
|
|
À¯±¤¸í
¤Ó
¿µÁø´åÄÄ
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
¿¹Àü°ú Áö±ÝÀÇ °³¹ß ȯ°æ¿¡¼ °¡Àå Å« Â÷ÀÌÁ¡À» Çϳª¸¸ ²ÅÀ¸¶ó°í Çϸé, 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·Î Çù¾÷Çϱâ
½Ç¹«¸¦ ÇÒ ¶§¿Í ºñ½ÁÇÑ È¯°æÀ» ¸¸µé¾î ´Ù¼öÀÇ °³¹ßÀÚ°¡ ¿ø°ÝÀúÀå¼Ò¸¦ Áß½ÉÀ¸·Î Çù¾÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù. ±×¸®°í Çù¾÷ÇÏ¸é¼ ¹ß»ýÇÏ´Â »óȲ¿¡¼ ¿ä±äÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Â ¸í·É¾î¿Í ÆÁµéÀ» ¼Ò°³ÇÕ´Ï´Ù.
7Àå ºê·£Ä¡
ºê·£Ä¡ÀÇ »ý¼º, °ü¸®, Á¶ÀÛ ¹æ¹ýÀ» ¹è¿ö ¼Ò½ºÄÚµå °ü¸® ´É·ÂÀ» ÇÑ ´Ü°è ²ø¾î¿Ã¸± ¼ö ÀÖµµ·Ï ±¸¼ºÇÑ ÀåÀÔ´Ï´Ù. ºê·£Ä¡ÀÇ Æ¯¼ºÀ» ÀÌ¿ëÇÏ¿© ÇÑ ÀúÀå¼Ò ¾È¿¡¼ °¢°¢ ºê·£Ä¡¸¦ ¸¸µé¾î µ¿½Ã¿¡ ¼·Î ´Ù¸¥ ÀÛ¾÷À» ÇÏ°í, µÎ ºê·£Ä¡ÀÇ ³»¿ëÀ» º´ÇÕÇÏ¿© Á¤¸®ÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.
8Àå ºê·£Ä¡ ¿î¿µ Àü·«
ºÒ¿ÏÀüÇÑ ÄÚµåÀÇ º´ÇÕÀ» ¹æÁöÇÏ¿© ºê·£Ä¡ Ç°ÁúÀ» À¯ÁöÇϱâ À§ÇÑ Ç® ¸®Äù½ºÆ®(pull request), ±×¸®°í ÇÑ ÀúÀå¼Ò¾È¿¡¼ ´Ù¾çÇÑ ¿ëµµÀÇ ºê·£Ä¡¸¦ È¿°úÀûÀ¸·Î ¿î¿µÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÎ ±ê Ç÷οì(gitflow) µîÀÇ ½Ç¹«¿¡¼ ÀÚÁÖ »ç¿ëµÇ´Â ºê·£Ä¡ ¿î¿µÀü·«À» ¾Ë¾Æº¸´Â ÀåÀÔ´Ï´Ù.
-
-
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
-
-
-
|
À¯±¤¸í [Àú]
|
|
-
Ä«À̽ºÆ® Àü±â ¹× ÀüÀÚ°øÇаú¿¡¼ ¼®»çÇÐÀ§(2008)¸¦ ¸¶ÃÆ´Ù. Á¹¾÷ ÈÄ Çѱ¹Àü·Â¿¡¼ µ¥ÀÌÅͺм®°¡(2010~2020)·Î, »ï¼ºÀü±â ¼³ºñ°³¹ß¿¬±¸¼Ò¿¡¼ ¼ö¼®¿¬±¸¿ø(2021~2022)À¸·Î ±Ù¹«ÇÏ¿´´Ù. ½ÇÆк¸´Ù ¾Æ¹«°Íµµ ½ÃµµÇÏÁö ¾ÊÀº °ÍÀ» ÈÄȸÇÒ±îºÁ µÎ·Á¿ö µÚ´Ê°Ô ½ºÅ¸Æ®¾÷ ½ÃÀå¿¡ ¶Ù¾îµé¾ú´Ù. ÇöÀç ¶óÀÌÇÁ·Î±×¿Í ¸Ó½Å·¯´×À» Á¢¸ñÇÑ ÇコÄÉ¾î ¼ºñ½º °³¹ß ¾÷¹«¸¦ ´ã´çÇÏ°í ÀÖ´Ù.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|