4.ºê·£Ä¡

4-1.ºê·£Ä¡

ÇÁ·ÎÁ§Æ® ÁøÇàÀº º¸Åë Á÷¼±ÀûÀÌ¸ç ±âȹ¼­ Áö½Ã´ë·Î ÄÚµå ÀÛ¼ºÇϰí Å×½ºÆ®ÇÏ°í ¼öÁ¤ÇÏ´Â °úÁ¤ÀÇ ¿¬¼ÓÀÌ´Ù. »óȲÀ̳ª ȯ°æ¿¡ µû¶ó ¾à°£¾¿ ´Þ¶óÁö´Â ºÎºÐÀº Á¶°ÇºÎ ÄÄÆÄÀÏ µîÀ¸·Î ó¸®ÇØ °¡¸ç ¿©·¯ °¡Áö ½Ãµµ¸¦ ÇØ º¸±âµµ ÇÑ´Ù.

±×·¯³ª ±âÁ¸ ±¸Á¶¸¦ ¿ÏÀüÈ÷ ¶â¾î °íÃÄ¾ß ÇÒ Á¤µµ·Î ȹ±âÀûÀÎ ±â´ÉÀ» µµÀÔÇØ¾ß ÇÒ ¶§µµ ÀÖ°í µ¿½Ã¿¡ µÎ °¡Áö ÀÌ»óÀÇ È¯°æÀ» Áö¿øÇϵµ·Ï ÀÔüÀûÀÎ °³¹ßÀ» º´ÇàÇϱ⵵ ÇÑ´Ù. ÁøÇà ¹æ½ÄÀÌ º¹ÀâÇØÁö¸é ÇÁ·ÎÁ§Æ® Äڵ忡 Ãæ°ÝÀÌ °¡ÇØÁö´Âµ¥ ¸î °¡Áö ¿¹¸¦ µé¾î º¸ÀÚ.

 

1.µ¢Ä¡ Å« ½Ã¹üÀûÀÎ ±â´ÉÀ» Å×½ºÆ®ÇÑ´Ù. °ÔÀÓ Ä³¸¯ÅÍ¿¡ ¾Ö´Ï¸ÞÀ̼ÇÀ» ³Ö´Â´Ù°Å³ª ½ÃÁ¡À» ¹Ù²Ü ¼ö ÀÖ´Â 3Â÷¿ø È¿°ú¸¦ ³ÖÀ» ¶§´Â ±âÁ¸ ÄÚµå¿Í ´ëÆÇ ´Þ¶óÁø´Ù. ÀÌ ±â´ÉÀÌ ÁÁÀºÁö ¾Æ´ÑÁö ¸¸µé¾î ºÁ¾ß Æò°¡ÇÒ ¼ö ÀÖ¾î Å×½ºÆ® ÈÄ Àû¿ëÇϰųª ¾Æ´Ï¸é ¾Æ¿¹ Æó±âÇÒ ¼öµµ ÀÖ´Ù.

2.´Ù¸¥ ±¸Á¶¸¦ µµÀÔÇÏ¿© »õ·Î¿î °ÔÀÓÀ» ¸¸µç´Ù. Á¤Áö È­¸é¿¡¼­ ij¸¯Å͸¸ ¿òÁ÷ÀÌ´Â ¹æ½Ä¿¡ ºñÇØ ½ºÅ©·ÑÀ» ÇÏ¸é ¹è°æÀÌ °°ÀÌ ¿òÁ÷¿©¾ß ÇÑ´Ù. ±âÁ¸ °ÔÀÓÀº ±×´ë·Î °³¹ßÇϰí ÀÌ Äڵ带 ±â¹ÝÀ¸·Î ½ºÅ©·Ñ °ÔÀÓÀ» »õ·Î ¸¸µé ¼ö ÀÖ´Ù.

3.ÀÌ °ÔÀÓÀÌ ±²ÀåÈ÷ È÷Æ®¸¦ ÃÆ°í ¿£ÁøÀÇ ¼º´ÉÀÌ ÀÔÁõµÇ¾î ´Ù¸¥ ȸ»ç¿¡¼­ ±ºÄ§À» ÁúÁú È기´Ù¸é ¿£Áø¸¸ µû·Î ÆÈ ¼öµµ ÀÖ´Ù. °í°´»ç¸¶´Ù 3Â÷¿øÀ¸·Î ÇØ ´Þ¶ó°Å³ª ¸ð¹ÙÀÏ¿ëÀ¸·Î Á¦ÀÛÇØ ´Þ¶ó´Â ¿ä±¸¸¦ ÇÒ °ÍÀÌ´Ù. °¢ ¿ä±¸¿¡ ´ëÇØ »õ·Î¿î µý »ì¸²À» Â÷¸®¸é µÈ´Ù.

 

½Ã¹üÀûÀÎ ±â´ÉÀ̳ª °ú°ÝÇÑ º¯È­µµ ½ÃµµÇØ º¼ Çʿ䰡 ÀÖ°í ¼ö¿ä°¡ ÀÖ´Ù¸é ¿ÏÀüÈ÷ ´Ù¸¥ Á¦Ç°À» ¸¸µé¾î ÆÈ ¼öµµ ÀÖ´Ù. ±âÁ¸ ÇÁ·ÎÁ§Æ®¸¦ ±â¹ÝÀ¸·Î ÇÏ´õ¶óµµ ²À ¿øº»À» ÆÄ±«ÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¿øº»Àº ¿ø·¡ ÁøÇàÇÏ´ø °³¹ßÀ» °è¼Ó Çϰí ÀÌ ¿øº»À» ±âÁØÀ¸·Î »õ·Î¿î °³¹ßÀ» ½ÃÀÛÇÏ¸é µÈ´Ù.

ÀÌó·³ Àß ÁøÇàµÇ´ø È帧¿¡¼­ ¹æÇâÀ» Ʋ¾î »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ Çϳª ´õ ¸¸µå´Â °ÍÀ» ºê·£Ä¡(branch)¶ó°í ÇÑ´Ù. »Ñ¸®¿¡¼­ ÁٱⰡ ³ª¿Í À§·Î »¸´Ù°¡ Àû´çÇÑ ³ôÀ̰¡ µÇ¸é °¡Áö¸¦ »¸´Â °Íó·³ ±âÁ¸ ÇÁ·ÎÁ§Æ®¸¦ ±â¹ÝÀ¸·Î »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µå´Â °ÍÀÌ´Ù. °¡ÁöÀÇ °³¼ö´Â Á¦ÇÑÀÌ ¾ø°í ÇÊ¿äÇÒ ¶§ ¾ó¸¶µçÁö ¸¸µé ¼ö ÀÖ´Ù.

ºê·£Ä¡´Â ¿ø·¡ ÇÁ·ÎÁ§Æ®¿Í´Â º°°³ÀÇ È帧À» °¡Áø´Ù. ¾Æ¿¹ °¥¶ó¼¹±â ¶§¹®¿¡ ¿øº» ºê·£Ä¡¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê°í µ¶¸³ÀûÀÎ °³¹ßÀ» ÀÚÀ¯·Ó°Ô ÁøÇàÇÒ ¼ö ÀÖ´Ù. ºê·£Ä¡¸¦ ÁøÇàÇØ º» °á°ú ¸¶À½¿¡ µé¸é ¿øº» ºê·£Ä¡¿Í ÇÕÄ¥ ¼öµµ ÀÖ°í ¿µ ½Ã¿øÂúÀ¸¸é Æó±âÇÒ ¼öµµ ÀÖ´Ù.

¹öÀü°ü¸®ÅøÀº ´ëºÎºÐ ºê·£Ä¡¸¦ Áö¿øÇϸç ÇÁ·ÎÁ§Æ® °ü¸®ÀÇ ÇÙ½É ±â´ÉÀÌ´Ù. ºê·£Ä¡´Â È帧À» ºÐ¸®ÇÏ¿© ¿øº»À» À¯ÁöÇÑ Ã¤·Î ÀÚÀ¯·Î¿î ½Ãµµ¸¦ ÇØ º¼ ¼ö ÀÖ´Â ¸ÚÁø ±â´ÉÀÌ´Ù. ¿ø¸®¸¸ ¾Ë¸é ºÎ´ã¾øÀÌ È°¿ëÇÒ ¼ö ÀÖ´Ù. A, B, C ¼¼ °¡Áö ¹æ¹ýÀ» ¸ðµÎ ±¸ÇöÇÏ¿© Å×½ºÆ®ÇØ º¸°í ½Í´Ù¸é °¢°¢ ºê·£Ä¡¸¦ ¸¸µé¾î µ¹·Á º¸°í ±× Áß¿¡ ¸¶À½¿¡ µå´Â Çϳª¸¦ ¼±ÅÃÇÏ¸é µÈ´Ù.

4-2.scroll ºê·£Ä¡

Áö±Ý±îÁö °³¹ßÇÑ game ÇÁ·ÎÁ§Æ®¸¦ ±â¹ÝÀ¸·Î ½ºÅ©·Ñ ±â´ÉÀ» Ãß°¡ÇÑ »õ·Î¿î ºê·£Ä¡¸¦ ¸¸µé¾î º¸ÀÚ. ÀÌ´Â game ÇÁ·ÎÁ§Æ®¸¦ ¼öÁ¤ÇÏ¿© ½ºÅ©·Ñ ±â´ÉÀ» Ãß°¡ÇÏ´Â °Í°ú´Â ´Ù¸£´Ù. ±âÁ¸ÀÇ gameÀº ±×´ë·Î ³öµÎ°í ºê·£Ä¡·Î »çº»À» ¶á ÈÄ ¿©±â¿¡ ½ºÅ©·ÑÀ» Ãß°¡ÇÑ´Ù.

µÎ°³ÀÇ °³¹ß °¡Áö°¡ »ý±â¸ç ½ºÅ©·Ñ ±â´ÉÀ» ¾î¶»°Ô ±¸ÇöÇÏ´õ¶óµµ gameÀÌ ¿µÇâÀ» ¹ÞÁö´Â ¾Ê´Â´Ù. ÀüÅëÀûÀÎ ÇÁ·ÎÁ§Æ® °ü¸® ¹æ¹ýÀ¸·Î´Â game ÇÁ·ÎÁ§Æ® Æú´õ¸¦ º¹»çÇÏ¿© scroll Æú´õ¿¡ »çº»À» ¶ß°í ¿©±â¼­ °³¹ßÇÏ´Â °Í°ú ºñ½ÁÇÏ´Ù.

±×·¯³ª ±êÀº ºê·£Ä¡·Î ³ª´« ÈÄ ºê·£Ä¡³¢¸® ºñ±³Çϰųª º´ÇÕÀ» Áö¿øÇÑ´Ù´Â ¸é¿¡¼­ ¼öÁØÀÌ ´õ ³ô´Ù. ºê·£Ä¡´Â º¯È­¸¦ Àß °üÂûÇØ¾ß °³³äÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÌÈÄÀÇ ½Ç½ÀÀº ²À Á÷Á¢ ÇØ ºÁ¾ß ÇÑ´Ù. ´«À¸·Î¸¸ ºÁ¼­´Â È®½ÇÈ÷ ¾Ë±â ¾î·Æ´Ù. ÇöÀç ºê·£Ä¡ »óŸ¦ È®ÀÎÇÒ ¶§´Â ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÑ´Ù.

 

$ git branch

* main

 

ÇöÀç main ºê·£Ä¡ Çϳª¹Û¿¡ ¾ø°í ÀÌ ºê·£Ä¡°¡ Ȱ¼ºÈ­µÇ¾î ÀÖ´Ù´Â Àǹ̷Π* Ç¥½Ã°¡ ºÙ¾î ÀÖ´Ù. mainÀº git init·Î ÃʱâÈ­ÇÒ ¶§ ¸¸µé¾îÁø ±âº» ºê·£Ä¡ÀÌ¸ç ¸ðµç ÆíÁýÀº ÀÌ ºê·£Ä¡¸¦ ´ë»óÀ¸·Î ÇÑ´Ù. »õ·Î¿î ºê·£Ä¡¸¦ ¸¸µé ¶§´Â branch ¸í·É ´ÙÀ½¿¡ »õ ºê·£Ä¡ÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. scroll ºê·£Ä¡¸¦ ¸¸µé¾î º¸ÀÚ.

 

$ git branch scroll

 

soen@SoenDesk MINGW64 /c/StudyGit/game (main)

$ git switch scroll

Switched to branch 'scroll'

 

soen@SoenDesk MINGW64 /c/StudyGit/game (scroll)

$ git branch

  main

* scroll

 

ºê·£Ä¡¸¦ ¸¸µé¾ú´Ù°í ÇØ¼­ ´çÀå Å« º¯È­°¡ ¹ß»ýÇÏÁö´Â ¾ÊÀ¸¸ç ÇöÀç ºê·£Ä¡´Â ¿©ÀüÈ÷ mainÀÌ´Ù. switch ¸í·ÉÀ¸·Î Ȱ¼º ºê·£Ä¡¸¦ scroll·Î º¯°æÇÑ´Ù. ÀÌÁ¦ ºê·£Ä¡ »óŸ¦ È®ÀÎÇØ º¸¸é µÎ °³ÀÇ ºê·£Ä¡°¡ ÀÖ°í Ȱ¼º ºê·£Ä¡¿¡ *°¡ Ç¥½ÃµÇ¾î ÀÖ´Ù. ÇÁ·ÒÇÁÆ®¿¡ ÇöÀç ºê·£Ä¡°¡ (scroll)ÀÓÀ» Ç¥½ÃÇÑ´Ù.

ÀÌÈĺÎÅÍ ¼Ò½º¿¡ °¡ÇØÁö´Â ¸ðµç º¯È­´Â Ȱ¼º ºê·£Ä¡¸¦ ´ë»óÀ¸·Î ÇÑ´Ù. ±âÁ¸ ºê·£Ä¡ÀÇ ¼Ò½º¸¦ ±×´ë·Î ¹°·Á¸¸ ¹Þ¾ÒÀ¸´Ï ÀÌ »óÅ¿¡¼­ git status¸¦ Âï¾î º¸¸é ¾Æ¹« °Íµµ Ä¿¹ÔÇÒ°Ô ¾ø´Ù. game.cpp¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÏÀÚ.

 

¼Ò°³ È­¸é Ç¥½ÃÇϰí Ű ´©¸¦ ¶§±îÁö ´ë±â

for (1~3) {

    °æÄèÇÑ ¹è°æÀ½¾Ç Àç»ý ½ÃÀÛ

    while (Á×À» ¶§±îÁö) {

        ÁÖÀΰø À̵¿ - ÃßÁø ºÒ²É ±×¸²

        Àû±º À̵¿

        ÃÑ¾Ë ¹ß»ç ¹× Ãæµ¹ Á¡°Ë

        Àû±º Á×À¸¸é È¿°úÀ½

        °¡²û ´ëÀå µîÀå, ÆøÅº ¹ß»ç

        ¹è°æ È­¸é ¾Æ·¡·Î À̵¿

    }

    ¹è°æÀ½¾Ç Àç»ý Á¤Áö

}

 

¼¼ °¡Áö°¡ ¹Ù²î¾ú´Ù. ·çÇÁ ³¡¿¡ ¹è°æ È­¸éÀ» À̵¿Çϴ ó¸®¸¦ Ãß°¡ÇÏ¿© ¼¼·Î·Î ½ºÅ©·ÑÇϵµ·Ï Çß´Ù. ÁÖÀΰøÀÌ °è¼Ó ÀüÁøÇÏ´Â »óȲÀ̹ǷΠ²¿¶ûÁö¿¡ ÃßÁø ºÒ²ÉÀ» Ç¥½ÃÇÏ°í ¹è°æ À½¾Çµµ ´õ ½Å³ª´Â °É·Î ¹Ù²Ù¾ú´Ù. Ä¿¹ÔÇÑ´Ù.

 

$ git commit -am "¹è°æ È­¸é ½ºÅ©·Ñ"

[scroll ac1f9ee] ¹è°æ È­¸é ½ºÅ©·Ñ

 1 file changed, 3 insertions(+), 2 deletions(-)

 

ÀÌ Ä¿¹ÔÀº Ȱ¼º ºê·£Ä¡ÀÎ scroll ºê·£Ä¡¿¡ ±â·ÏµÈ´Ù. ·Î±×¸¦ Âï¾î º¸°í Ä¿¹Ô ÇØ½Ã ´ÙÀ½¿¡ °ýÈ£ ¾È¿¡ ÀÖ´Â Á¤º¸¸¦ À¯½ÉÈ÷ º¸ÀÚ.

 

$ git log

commit 5ca5be5655f0a07b4354260ac701cce0e5ad3b58 (HEAD -> scroll)

Author: soen <soenmaster@naver.com>

Date:   Mon Oct 28 00:04:52 2024 +0900

 

    ¹è°æ È­¸é ½ºÅ©·Ñ

 

commit 1569140a27464e362604e7849ad55c086938af08 (main)

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 23:46:06 2024 +0900

 

    ¹«½ÃÇÒ ÆÄÀÏ µî·Ï

 

¹«½ÃÇÒ ÆÄÀÏÀ» µî·ÏÇÑ °Í±îÁö´Â main ºê·£Ä¡¿¡ ´ëÇÑ º¯°æÀÌ´Ù. ¹è°æ È­¸éÀ» ½ºÅ©·ÑÇÏ´Â ±â´ÉÀº scroll ºê·£Ä¡¿¡ ±â·ÏµÇ¸ç HEAD -> scrollÀº ÇöÀç ÀÛ¾÷ À§Ä¡°¡ scroll ºê·£Ä¡ÀÓÀ» Ç¥½ÃÇÑ´Ù. ±×·¸´Ù¸é ÀÌ »óÅ¿¡¼­ mainÀÇ »óÅ´ ¾î¶²Áö ½ºÀ§ÄªÇØ º¸ÀÚ.

 

$ git switch main

Switched to branch 'main'

 

soen@SoenDesk MINGW64 /c/StudyGit/game (main)

$ git branch

* main

  scroll

 

Ȱ¼º ºê·£Ä¡°¡ mainÀ¸·Î ¹Ù²î°í ÇÁ·ÒÇÁÆ®¿¡µµ Ç¥½ÃµÈ´Ù. main ºê·£Ä¡´Â °³¹ßÀÌ ³¡³­°Ô ¾Æ´Ï°í scroll°ú´Â º°µµ·Î °è¼Ó ÁøÇàÁßÀÌ´Ù. ±êÀº ½ºÀ§ÄªÇÑ ºê·£Ä¡ÀÇ ¸¶Áö¸· ¹öÀüÀ» ¿öÅ·Æ®¸®·Î º¹»çÇÑ´Ù. ½ºÀ§ÄªÇÑ ÈÄ ¿öÅ·Æ®¸®ÀÇ game.cpp¸¦ º¸¸é ½ºÅ©·Ñ ±â´ÉÀ» ÀÛ¼ºÇϱâ ÀüÀÇ »óÅ·Πµ¹¾Æ¿Â´Ù.

ºê·£Ä¡³¢¸®´Â µ¶¸³ÀûÀ̾ ´Ù¸¥ ºê·£Ä¡¿¡¼­ ¼öÁ¤ÇÑ ³»¿ªÀº Ȱ¼º ºê·£Ä¡¿¡¼­´Â º¸ÀÌÁö ¾Ê´Â´Ù. main¿¡´Â ´ëÀåÀ» Á×ÀÏ ¶§ ÁÖÀΰø ¿·¿¡ Á¹°³ µÑÀ» ºÙ¿© ¾÷±×·¹À̵åÇÏ´Â ±â´ÉÀ» ³Ö¾î º¸ÀÚ. ±×·¡¾ß ´Ü°è°¡ ¿Ã¶ó°¥ ¶§¸¶´Ù °ÔÀÓÇÏ´Â ¸ÀÀÌ ³­´Ù.

 

¼Ò°³ È­¸é Ç¥½ÃÇϰí Ű ´©¸¦ ¶§±îÁö ´ë±â

for (1~3) {

    ¹è°æÀ½¾Ç Àç»ý ½ÃÀÛ

    while (Á×À» ¶§±îÁö) {

        ÁÖÀΰø À̵¿ - °¡¼Óµµ Àû¿ë

        Àû±º À̵¿

        ÃÑ¾Ë ¹ß»ç ¹× Ãæµ¹ Á¡°Ë

        Àû±º Á×À¸¸é È¿°úÀ½

        °¡²û ´ëÀå µîÀå, ÆøÅº ¹ß»ç

        º¸½º »ç¸Á½Ã ÁÖÀΰø¿¡ º¸Á¶ ºñÇàü ÇÕü

    }

    ¹è°æÀ½¾Ç Àç»ý Á¤Áö

}

 

Àß µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇÑ ÈÄ Ä¿¹ÔÇÑ´Ù. ºê·£Ä¡¸¦ ³ª´« ÈÄ¿¡µµ mainÀ» ÁøÇàÇÒ ¼ö ÀÖ´ÂÁö È®ÀÎÇØ º¸´Â °ÍÀÌ´Ù.

 

$ git commit -am "º¸Á¶ ºñÇàü ÇÕü"

 

ÀÌ º¯È­´Â ÇöÀç Ȱ¼º ºê·£Ä¡ÀÎ main¿¡ Àû¿ëµÇ¸ç scroll ºê·£Ä¡¿Í´Â ¹«°üÇÏ´Ù. °ú¿¬ ±×·±Áö ·Î±×¸¦ Âï¾î º¸ÀÚ.

 

$ git log

commit f16d1ac0b02cde45b71ba2521730585828a2c18a (HEAD -> main)

Author: soen <soenmaster@naver.com>

Date:   Mon Oct 28 00:08:49 2024 +0900

 

    º¸Á¶ ºñÇàü ÇÕü

 

commit 1569140a27464e362604e7849ad55c086938af08

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 23:46:06 2024 +0900

 

    ¹«½ÃÇÒ ÆÄÀÏ µî·Ï

 

¹è°æ È­¸é ½ºÅ©·Ñ¿¡ ´ëÇÑ ·Î±×´Â º¸ÀÌÁö ¾Ê°í º¸Á¶ ºñÇàü ÇÕü±îÁö¸¸ º¸ÀδÙ. scroll ºê·£Ä¡·Î ½ºÀ§ÄªÇϸé game.cpp¿¡ ¹è°æ ½ºÅ©·Ñ Äڵ尡 ´Ù½Ã ³ªÅ¸³­´Ù. ´ë½Å main¿¡¼­ ÀÛ¾÷Çß´ø ÇÕü ±â´ÉÀº º¸ÀÌÁö ¾Ê´Â´Ù. ¿©±â¿¡ Àå¾Ö¹°À» µîÀå½Ã۴ 󸮸¦ Ãß°¡ÇØ º¸ÀÚ.

 

¼Ò°³ È­¸é Ç¥½ÃÇϰí Ű ´©¸¦ ¶§±îÁö ´ë±â

for (1~3) {

    °æÄèÇÑ ¹è°æÀ½¾Ç Àç»ý ½ÃÀÛ

    while (Á×À» ¶§±îÁö) {

        ÁÖÀΰø À̵¿ - ÃßÁø ºÒ²É ±×¸²

        Àû±º À̵¿

        Àå¾Ö¹° µîÀå. ÁÖÀΰø°ú Ãæµ¹½Ã »ç¸Á

        ÃÑ¾Ë ¹ß»ç ¹× Ãæµ¹ Á¡°Ë

        Àû±º Á×À¸¸é È¿°úÀ½

        °¡²û ´ëÀå µîÀå, ÆøÅº ¹ß»ç

        ¹è°æ È­¸é ¾Æ·¡·Î À̵¿

    }

    ¹è°æÀ½¾Ç Àç»ý Á¤Áö

}

 

½ºÅ©·Ñ °ÔÀÓÀº Àû±º »Ó¸¸ ¾Æ´Ï¶ó ³¯¶ó¿À´Â µ¹¸ÍÀ̳ª ÆÄÆí°°Àº Àå¾Ö¹°µµ ÇÇÇØ¾ß ÇÑ´Ù. scroll ºê·£Ä¡¿¡ Ä¿¹ÔÇÑ´Ù.

 

$ git commit -am "Àå¾Ö¹° Ãß°¡"

 

ÀÌ·± ½ÄÀ¸·Î °¢ÀÚÀÇ ºê·£Ä¡¿¡¼­ ¼Ò½º¸¦ °è¼Ó ¼öÁ¤ÇÏ¸é µÎ ºê·£Ä¡ÀÇ game.cpp´Â Á¡Á¡ ´Þ¶óÁø´Ù. ¼­·Î ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê°í °¢ÀÚ °¥ ±æÀ» °¡´Â °ÍÀÌ´Ù.

4-3.ºê·£Ä¡ ·Î±×

main ºê·£Ä¡¸¸ ÀÖÀ» ¶§´Â ·Î±×°¡ ½Ã°£ÀÇ ¿ª¼øÀ¸·Î ³ª¿­µÇ¹Ç·Î ÀÛ¾÷ ÇöȲÀ» ½±°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ºê·£Ä¡´Â Ä¿¹ÔÀÌ ³ª¶õÈ÷ ÁøÇàµÇ´Âµ¥´Ù ½Ã°£ ¼ø¼­°¡ µÚÁ×¹ÚÁ×À̶ó Çò°¥¸°´Ù. µÎ °³¸¸ ÇØµµ º¸±â ¾î·Á¿îµ¥ ºê·£Ä¡°¡ ¼­³Ê°³Âë µÇ¸é Á¤½ÅÀ» ¸ø Â÷¸± Á¤µµ´Ù. ±×·¡¼­ ·Î±×¸¦ Àß º¸´Â ¹æ¹ýºÎÅÍ ÀÍÇô¾ß ÇÑ´Ù.

git log ¸í·ÉÀº Ȱ¼º ºê·£Ä¡ÀÇ Ä¿¹Ô¸¸ º¸¿©ÁØ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ÃѰýÇÏ´Â ÀÔÀå¿¡¼­´Â °¢ ºê·£Ä¡°¡ ¾î¶² ½ÄÀ¸·Î ÁøÇàµÇ°í ÀÖ´ÂÁö ÇÑ´«¿¡ º¼ Çʿ䰡 ÀÖ´Ù. --brancehs ¿É¼ÇÀº ÇöÀç ºê·£Ä¡ »Ó¸¸ ¾Æ´Ï¶ó ºê·£Ä¡º° Ä¿¹ÔÀ» ¸ðµÎ º¸¿©ÁØ´Ù. Àüü ·Î±×¸¦ »ó¼¼È÷ º¸¸é ³Ê¹« º¹ÀâÇÏ´Ï --oneline°ú ÇÔ²² ¾²´Â °ÍÀÌ ÁÁ´Ù.

 

$ git log --oneline --branches

f052a4f (HEAD -> scroll) Àå¾Ö¹° Ãß°¡

f16d1ac (main) º¸Á¶ ºñÇàü ÇÕü

5ca5be5 ¹è°æ È­¸é ½ºÅ©·Ñ

1569140 ¹«½ÃÇÒ ÆÄÀÏ µî·Ï

 

Áö±ÝÀº scroll ºê·£Ä¡¿¡¼­ ÀÛ¾÷ÁßÀÌÁö¸¸ main¿¡ Ä¿¹ÔÇÑ °Íµµ °°ÀÌ º¸¿© ÁØ´Ù. ÀÌ ¸ñ·ÏÀ» º¸¸é ¾î´À ºê·£Ä¡¿¡¼­ ¾î¶² ÀÛ¾÷À» ÁøÇàÇϰí ÀÖ´ÂÁö ½Ã°£¿ª¼øÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.

-- graph ¿É¼ÇÀº ºê·£Ä¡°£ÀÇ Ä¿¹Ô °ü°è¸¦ ±×·¡ÇÁ ÇüÅ·Πº¸¿©ÁØ´Ù. ¾î´À ±â´É±îÁö ±¸ÇöÇÏ°í °¥¶óÁ³´ÂÁö, ÀÌÈÄ¿¡ ¾î¶² ¼øÀ¸·Î ÁøÇàÇß´ÂÁö º¼ ¼ö ÀÖ´Ù. ºê·£Ä¡°£ÀÇ °ü°è¸¦ º¸´Â °ÍÀ̹ǷΠ--brancehs ¿É¼Ç°ú ÇÔ²² »ç¿ëÇØ¾ß ÇÑ´Ù.

 

$ git log --branches --oneline --graph

* f052a4f (HEAD -> scroll) Àå¾Ö¹° Ãß°¡

* 5ca5be5 ¹è°æ È­¸é ½ºÅ©·Ñ

| * f16d1ac (main) º¸Á¶ ºñÇàü ÇÕü

|/

* 1569140 ¹«½ÃÇÒ ÆÄÀÏ µî·Ï

 

ºñ·Ï ÅØ½ºÆ® È­¸é¿¡¼­ Á÷¼±À¸·Î Ç¥ÇöÇÏÁö¸¸ ºê·£Ä¡°£ÀÇ ±â´É Ãß°¡ »óȲÀ» ¾î´À Á¤µµ ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ±×·¡ÇÁ Ç¥ÇöÀ» À§ÇØ Ä¿¹ÔÇÑ ¼ø¼­¿Í´Â ¾à°£ ´Ù¸£°Ô Ç¥½ÃµÇ´Âµ¥ »ç½Ç ºê·£Ä¡°£¿¡´Â Ä¿¹ÔÇÑ ¼ø¼­°¡ Áß¿äÇÏÁö ¾Ê´Ù.

main¿¡¼­ ¹«½ÃÇÒ ÆÄÀÏ µî·Ï ÀÌÈÄ scroll ºê·£Ä¡·Î °¥¶óÁ® ½ºÅ©·Ñ ±â´É°ú Àå¾Ö¹° Ãß°¡ ±â´ÉÀÌ µé¾î°¬°í main¿¡´Â ÇÕü ±â´ÉÀÌ µé¾î°¬À½À» ¾Ë ¼ö ÀÖ´Ù. ±×·¡ÇÈÀ¸·Î ÀÌ »óÇ×À» ±×·Á º¸¸é ´ÙÀ½°ú °°´Ù.

°¥¶óÁø ÀÌÈÄ¿¡ µÎ ºê·£Ä¡´Â °¢ÀÚ °¥ ±æÀ» °¥ °ÍÀÌ¸ç ¼­·Î ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù. main¿¡ ´Ù¸¥ ±â´ÉÀ» ´õ Å×½ºÆ®ÇØ º¸°í ½ÍÀ¸¸é ºê·£Ä¡¸¦ ¶Ç ³ª´­ ¼ö ÀÖ°í scrollµµ ¸¶Âù°¡ÁöÀÌ´Ù.

ºê·£Ä¡³¢¸® ¾î¶² ±â´ÉÀÌ Ãß°¡µÇ¾ú´ÂÁö ºñ±³ÇÒ ¶§´Â A..B Çü½ÄÀ¸·Î µÎ ºê·£Ä¡¸¦ ºñ±³ÇÑ´Ù. ¼ø¼­°¡ Áß¿äÇѵ¥ A¸¦ ±âÁØÀ¸·Î B ºê·£Ä¡¿¡ Ãß°¡ ÀÛ¾÷ÇÑ ³»¿ªÀ» Ç¥½ÃÇÑ´Ù.

 

$ git log --oneline main..scroll

f052a4f (HEAD -> scroll) Àå¾Ö¹° Ãß°¡

5ca5be5 ¹è°æ È­¸é ½ºÅ©·Ñ

 

mainÀ» ±âÁØÀ¸·Î scroll¿¡´Â ¹è°æÈ­¸é ½ºÅ©·Ñ°ú Àå¾Ö¹° Ãß°¡ ±â´ÉÀÌ ´õ µé¾î°¬À½À» ¾Ë ¼ö ÀÖ´Ù. ¼ø¼­¸¦ ¹Ý´ë·Î ¹Ù²ã º¸ÀÚ.

 

$ git log --oneline scroll..main

f16d1ac (main) º¸Á¶ ºñÇàü ÇÕü

 

scroll ºê·£Ä¡¸¦ ±âÁØÀ¸·Î main¿¡´Â ÇÕü ±â´ÉÀÌ ´õ µé¾î°¬´Ù. ÀÌ·¸°Ô ºñ±³ÇØ º¸¸é °¥¶óÁø ÈÄ Ãß°¡ÇÑ ÀÛ¾÷ ¸ñ·ÏÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù.

4-4.ºê·£Ä¡ ½Ã³ª¸®¿À

ºÐ¸®ÇÑ ºê·£Ä¡¸¦ ³ªÁß¿¡ ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡´Â ¿©·¯ °¡Áö ½Ã³ª¸®¿À°¡ ÀÖ´Ù. ÀÏ´ÜÀ» µ¶¸³ÀûÀ¸·Î °³¹ßÇ쵂 ¿øÇÏ´Â ¸ñÀûÀ» ´Þ¼ºÇÑ ÈÄ ÁøÇà »óȲ¿¡ µû¶ó ÀÚÀ¯·Ó°Ô ÆÇ´ÜÇØ¼­ °áÁ¤ÇÏ¸é µÈ´Ù. main¿¡¼­ sub ºê·£Ä¡·Î ºÐ±âÇÑ °æ¿ì sub¸¦ ó¸®ÇÏ´Â ¸î °¡Áö ¿¹¸¦ µé¾î º¸ÀÚ.

 

1.sub¸¦ ½ÃÇè»ï¾Æ ¸¸µé¾î º¸´Ï main°ú´Â ´Ù¸£°Ô ³ª¸§´ë·Î Ȱ¿ë¼ºÀÌ ÀÖ¾î µû·Î °³¹ßÇϱâ·Î ÇÑ´Ù. Áï, ¿µ¿øÈ÷ °¥¶ó¼­´Â °ÍÀε¥ ÀÌ·± ¿¹´Â ÈçÇÏ´Ù. mysql¿¡¼­ mariadb°¡ °¥¶óÁö°í open office¿¡¼­ libre office°¡ °¥¶óÁ³´Ù. À̵éÀº ÇÑ¹Ý °¥¶ó¼± ÈÄ ´Ù½Ã ÇÕÄ¡Áö ¾Ê´Â´Ù. ´ëÇ¥ÀûÀÎ ¿¹°¡ ¸®´ª½º ¹èÆ÷ÆÇÀε¥ ÇöÀç ¼ö¹é°³ÀÇ ºê·£Ä¡·Î °¥¶óÁ® °¢ÀÚ °³¹ßÇϰí ÀÖ´Ù.

2.sub¸¦ Å×½ºÆ®ÇØ º¸´Ï Åõµ ¾Æ´Ñ ½Ãµµ¿´À½ÀÌ ¹àÇôÁ³´Ù. µÉ°Å °°¾Æ¼­ ºê·£Ä¡ µû¼­ °³¹ßÇØ ºÃ´Âµ¥ µæº¸´Ù ½ÇÀÌ ¸¹´Ù. ÀÌ °æ¿ì´Â sub¸¦ ¹Ì·Ã¾øÀÌ Æó±âÇÏ¸é µÈ´Ù. Åõµ ¾Æ´Ñ »¹ÁþÀ» Çß´õ¶óµµ main¿¡´Â ¾Æ¹«·± ÇÇÇØ°¡ ¾ø´Ù.

3.sub¿¡¼­ Å×½ºÆ®ÇÑ ±â´ÉÀÌ ¾ÈÁ¤ÀûÀ̰í ÈǸ¢ÇÑ °ÍÀ¸·Î ÆÇ¸íµÇ¾ú´Ù. ÀÌ ±â´ÉÀÌ °ú¿¬ ¾µ¸¸ÇÒ±î ¹Ý½Å¹ÝÀÇÇÏ¸ç ½ÃµµÇߴµ¥ ÃæºÐÈ÷ Á¡°ËÇØ º¸´Ï ¾µ¸¸ÇÏ´Ù. ÀÌ·± °æ¿ì´Â sub¿¡¼­ ¿Ï¼ºÇÑ ±â´ÉÀ» ´Ù½Ã main¿¡ ÇÕÄ¡´Âµ¥ À̸¦ º´ÇÕÀ̶ó°í ÇÑ´Ù.

4.Ư¼öÇÑ ¿¹·Î sub°¡ mainº¸´Ù ´õ ÈǸ¢ÇÏ°í ±¦ÂúÀº °æ¿ìµµ ÀÖ´Ù. ¹Ý¸é mainÀº °¥¼ö·Ï ¾û¸ÁÀÌ µÇ¾î °¡°í ÀÖ´Ù¸é ¾Æ¿¹ mainÀ» Æó±âÇϰí ÀÌÈÄ sub·Î °³¹ßÀ» ÁøÇàÇÒ ¼öµµ ÀÖ´Ù. ÀÌ·± »óȲÀ» ûÃâ¾î¶÷À̶ó°í ÇÑ´Ù.

 

ºê·£Ä¡ ó¸®ÀÇ °¡Àå ÈçÇÑ ¿¹´Â º´ÇÕÀÌ´Ù. »ç¿ëÇÏ´Â ³í¸®°¡ µ¶Æ¯Çϰųª °³¹ßÆÀÀÌ ´Þ¶ó ºê·£Ä¡¸¦ ºÐ¸®Çß´Ù°¡ ºê·£Ä¡¿¡¼­ ±â´É Á¡°ËÀ» ¸¶Ä¡°í ´Ù½Ã Çϳª·Î ÇÕÄ£´Ù. ¿¹¸¦ µé¾î °ÔÀÓÀÇ ±×·¡ÇÈ ºÎºÐ¸¸ ´ëÆø º¸°­Çϱâ À§ÇØ ±×·¡ÇÈ Àü¹®°¡¿¡ ºê·£Ä¡¸¦ µû ¸Ã±â°í ±× ¿ÍÁß¿¡ °ÔÀÓÀº ¿î¿µ ·ÎÁ÷¸¸ ¼öÁ¤ÇÑ´Ù. ±×·¡ÇÈ ºê·£Ä¡°¡ ÇÙ½É ±â´ÉÀ» ÈǸ¢ÇÏ°Ô ¿Ï¼ºÇØ ³õ¾ÒÀ¸¸é main¿¡ ÇÕÃÄ Àß ½á ¸ÔÀ¸¸é µÈ´Ù.

ÀÌ·¯¸é µÎ ºê·£Ä¡¸¦ º´·Ä·Î µ¹¸± ¼ö ÀÖ¾î °³¹ß ±â°£À» ´ÜÃàÇÒ ¼ö ÀÖ°í ¼­·Î °¢ÀÚÀÇ ºÎºÐ¸¸ Àü´ãÇÒ ¼ö ÀÖ´Â ÀÌÁ¡ÀÌ ÀÖ´Ù.±×·¯³ª º´ÇÕµµ ±×¸® °£´ÜÇÑ°Ô ¾Æ´Ï¶ó ÄÉÀ̽ºº°·Î ¹æ¹ýÀÌ ´Ù¸£´Ù. ÀÌÈ¥Çß´Ù Àç°áÇÕÇÏ´Â°Å´Ï ¾îÂî °£´ÜÇϰڴ°¡? ´ÙÀ½ Àý¿¡¼­ ÄÉÀ̽ºº°·Î Çϳª¾¿ ¿¬±¸ÇØ º¸ÀÚ.