2.µû¶óÇϱ⠽ǽÀ

2-1.½Ç½À Áغñ

¾î¶² ÅøÀ̵ç óÀ½ ¹è¿ï ¶§´Â ±×´ë·Î µû¶óÇØ º¸´Â ÀÛÀüÀÌ È¿À²ÀûÀÌ´Ù. ½Ç½ÀÀ» ÇÏ´Ù º¸¸é Å« Áٱ⸦ ÀÍÈú ¼ö ÀÖ°í ¹» ´õ °øºÎÇØ¾ß¾ËÁö ¸ñ·ÏÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. °£´ÜÇÑ ¸ðÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ¸ç ±êÀ¸·Î ¼Ò½º¸¦ °ü¸®ÇÏ´Â ÀýÂ÷¿Í ±âº» °³³äÀ» ÀÍÇô º¸ÀÚ.

¿©±â¼­´Â °£´ÜÇÑ ½´ÆÃ °ÔÀÓÀ» ¸¸µé¾î º¸µÇ ÁøÂ¥ ÄÚµùÀ» ÇÏÁö´Â ¾Ê°í Èä³»¸¸ ³½´Ù. °¶·¯±×, Àκ£ÀÌ´õ°°Àº °íÀü °ÔÀÓó·³ À§¿¡¼­ ³»·Á¿À´Â ÀûÀ» ½î¾Æ ¶³¾î¶ß¸®´Â °ÔÀÓÀÌ´Ù. °ÔÀÓÀº ÇÊ¿äÇÑ ±â´ÉÀ» Á÷°üÀûÀ¸·Î ÀÌÇØÇϱ⠽±°í Àû´çÈ÷ ºê·£Ä¡µµ ÇØ º¼ ¼ö ÀÖ´Ù.

 

½Ç½ÀÀ» À§ÇØ C µå¶óÀ̺êÀÇ ·çÆ®¿¡ StudyGit Æú´õ¸¦ ¸¸µç´Ù. ½Ç½À À§Ä¡¸¦ °­ÁÂ¿Í ÀÏÄ¡½ÃÄÑ¾ß È¥¶õÀÌ ´úÇÏÁö¸¸ »óȲ¿¡ µû¶ó ´Ù¸¥ Æú´õ¸¦ »ç¿ëÇØµµ »ó°üÀº ¾ø´Ù. ´Ü, ³Ê¹« ±íÀº °÷Àº °æ·Î°¡ ±æ¾î ºÒÆíÇϸç ÇѱÛÀÌ Æ÷ÇÔµÈ °æ·Î´Â ÇÇÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ ¾È¿¡ ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÒ game Æú´õ¸¦ ¶Ç ¸¸µç´Ù. ¸í·ÉÇà¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ¼øÂ÷ÀûÀ¸·Î ½ÇÇàÇÑ´Ù.

 

soen@SoenDesk MINGW64 ~

$ cd c:/

soen@SoenDesk MINGW64 /c

$ mkdir StudyGit

soen@SoenDesk MINGW64 /c

$ cd StudyGit

soen@SoenDesk MINGW64 /c/StudyGit

$ mkdir game

soen@SoenDesk MINGW64 /c/StudyGit

$ cd game

soen@SoenDesk MINGW64 /c/StudyGit/game

 

Æú´õ ¸¸µé°í ¾ÈÀ¸·Î µé¾î°¡ ¶Ç Æú´õ¸¦ ¸¸µå´Â ¸í·ÉÀÌ´Ù. gitCMD¿¡¼­ ÀÛ¾÷Çϰí ÀÖ´Ù¸é mkdir ¸í·É ´ë½Å md ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù. ¸í·ÉÇà¿¡¼­ ÀÛ¾÷ÇÏ´Â°Ô ±ÍÂú°Å³ª Àͼ÷ÇÏÁö ¾Ê´Ù¸é Ž»ö±â¿¡¼­ Æú´õ¸¦ ¸¸µé¾îµµ »ó°ü ¾ø´Ù. ÀÌ °æ¿ì ¸í·ÉÇà¿¡¼­ cd /c/StudyGit/game ¸í·ÉÀ¸·Î Æú´õ ¾ÈÀ¸·Î µé¾î°£´Ù. ÇöÀç ´ÙÀ½°ú °°ÀÌ Æú´õ¸¦ ±¸¼ºÇϰí game Æú´õ ¾ÈÀ¸·Î µé¾î¿Í ÀÖ´Â »óÅÂÀÌ´Ù.

 

game Æú´õ ¾È¿¡ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ±êÀ¸·Î °ü¸®ÇÏ´Â ½Ç½ÀÀ» ÁøÇàÇÑ´Ù. ¸ðµç Á¤º¸°¡ ÀÌ Æú´õ ¾È¿¡ ÀúÀåµÇ¹Ç·Î ¸¸¾à Áß°£¿¡ ½Ç½ÀÀ» À߸øÇ߰ųª óÀ½ºÎÅÍ ´Ù½Ã ÇØ º¸°í ½Í´Ù¸é game Æú´õ¸¦ ½Ï Áö¿ö¹ö¸®°í »õ·Î ¸¸µç ÈÄ Ã³À½ºÎÅÍ ´Ù½Ã ÇÏ¸é µÈ´Ù.

¸í·É¾î´Â ¾Ö½á ¿Ü¿ì°í Â÷ÀÌÁ¡À» Á¤È®È÷ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ±êÀº ÀÌÇØ °ú¸ñÀÌ ¾Æ´Ñ ¾Ï±â °ú¸ñÀÌ´Ù. ¸í·É¾î¸¦ ·¹ÆÛ·±½º µÚÁö°í ÀÖÀ¸¸é ½Ç¼öÇÒ À§ÇèÀÌ ³ô´Ù. ¸í·É¾î¿Í ¸í·ÉÀÇ È¿°ú°¡ ¸Ó¸®¼Ó¿¡ ¿Ïº®ÇÏ°Ô Á¤¸®µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.  ´ëÃæ ÀÐÁö ¸»°í ²À ½Ç½ÀÀ» ÇØ ºÁ¾ß ÇÑ´Ù.

2-2.µ¿ÀÛ ¹æ½Ä

ÇÁ·ÎÁ§Æ® Æú´õÀÎ gameÀ» ¿öÅ·Æ®¸®(Working Tree)¶ó°í ºÎ¸¥´Ù. ¿©±â¼­ ÄÚµù ÀÛ¾÷À» Çϸç ÇÁ·ÎÁ§Æ® Æú´õ ¾È¿¡´Â Debug, Release, res, lib µîÀÇ ¼­ºê Æú´õ°¡ °èÃþÀ» ÀÌ·ç¹Ç·Î Æ®¸®¶ó´Â ¿ë¾î¸¦ ¾´´Ù. ¿öÅ·Æ®¸®¶ó´Â ¸»À» ¾î·Æ°Ô »ý°¢ÇÒ ÇÊ¿ä¾øÀÌ ±×³É ÇÁ·ÎÁ§Æ® Æú´õ¶ó°í »ý°¢ÇÏ¸é µÈ´Ù.

¿öÅ·Æ®¸®´Â ÇÁ·ÎÁ§Æ®ÀÇ ÇöÀç »óÅÂÀ̸ç Ç×»ó ÃֽŠ¼Ò½º¸¦ °¡Áö¸ç ½Ã½Ã°¢°¢À¸·Î º¯ÇÑ´Ù. ÀÌ ¾ÈÀÇ ¼Ò½º¸¦ ½ÃÁ¡º°·Î ¹é¾÷Çϰí ÇÊ¿ä½Ã ÀÌÀü ¹öÀüÀ» ÂüÁ¶ÇÏ´Â °ÍÀÌ ¹öÀü°ü¸®ÅøÀÌ ÇÏ´Â ÀÏÀÌ´Ù. ±êÀº ¿öÅ·Æ®¸®ÀÇ ¼Ò½º¸¦ 3´Ü°è·Î °ü¸®ÇÑ´Ù.

¼Ò½º¸¦ ¹é¾÷ÇÏ´Â °÷À» ¸®ÆÄÁöÅ丮(Repository)¶ó°í Çϴµ¥ ¸»ÀÌ ±â´Ï ÀúÀå¼Ò·Î ª°Ô ¹ø¿ªÇÑ´Ù. ÀÌ ¾È¿¡ ¼Ò½º¸¦ ¹öÀüº°·Î ÀúÀåÇϴµ¥ ¹öÀü Çϳª¸¦ ÀúÀå¼Ò·Î ¿Ã¸®´Â µ¿ÀÛÀ» Ä¿¹Ô(Commit)À̶ó°í ÇÑ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇßÀ» ¶§ºÎÅÍ ÃֽйöÀü±îÁö Áß°£ ¼Ò½º°¡ ´Ù ÀúÀåµÈ´Ù. ÇÁ·ÎÁ§Æ® ±â°£ÀÌ ±æ¾îÁö¸é ÀÌ ¾ÈÀÇ ¿ë·®ÀÌ ¾î¸¶¾î¸¶ÇØÁú °ÍÀÌ´Ù.

¼öµ¿À¸·Î 1¿ù2ÀÏÀÚ.zip, ±è´ë¸®ÀÛ¾÷º».zip µîÀ¸·Î ¾ÐÃàÇÏ¿© ¿ÜÀåÇϵ忡 ÀúÀåÇÑ´Ù¸é À̶§ ¿ÜÀåÇϵ忡 ÇØ´çÇÏ´Â °÷ÀÌ ÀúÀå¼ÒÀÌ´Ù. ´Ù¸¸ ÃÖ¼ÒÇÑÀÇ ¹Ù²ï ºÎºÐ¸¸ ÀúÀåÇÏ¿© ¿ë·®À» Àý¾àÇÏ°í °Ë»ö, ºñ±³°¡ ºü¸£´Ù´Â ¸é¿¡¼­ ¿ÜÀåÇϵå¿Í´Â ÁúÀûÀ¸·Î ¼öÁØÀÌ ´Ù¸£´Ù.

±êÀº ´Ù¸¥ ¹öÀü°ü¸®Åø¿¡ ºñÇØ ¿öÅ·Æ®¸®¿Í ÀúÀå¼Ò »çÀÌ¿¡ ½ºÅ×ÀÌÁö¶ó´Â ´Ü°è¸¦ Çϳª ´õ °ÅÄ£´Ù´Â Á¡ÀÌ µ¶Æ¯ÇÏ´Ù. ½ºÅ×ÀÌÁö´Â ÀúÀå¼Ò¿¡ ¹é¾÷Çϱâ Àü¿¡ °ÅÄ¡´Â ÀÓ½ÃÀûÀÎ ´ë±â Àå¼ÒÀÌ´Ù. Áß°£¿¡ ÇÑ ´Ü°è¸¦ ´õ °ÅÄ¡¸é ¾ÈÀüÇÏ°í ´õ À¯¿¬ÇÑ °ü¸®°¡ °¡´ÉÇØÁø´Ù.

 

¢º ÃÖÁ¾ ÀúÀåÇÒ ÆÄÀÏÀ» ½ºÅ×ÀÌÁö¿¡¼­ ¼±º°ÇÒ ¼ö ÀÖ´Ù. ¾ÆÁ÷ ¹Ì°áÁ¤µÈ ÆÄÀÏÀº Àá½Ã Á¦¿ÜÇØ ³õ°í ³ª¸ÓÁö¸¸ ¹öÀü¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ´Ù.

¢º ¿©·¯ ±â´ÉÀ» µ¿½Ã¿¡ ±¸ÇöÇß´õ¶óµµ ³í¸®ÀûÀÎ ¹­À½À» ³ª´©¾î ¿Ã¸± ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ±â´ÉÀ» Ãß°¡ÇÏ´ø Áß ¹ö±×µµ ¹ß°ßÇÏ¿© ¼öÁ¤Çß´Ù¸é µÎ ¹­À½À» µû·Î ¿Ã¸®¸é µÈ´Ù.

¢º ½ºÅ×ÀÌÁö¿¡ ¿Ã·Á ³õÀº ÆÄÀϰú ¿öÅ·Æ®¸®ÀÇ ÆÄÀÏÀ» ºñ±³ÇÏ¿© ÃÖÈÄ Ä¿¹Ô ÈÄÀÇ »óÅÂ¿Í ºñ±³Çϱ⠽±´Ù. ÇÑ´Ü°è ´õ °ÅÃÄ ½ÅÁßÇÏ°Ô ÀÛ¾÷ÇÒ ¼ö ÀÖ°í ½Ç¼ö¸¦ ¹æÁöÇÑ´Ù.

 

¹¹µçÁö ÇÑ ´Ü°è¸¦ ´õ °ÅÄ¡¸é ÇÒ ¼ö ÀÖ´Â ÀÏÀÌ ´õ ¸¹¾ÆÁö°í ¼¶¼¼ÇØÁø´Ù. ¹Ý¸é ÀÛ¾÷ ÀýÂ÷°¡ ±æ¾îÁ® ºÒÆíÇÑ ¸éÀÌ ÀÖ°í º¹Àâµµ°¡ Áõ°¡ÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ºñ±³³ª º¹¿ø ÀÛ¾÷½Ã ±× ´ë»óÀÌ ¿öÅ·Æ®¸®ÀÎÁö ½ºÅ×ÀÌÁöÀÎÁ¦ Àß ±¸ºÐÇØ¾ß ÇÑ´Ù. ÀúÀå¼Ò·Î Ä¿¹ÔÇϱâ Àü¿¡ ½ºÅ×ÀÌÁö¿¡ ¸ÕÀú ¿Ã·Á¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖÁö¸¸ ÇѲ¨¹ø¿¡ ó¸®ÇÏ´Â ¿É¼Çµµ Á¦°øÇÑ´Ù.

2-3.ÀúÀå¼Ò ÃʱâÈ­

½Ç½À ÆíÀÇ»ó ÇÁ·ÎÁ§Æ® Æú´õÀÎ gameÀº Á÷Á¢ ¸¸µé¾úÁö¸¸ ½ÇÁ¦ °³¹ß¿¡¼­´Â ºñÁÖ¾ó ½ºÆ©µð¿À³ª ÀÌŬ¸³½º°°Àº ÅøÀÌ ¸¸µé¾î ÁØ´Ù. ÀÌ Æú´õ¿¡´Â ÇÁ·ÎÁ§Æ® ¼öÇà¿¡ ÇÊ¿äÇÑ ¸ðµç °ÍÀÌ °®Ãß¾îÁ® ÀÖÁö¸¸ ¾ÆÁ÷ ±êÀÌ ÀνÄÇÏ´Â ¿öÅ·Æ®¸®´Â ¾Æ´Ï´Ù.

±êÀ¸·Î °ü¸®ÇÏ·Á¸é ¿öÅ·Æ®¸® »Ó¸¸ ¾Æ´Ï¶ó ½ºÅ×ÀÌÁö³ª ÀúÀå¼Ò±îÁö °®Ãß¾î¾ß ÇÑ´Ù. ÀÌ ÀÛ¾÷À» ÃʱâÈ­¶ó°í Çϸç git init ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ÃʱâÈ­ÇÒ µð·ºÅ丮 ¾ÈÀ¸·Î À̵¿ÇÏ¿© ¸í·ÉÀ» ³»¸®¸é ÀúÀå¼Ò¸¦ ¸¸µç´Ù´Â ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ¸ç ±Ý¹æ ÃʱâÈ­°¡ ¿Ï·áµÈ´Ù.

 

soen@SoenDesk MINGW64 /c/StudyGit/game

$ git init

Initialized empty Git repository in C:/StudyGit/game/.git/

 

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

 

game µð·ºÅ丮¸¦ ¸ÕÀú ¸¸µé¾î ³õ°í ±× ¾È¿¡¼­ git init¸¦ ½ÇÇàÇߴµ¥ ÀÌ µÎ µ¿ÀÛÀ» ÇѲ¨¹ø¿¡ ó¸®ÇÒ ¼ö ÀÖ´Ù. StudyGit µð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¸é µð·ºÅ丮¸¦ ¸¸µé¸é¼­ ¹Ù·Î ÃʱâÈ­±îÁö ÇØ ÁØ´Ù.

 

soen@SoenDesk MINGW64 /c/StudyGit

$ git init game

Initialized empty Git repository in C:/StudyGit/game/.git/

 

µÎ¹ø ÀÛ¾÷ÇÒ °ÍÀ» Çѹø¿¡ ÇØ Áشٴ ¸é¿¡¼­ Æí¸®ÇÏ´Ù. ±×·¯³ª ¿ÏÀüÈ÷ °°Áö´Â ¾Ê¾Æ¼­ µð·ºÅ丮 ¾ÈÀ¸·Î µé¾î°¡´Â °Í±îÁö´Â ÇØ ÁÖÁö ¾Ê´Â´Ù. »ý¼º ¹× ÃʱâÈ­ ÈÄ cd game ¸í·ÉÀ¸·Î ¾ÈÀ¸·Î µé¾î°¡¾ß ¿ÏÀüÈ÷ °°¾ÆÁø´Ù.

init ¸í·É¿¡ ÀÇÇØ ¸¹Àº º¯È­°¡ ¹ß»ýÇÑ´Ù. Ž»ö±â·Î game Æú´õ¸¦ º¸¸é .gitÀ̶ó´Â ¼û±è Æú´õ°¡ »ý¼ºµÇ¾î ÀÖÀ¸¸ç ±× ¾È¿¡µµ º¹ÀâÇÑ ¼­ºêÆú´õ°¡ ±¸¼ºµÇ¾î ÀÖ´Ù. ±âº» »óÅ¿¡¼­´Â ¾È º¸ÀÏ ¼öµµ Àִµ¥ Ž»ö±âÀÇ º¸±âÅÇ¿¡¼­ "¼û±ä Ç׸ñ"À» üũÇÏ¸é º¸ÀδÙ. ¾î¶»°Ô »ý°å´ÂÁö ±¸°æÀ̳ª ÇØ º¸ÀÚ.

.git Æú´õ ¾È¿¡ ½ºÅ×ÀÌÁö¿Í ÀúÀå¼Ò°¡ ÀÖÀ¸¸ç ¹öÀü °ü¸®¿¡ ÇÊ¿äÇÑ ¸ðµç Á¤º¸°¡ ÀúÀåµÈ´Ù. ¿öÅ·Æ®¸® ¾È¿¡ ¹é¾÷¿ë Æú´õ¸¦ ¸¸µé¾î »ì¦ ¼û°Ü ³ù´Ù°í º¸¸é µÈ´Ù. Ãʱ⠿뷮Àº 20K·Î ¾ÆÁÖ ÀÛÁö¸¸ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇϸé ÀÌ ¾È¿¡ Á¤º¸°¡ Á¡Á¡ ´Ã¾î³­´Ù. ÀÌÀü ¹öÀüÀÇ ¹é¾÷ÀÌ ¸ðµÎ ÀÌ ¾È¿¡ µé¾î°¡¸ç ´©°¡ ¾ðÁ¦ ¾î¶»°Ô ¹Ù²Ù¾ú´ÂÁö ³¹³¹ÀÌ ±â·ÏÇÑ´Ù.

³»ºÎ ±¸Á¶´Â ±»ÀÌ ¸ô¶óµµ µÇ¸ç ±êÀÌ ¾Ë¾Æ¼­ °ü¸®ÇÑ´Ù. ¾ÐÃàµÇ¾î ÀÖ´Â Á¤º¸¶ó »ç½Ç µé¿©´Ù ºÁµµ ¹¹°¡ ¹ºÁö ºÐ°£ÇÏ±â ¾î·Æ´Ù. ¿ÀÈ÷·Á ÇԺηΠ°Çµå¸®¸é Á¤±³ÇÑ ÀúÀå ±¸Á¶°¡ ¼Õ»óµÇ¹Ç·Î ±ê¿¡°Ô ±×³É ¸Ã°ÜµÎ´Â °ÍÀÌ ÁÁ´Ù.

ÇÁ·ÒÇÁÆ®¿¡µµ º¯È­°¡ Àִµ¥ °æ·Î ³¡¿¡ (main)À̶ó´Â ºê·£Ä¡ À̸§ÀÌ Ç¥½ÃµÇ¾î ÀÖ´Ù. ¿©±â¿¡´Â ÇöÀç ºê·£Ä¡¸¦ Ç¥½ÃÇϴµ¥ ³ªÁß¿¡ ºê·£Ä¡¸¦ ¹Ù²ã °¡¸ç ÀÛ¾÷ÇÒ ¶§´Â ´Ù¸¥ ºê·£Ä¡ À̸§ÀÌ Ç¥½ÃµÈ´Ù. ÇÁ·ÒÇÁÆ®¿¡ Áö±Ý ÀÛ¾÷ÁßÀÎ À§Ä¡¿Í ºê·£Ä¡¸¦ ¸íÈ®È÷ Ç¥½ÃÇÏ¿© Çò°¥¸®Áö ¾Êµµ·Ï ÇØ ÁØ´Ù.

ÃʱâÈ­¸¦ ¿Ï·áÇÏ¸é ±êÀº ¹öÀü °ü¸®¸¦ ½ÃÀÛÇÑ´Ù. ¼Ò½º´Â °³¹ßÀÌ ÁøÇàµÊ¿¡ µû¶ó ¼ö½Ã·Î ¹Ù²ï´Ù. °³¹ßÀÚ´Â ¸ÅÀÏ ¶Ç´Â ÁÖ¿ä ±â´ÉÀ» ¿Ï¼ºÇÒ ¶§¸¶´Ù ÀúÀå¼Ò·Î Ä¿¹ÔÇÏ¿© ¹é¾÷À» ³²±ä´Ù. ¸í·É Çϳª¸¸ ³»¸®¸é º¯°æµÈ ³»¿ëÀ» ã¾Æ ÀúÀå¼Ò¿¡ °íÀÌ ¹é¾÷ÇØ µÐ´Ù. ÀúÀå¼ÒÀÇ ÀúÀå ´ë»óÀº ÇÁ·ÎÁ§Æ® ÁøÇà ´Ü°è¸¶´Ù »ý¼ºµÇ´Â ¹öÀüÀÌ¸ç °¢ ¹öÀüÀÇ ³»¿ëÀº ´Ù ´Ù¸£´Ù.

¿öÅ·Æ®¸®¿¡´Â ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ¸ðµç °ÍÀÌ ´Ù µé¾î ÀÖ´Ù. ÇÁ·ÎÁ§Æ®ÀÇ ÇöÀç ¼Ò½º´Â ¹°·ÐÀ̰í ÀÌÀü ÀÛ¾÷ ±â·Ï±îÁö ¿ÂÀüÈ÷ ±× ¾È¿¡ ǰ°í ÀÖ´Ù. ÀÌ·± µ¶¸³ÀûÀÎ »óŸ¦ ½º½º·Î ¿Ï°á(Self Contained)À̶ó°í Ç¥ÇöÇÑ´Ù. game Æú´õ¸¦ µý À§Ä¡·Î ¿Å°Üµµ ¸ðµç Á¤º¸°¡ °°ÀÌ À̵¿ÇÏ¸ç ¾ÐÃàÇØ¼­ Àü´ÞÇϸé À̷±îÁö ±×´ë·Î ³²¾Æ ÀÖ´Ù.

2-4.½ºÅ×ÀÌ¡

ÀÌÁ¦ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇØ º¸ÀÚ. °³¹ßÅø·Î ¼Ò½º¸¦ ¸¸µé°í ÄÄÆÄÀÏÇÑ ÈÄ ½ÇÇàÇØ º¸°í °á°ú¸¦ È®ÀÎÇØ ºÁ¾ß°ÚÁö¸¸ Áö±ÝÀº ½Ç½ÀÁßÀ̹ǷΠÆòÀÌÇÑ ÅØ½ºÆ®·Î ¼Ò½º¸¦ ¸¸µå´Â ô Èä³»¸¸ ³» º¸±â·Î ÇÑ´Ù. Áö±ÝÀº º¯°æµÈ ¼Ò½º¸¦ ¾î¶»°Ô °ü¸®ÇÒ °ÍÀΰ¡¸¸ ½Ç½ÀÇÏ¸é µÇ´Ï ³»¿ëÀÌ Áß¿äÇÑ°Ç ¾Æ´Ï´Ù.

¿©±â¼­´Â ¸Þ¸ðÀåÀ» »ç¿ëÇߴµ¥ VSCode³ª NotePad++ °°Àº Áñ°Ü ¾²´Â ÆíÁý±â¸¦ »ç¿ëÇØµµ »ó°ü¾øÀ¸¸ç ¾î·°Å³ª °ü¸® ´ë»óÀÎ ÆÄÀÏÀ» »ý¼ºÇÏ¿© ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇϴ ô¸¸ ÇÏ¸é µÈ´Ù. ¸ÞÀÎ ¼Ò½º ÆÄÀÏÀÎ game.cpp ÆÄÀÏÀ» ¸¸µé°í ÀÌ ¾È¿¡ ´ÙÀ½ ¼Ò½º¸¦ ÀÛ¼ºÇÑ´Ù. °ÔÀÓÀ» ÁøÇàÇÏ´Â Äڵ带 ÀÇ»ç ÄÚµå·Î Ç¥ÇöÇß´Ù. whileÀº Á¶°ÇÀÌ ¸¸Á·ÇÒ ¶§±îÁö ¹Ýº¹ÇÏ´Â Á¦¾î¹®À̸ç ÁÖÀΰøÀÌ »ì¾Æ ÀÖ´Â µ¿¾È °ÔÀÓÀ» ÁøÇàÇÑ´Ù.

ÆíÁý±â¸¦ µû·Î ½ÇÇàÇÏ´Â°Ô ±ÍÂúÀ¸¸é ¸í·ÉÇà ¾È¿¡¼­ vim game.cpp ¸í·ÉÀ¸·Î ½ºÅ©¸° ÆíÁý±â¸¦ ¿­°í ¹Ù·Î ÆíÁýÇÒ ¼öµµ ÀÖ´Ù. vimÀº °ü¸® ¸ðµå·Î ¿­¸®¹Ç·Î i³ª a¸¦ ´©¸£°í ÀÔ·ÂÀ» ½ÃÀÛÇϸç ÀúÀåÇÒ ¶§´Â Esc¸¦ ´©¸£°í :wq¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù.

bash¿¡ ÅëÇյǾî ÀÖ´Â ÆíÁý±â¿©¼­ ¸í·ÉÇàÀ» ¶°³ªÁö ¾Ê°í ÆíÁýÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù. ±×·¯³ª ´ÜÃà۰¡ º¹ÀâÇØ ¹è¿ì±â ¾î·Á¿ì¸ç ÇÑ±Û È¯°æ°úµµ Àß ¸ÂÁö ¾Ê´Ù. ¸Þ¸ðÀåÀº °³ÇàÀÌ CR/LFÀε¥ ºñÇØ vimÀº °³ÇàÀÌ LF¸¸À¸·Î µÇ¾î ÀÖ¾î Å©±â°¡ ¾à°£ ÀÛ´Ù. ³»¿ë»óÀÇ Â÷ÀÌ´Â ¾øÁö¸¸ À©µµ¿ì ȯ°æ¿¡¼­´Â °³Çà Äڵ带 ¹Ù²Ù°Ú´Ù´Â ±ÍÂúÀº °æ°í°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. À¢¸¸ÇÏ¸é ¼Õ¿¡ ÀÍÀº ÆíÁý±â¸¦ ¾²´Â °ÍÀÌ ¹«³­ÇÏ´Ù.

¼Ò½º ³»¿ëÀº ÁÖÀΰø°ú Àû±ºÀÌ ÃѾËÀ» ÁÖ°í ¹ÞÀ¸¸ç °ÔÀÓÀ» ÁøÇàÇÏ´Â ÀýÂ÷¸¦ ±Û·Î ´ëÃæ ÀûÀº °ÍÀε¥ ½ÇÁ¦ Äڵ带 ÀÛ¼ºÇß´Ù°í Ä¡ÀÚ. game.cpp ¼Ò½º ÆÄÀÏÀ» ¸¸µé±â¸¸ ÇßÁö ¾ÆÁ÷ ¹é¾÷ÇÏÁö´Â ¾Ê¾ÒÀ¸¹Ç·Î ¹öÀüÀº ¾Æ´Ï´Ù. ÇöÀç »óŰ¡ ¾î¶²Áö status ¸í·ÉÀ¸·Î È®ÀÎÇØ º¸ÀÚ. ¸Þ½ÃÁö°¡ ¿µ¹®À¸·Î ³ª¿À´Âµ¥´Ù Ãà¾àÀûÀ̶ó Àß Àоî¾ß ÇÑ´Ù.

 

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

$ git status

On branch main

 

No commits yet

 

Untracked files:

  (use "git add <file>..." to include in what will be committed)

        game.cpp

 

nothing added to commit but untracked files present (use "git add" to track)

 

ÇöÀç main ºê·£Ä¡¿¡¼­ ÀÛ¾÷ÁßÀÌ¸ç ¾ÆÁ÷ Ä¿¹ÔÇÒ °Ô ¾ø´Ù. ´ë½Å untracked ÆÄÀÏÀÌ Çϳª ¹ß°ßµÇ¾ú´Âµ¥ game.cpp´Â ¿öÅ·Æ®¸®¿¡´Â Á¸ÀçÇÏÁö¸¸ ±êÀÌ ÃßÀûÇϰí ÀÖÁö ¾ÊÀº »óÅÂÀÌ´Ù. °ýÈ£¾È¿¡´Â ªÁö¸¸ ÇÙ½ÉÀûÀÎ µµ¿ò¸»ÀÌ Ç¥½ÃµÇ¾î ÀÖ´Ù.

¹é¾÷ÇÏ·Á¸é ¸ÕÀú add ¸í·ÉÀ¸·Î ½ºÅ×ÀÌÁö¿¡ ¿Ã·Á¾ß ÇÑ´Ù. add ¸í·É ÀÚü´Â º° Ãâ·ÂÀÌ ¾øÀ¸¹Ç·Î ½ÇÇà ÈÄ status·Î »óŸ¦ ´Ù½Ã È®ÀÎÇØ ºÁ¾ß ÇÑ´Ù. ¹è½Ã´Â ÀÌÀü¿¡ ³»·È´ø ¸í·ÉÀ» ±â¾ïÇϰí ÀÖÀ¸¹Ç·Î À§ÂÊ È­»ìÇ¥¸¦ ´­·¯ git status ¸í·ÉÀ» Àç½ÇÇàÇÏ¸é µÈ´Ù.

 

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

$ git add game.cpp

 

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

$ git status

On branch main

 

No commits yet

 

Changes to be committed:

  (use "git rm --cached <file>..." to unstage)

        new file:   game.cpp

 

¸Þ½ÃÁö°¡ ¾î¶»°Ô ¹Ù²î¾ú´ÂÁö º¸ÀÚ. Changes to be committed´Â Ä¿¹ÔÇÒ º¯È­°¡ »ý°å´Ù´Â ¶æÀÌ´Ù. Untracked ¿´´ø game.cpp°¡ Ä¿¹Ô ´ë±â »óÅ·Π¹Ù²î¾ú´Ù.

ÆÄÀÏÀ» ½ºÅ×ÀÌÁö¿¡ ¿Ã¸®¸é ÀÌÈÄ ±êÀº ÀÌ ÆÄÀÏÀÇ º¯È­¸¦ ÃßÀûÇϸç Ä¿¹Ô ´ë»óÀÎÀÌ ¾Æ´ÑÁö ÆÇ´ÜÇÑ´Ù. Áï, Ç×»ó »óŸ¦ ÃßÀûÇÑ´Ù.

2-5.Ä¿¹Ô

ÆÄÀÏÀ» ½ºÅ×ÀÌÁö¿¡ ¿Ã¸®´Â °ÍÀº °ü¸® ´ë»óÀ¸·Î ÁöÁ¤ÇÑ´Ù´Â ¶æÀÌÁö ¾ÆÁ÷ ÀúÀå¼Ò·Î ¿Ã¸° °ÍÀº ¾Æ´Ï´Ù. ½ºÅ×ÀÌÁö¿¡ ÀÖ´Â ÆÄÀÏÀ» ÀúÀå¼Ò¿¡ ¿Ã¸± ¶§´Â commit ¸í·ÉÀ» »ç¿ëÇÑ´Ù. commitÀº È®Á¤À̶ó´Â ¶æÀε¥ ÇÁ·ÎÁ§Æ® Áß°£¿¡ ¹é¾÷ÀÌ ÇÊ¿äÇÒ¸¸Å­ ±â´ÉÀ» ¿Ï¼ºÇßÀ» ¶§ ¹öÀüÀ¸·Î È®Á¤ÇÏ¿© ÀúÀåÇ϶ó´Â ¸í·ÉÀÌ´Ù.

commit ¸í·ÉÀ» ³»¸± ¶§´Â -m ¿É¼ÇÀ¸·Î Ä¿¹Ô ³»¿ëÀ» ¼³¸íÇÏ´Â ¸Þ½ÃÁö¸¦ ÀÛ¼ºÇÑ´Ù. ÀÌ ¸ÞÁö½Ã´Â ¾î¶² º¯°æÀ» Çß´ÂÁö ¿ä¾àÀûÀ¸·Î ¼³¸íÇϴµ¥ ´Ù¸¥ °³¹ßÀÚ°¡ Âü°íÇÒ ¼ö ÀÖµµ·Ï °¡±ÞÀû »ó¼¼È÷ ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù. -m ¿É¼ÇÀ» »ý·«ÇÏ¸é ±âº» ÆíÁý±âÀÎ ¸Þ¸ðÀåÀÌ µû·Î ¿­¸®¸ç ¸Þ½ÃÁö ÀÔ·ÂÀ» ¿ä±¸ÇÑ´Ù.

¿©±â¿¡ ¸ÞÁöÁö¸¦ ÀÔ·ÂÇϰí ÀúÀå ÈÄ ´Ý¾Æ¾ß Ä¿¹ÔÀÌ ¿Ï·áµÈ´Ù. ÆíÁý±â¸¦ ¿­¸é ¿©·¯ ÁÙµµ µÈ ´õ »ó¼¼ÇÑ ¸Þ½ÃÁö¸¦ ³²±æ ¼ö ÀÖ´Ù. ¸Þ½ÃÁö¸¦ ÀÛ¼ºÇÏÁö ¾ÊÀ¸¸é Ä¿¹ÔÀº Ãë¼ÒµÈ´Ù. Áï, ¸Þ½ÃÁö¾øÀÌ´Â Ä¿¹ÔÇÒ ¼ö ¾øµµ·Ï µÇ¾î ÀÖ´Ù. ÆíÁý±â¸¦ ¿­°í ´Ý´Â°Ô ±ÍÂúÀ¸¸é -m ¿É¼ÇÀ» ²À ºÙÀÌÀÚ.

¸Þ½ÃÁö´Â Çѱ۷εµ ÀÛ¼ºÇÒ ¼ö ÀÖ°í ±æÀÌ Á¦Çѵµ ¾ø´Ù. ±¹Á¦ÀûÀÎ ÇÁ·ÎÁ§Æ®¶ó¸é °¡±ÞÀû ¿µ¹®À¸·Î ÀÛ¼ºÇÏ´Â°Ô ¹Ù¶÷Á÷ÇÏÁö¸¸ ½Ç½ÀÁß¿¡ ÀÏÀÏÀÌ ±×·² ¼ö´Â ¾ø°í ¿µ¾î·Î º¯°æ ³»¿ëÀ» Á¤È®È÷ ±â¼úÇϱ⵵ ¾î·Á¿ì´Ï Çѱ۷ΠÀÛ¼ºÇÏÀÚ. ¸Þ½ÃÁö´Â °ø¹éÀ̳ª Ư¼ö¹®ÀÚµµ ¾µ ¼ö ÀÖÀ¸¹Ç·Î ¹Ýµå½Ã µû¿ÈÇ¥·Î °¨½Î¾ß ÇÑ´Ù.

 

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

$ git commit -m "ÇÁ·ÎÁ§Æ® ½ÃÀÛ"

[main (root-commit) 8b8c594] ÇÁ·ÎÁ§Æ® ½ÃÀÛ

 1 file changed, 6 insertions(+)

 create mode 100644 game.cpp

 

1°³ÀÇ ÆÄÀÏÀÌ ¹Ù²î¾úÀ¸¸ç 6ÁÙÀÌ »ðÀԵǾú´Ù´Â ¶æÀÌ´Ù. game.cpp°¡ µåµð¾î ½ºÅ×ÀÌÁö¿¡ ¿Ã¶ó°¡°í ÀúÀå¼Ò¿¡µµ ¹é¾÷µÇ¾î ù ¹öÀüÀÌ µÇ¾ú´Ù.

ÆÄÀÏÀ» ¸¸µé¾î ½ºÅ×ÀÌÁö¿¡ µî·ÏÇϰí Ä¿¹Ô±îÁö ÇßÀ¸´Ï ÇöÀç´Â ¿öÅ·Æ®¸®, ½ºÅ×ÀÌÁö, ÀúÀå¼ÒÀÇ »óŰ¡ ¸ðµÎ °°´Ù. °ú¿¬ ±×·±Áö »óŸ¦ È®ÀÎÇØ º¸ÀÚ.

 

$ git status

On branch main

nothing to commit, working tree clean

 

´õ ÀÌ»ó Ä¿¹ÔÇÒ°Ô ¾øÀ¸¸ç ¿öÅ·Æ®¸®´Â ±ú²ýÇÏ´Ù. Áï, game.cpp´Â ÀúÀå¼Ò¿¡ ¹é¾÷µÈ °Í°ú ¿ÏÀüÈ÷ °°Àº »óÅ·Πº¯È­°¡ ¾ø´Ù´Â ¶æÀÌ´Ù. ´ÙÀ½Àº ÀúÀå¼Ò¿¡ Ä¿¹ÔÇØ ³õÀº ¸ñ·ÏÀ» È®ÀÎÇØ º¸ÀÚ. À̶§´Â log ¸í·ÉÀ» »ç¿ëÇÑ´Ù.

 

$ git log

commit 8b8c594f3b8c8a6b78da50924e8a78fe340f2f81 (HEAD -> main)

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 02:27:51 2024 +0900

 

    ÇÁ·ÎÁ§Æ® ½ÃÀÛ

 

Ä¿¹Ô Çϳª¿¡ ´ëÇÑ Á¤º¸¸¦ Ä¿¹Ô ·Î±×¶ó°í Çϴµ¥ Áö±ÝÀº Çϳª¹Û¿¡ ¾øÁö¸¸ ÇÁ·ÎÁ§Æ®°¡ ÁøÇàµÇ¸é Á¡Á¡ ½×¿©°¥ °ÍÀÌ´Ù. ÀÌ ¸Þ½ÃÁö´Â Àб⠾î·Á¿îµ¥ Á¤È®ÇÑ ¶æÀ» ´Ù ÀÌÇØÇØ¾ß ÇÑ´Ù. ù ÁÙºÎÅÍ Â÷·Ê´ë·Î ¾Ë¾Æº¸ÀÚ.

 

¢ºÄ¿¹Ô ÇØ½Ã : Ä¿¹Ô µ¿ÀÛ¿¡ ´ëÇÑ À¯ÀÏÇÑ IDÀÌ¸ç ½ÇÁ¦ ¼ýÀÚ´Â ¸Å¹ø ´Þ¶óÁø´Ù. 8b8c594... À¸·Î ½ÃÀÛÇÏ´Â 16Áø¼ö 40ÀÚ¸®·Î Ç¥±âÇÑ´Ù. ¹«·Á 20¹ÙÀÌÆ®(=160ºñÆ®)³ª µÇ´Â ¹«Áö¸·ÁöÇÏ°Ô Å« ¼öÀ̸ç Àü¼¼°è¿¡¼­ ¼ö¸¸¸íÀÇ °³¹ßÀÚ°¡ ¼ö½Ã·Î Ä¿¹ÔÇØµµ Àý´ë Áߺ¹µÇÁö ¾Ê´Â ¼öÀÌ´Ù. ³Ê¹« ±æ¾î ºÒÆíÇѵ¥ ½ÇÁ¦·Î ¾µ ¶§´Â 7ÀÚ¸®±îÁö¸¸ ¾²¸é µÈ´Ù.

¢º HEAD : Çìµå´Â ÇöÀç ¼öÁ¤ÁßÀÎ ¹öÀüÀ̶ó´Â ¶æÀε¥ ÇÁ·ÎÁ§Æ® ¼öÇà È帧»óÀÇ Ä¿¼­¶ó°í »ý°¢ÇÏ¸é µÈ´Ù. HEAD -> mainÀº ÇöÀç ¸ÞÀÎÀÇ ÃÖ»ó´Ü¿¡¼­ ÀÛ¾÷ÁßÀ̶ó´Â ¶æÀÌ´Ù. ³ªÁß¿¡ ºê·£Ä¡°¡ »ý±â¸é ¾îµð¿¡¼­ ÀÛ¾÷ÁßÀÎÁö Çò°¥¸± ¼ö ÀÖ¾î ÀÛ¾÷ À§Ä¡¸¦ º¸¿©ÁØ´Ù.

¢º Author : ´©°¡ º¯°æÇß´ÂÁö Ç¥±âÇÑ´Ù. ÀÌ Á¤º¸¸¦ ±â·ÏÇϱâ À§ÇØ Ãʱ⿡ »ç¿ëÀÚ µî·ÏÀ» ÇÑ °ÍÀÌ´Ù. À̸§°ú ¸ÞÀÏ ÁÖ¼Ò°¡ °°ÀÌ Ç¥±âµÈ´Ù. ¿©·¯ »ç¶÷ÀÌ Âü¿©ÇÏ´Â ÇÁ·ÎÁ§Æ®¶ó¸é À̸¦ º¸°í Ä¿¹ÔÇÑ »ç¶÷¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³»°Å³ª ±Ã±ÝÇÑ »çÇ×À» Áú¹®ÇÒ ¼ö ÀÖ´Ù.

¢ºDate : º¯°æÇÑ ½Ã°£ÀÌ´Ù. Áö¿ª ½Ã°£À¸·Î Ç¥½ÃµÇ¸ç ¿ì¸®³ª¶ó ½Ã°£Àº GMT¿¡¼­ 9½Ã°£ ´õ »¡¶ó ÀÌ Á¤º¸µµ °°ÀÌ Ç¥±âÇÑ´Ù. ±¹Á¦ÀûÀÎ ÇÁ·ÎÁ§Æ®¿¡¼­´Â Áö¿ª±îÁö ¾Ë¾Æ¾ß Á¤È®ÇÑ ½Ã°£À» ¾Ë ¼ö ÀÖ´Ù.

¢º¸Þ½ÃÁö : ÀÌ Ä¿¹Ô¿¡¼­ ¾î¶² µ¿ÀÛÀ» Çß´ÂÁö °³¹ßÀÚ°¡ ³²±ä ¸Þ½ÃÁö¸¦ º¸¿© ÁØ´Ù. ¼Ò½º¸¦ ÀÏÀÏÀÌ º¸Áö ¾Ê¾Æµµ ¸Þ½ÃÁö¸¦ º¸¸é º¯°æ »çÇ×À» ´ëÃæ ¾Ë ¼ö ÀÖ´Ù. ±×·¡¼­ Ä¿¹Ô ¸Þ½ÃÁö¸¦ »ó¼¼ÇÏ°Ô ÀÛ¼ºÇØ¾ß ÇÑ´Ù.

 

ºñ·Ï ¼Ò½º´Â Çϳª¹Û¿¡ ¾øÁö¸¸ ÇÁ·ÎÁ§Æ® Àüü¸¦ ÀúÀå¼Ò¿¡ ¾ÈÀüÇÏ°Ô ¹öÀüÀ¸·Î ¸¸µé¾î µÎ¾úÀ¸¹Ç·Î ÀÌÁ¦ ¿öÅ·Æ®¸®°¡ ¾îÂîµÇ¾îµµ »ó°ü¾ø´Ù. ¾ðÁ¦µçÁö ÀúÀå¼Ò¿¡ º¸°üÇØµÐ ¹öÀüÀ» ´Ù½Ã °¡Á®¿À°Å³ª ¿ø»ó º¹±¸ÇÒ ¼ö ÀÖ´Ù.

2-6.½ºÅ×ÀÌ¡ ÈÄ Ä¿¹Ô

°ÔÀÓÀÇ Ã¹ ¹öÀüÀ» ¸¸µé¾î Ä¿¹Ô±îÁö ¿Ï·áÇß´Ù. ÀÌÁ¦ ±â´ÉÀ» °è¼Ó È®ÀåÇØ º¸ÀÚ. ÇöÀç ¼Ò½º´Â ÁÖÀΰøÀÌ µü Çϳª¸¸ ³ª¿À°í Á×À¸¸é ³¡³ª ¹ö¸°´Ù. ÀÌ·¯¸é ³Ê¹« ½Ã½ÃÇѵ¥ 3¹ø Á¤µµ´Â ±âȸ¸¦ Áà¾ß ÇÑ´Ù. for ·çÇÁ·Î °¨½Î ÁÖÀΰø 3´ë°¡ Á×À» ¶§±îÁö °ÔÀÓÀ» ¹Ýº¹ÇÑ´Ù.

 

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

for (1~3) {

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

        ÁÖÀΰø À̵¿

        Àû±º À̵¿

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

    }

}

 

½ÇÁ¦·Î´Â ÁÖÀΰøÀÌ ÆøÆÄµÇ´Â ±×·¡ÇÈ Ã³¸®¿Í ½Ç°¨³ª´Â »ç¿îµåµµ ³ª¿Í¾ß ÇÏÁö¸¸ ¹Ýº¹¸¸ Çϵµ·Ï Çß´Ù. Áß¿äÇÑ º¯È­°¡ »ý°åÀ¸¹Ç·Î ¹öÀüÀ¸·Î Ä¿¹ÔÇÏÀÚ. ÀÌ ÆÄÀÏÀ» ÀúÀåÇÏ¸é ¿öÅ·Æ®¸®ÀÇ ¼Ò½º´Â ¹Ù²î°í ½ºÅ×ÀÌÁö¿Í ÀúÀå¼ÒÀÇ ¼Ò½º´Â ÀÌÀü »óÅ ±×´ë·ÎÀÌ´Ù.

¿öÅ·Æ®¸®ÀÇ game.cpp¸¦ ¼öÁ¤Çߴµ¥ ½ºÅ×ÀÌÁöÀÇ game.cpp´Â ¼öÁ¤ÇÑ ÀÌÀü ¹öÀüÀÌ´Ù. µû¶ó¼­ add ¸í·ÉÀ¸·Î ½ºÅ×ÀÌÁö¿¡ ¸ÕÀú ¿Ã¸° ÈÄ ÀúÀå¼Ò·Î Ä¿¹ÔÇØ¾ß ÇÑ´Ù. ¿øÄ¢ÀûÀ¸·Î´Â ´ÙÀ½ µÎ ¸í·ÉÀ» ¼øÂ÷ÀûÀ¸·Î ³»·Á¾ß ÇÑ´Ù.

 

$ git add game.cpp

$ git commit -m "ÁÖÀΰø 3´ë·Î ´Ã¸²"

 

add¿¡ ÀÇÇØ ¿öÅ·Æ®¸®ÀÇ ¼Ò½º°¡ ½ºÅ×ÀÌÁö·Î º¹»çµÇ°í commit¿¡ ÀÇÇØ ½ºÅ×ÀÌÁöÀÇ ¼Ò½º°¡ ÀúÀå¼Ò·Î ¿Ã¶ó°£´Ù. ¼Ò½º¸¦ ¼öÁ¤ÇÒ ¶§¸¶´Ù ¸Å¹ø µÎ ¸í·ÉÀ» ¹Ýº¹ÇÏ´Â °ÍÀº ³Ê¹« ±ÍÂúÀº ÀÏÀÌ´Ù. ±×·¡¼­ µÎ ¸í·ÉÀ» Çϳª·Î ÇÕÃÄ Ä¿¹ÔÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.

 

$ git commit -am "ÁÖÀΰø 3´ë·Î ´Ã¸²"

[main 7a9c088] ÁÖÀΰø 3´ë·Î ´Ã¸²

 1 file changed, 6 insertions(+), 4 deletions(-)

 

commitÀÇ -am ¿É¼ÇÀº add ¸ÕÀú ÇÑ ÈÄ message ³»¿ëÀ¸·Î Ä¿¹ÔÇÑ´Ù. ¾îÂ÷ÇÇ ½ºÅ×ÀÌÁö¸¦ °æÀ¯ÇØ¾ß Ä¿¹ÔÇÒ ¼ö ÀÖÀ¸¹Ç·Î µÎ µ¿ÀÛÀ» ÇѲ¨¹ø¿¡ ¼öÇàÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. ´Ü, ÀÌ ¸í·ÉÀº ½ºÅ×ÀÌÁö¿¡ ÀÌ¹Ì ¿Ã¸° ÆÄÀÏ¿¡ ´ëÇØ¼­¸¸ ¾µ ¼ö ÀÖÀ¸¸ç »õ·Î ¸¸µç ÆÄÀÏ¿¡´Â Àû¿ëÇÒ ¼ö ¾ø´Ù. ¹ÌÃßÀû »óÅÂÀÇ ÆÄÀÏÀº ÀÏ´Ü add¸¦ ¸ÕÀú ÇØ¾ß ÇÑ´Ù.

ÆÄÀÏ Çϳª°¡ º¯°æµÇ¾ú°í 7ÁÙ »ðÀÔÇϰí 6ÁÙÀ» »èÁ¦Çß´Ù°í º¸°íÇÑ´Ù. ½ÇÁ¦ º¯È­º¸´Ù´Â ´Ù¼Ò °úÀåµÇ°Ô Æò°¡Çϴµ¥ µé¿©¾²±â¸¦ ¼öÁ¤ÇÑ °Íµµ ¹Ù²Û °ÍÀ¸·Î º¸±â ¶§¹®ÀÌ´Ù. Ä¿¹Ô±îÁö ÇѲ¨¹ø¿¡ ´Ù ÇØ ¹ö·ÈÀ¸´Ï status¸¦ Âï¾î º¸¸é ´õ ÇÒ°Ô ¾ø´Ù°í ³ªÅ¸³­´Ù. ·Î±×¿¡´Â ¾î¶»°Ô ±â·ÏµÇ¾î ÀÖ´ÂÁö Ãâ·ÂÇØ º¸ÀÚ.

 

$ git log

commit 7a9c088d2b57d0b86eefffda86baeca7f11d4374 (HEAD -> main)

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 02:32:00 2024 +0900

 

    ÁÖÀΰø 3´ë·Î ´Ã¸²

 

commit 8b8c594f3b8c8a6b78da50924e8a78fe340f2f81

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 02:27:51 2024 +0900

 

    ÇÁ·ÎÁ§Æ® ½ÃÀÛ

 

Ä¿¹Ô ·Î±×°¡ Çϳª ´õ ´Ã¾î³µ´Ù. ·Î±×´Â Ãß°¡ÇÑ ¿ª¼øÀ¸·Î Ç¥½ÃÇϸç È­¸é»óÀÇ Á¦ÀÏ À§¿¡ ÀÖ´Â ·Î±×°¡ °¡Àå ÃÖ±Ù¿¡ ½ÇÇàÇÑ Ä¿¹ÔÀÌ´Ù. ¾ÕÀ¸·Î °è¼Ó ´Ã¾î³¯ °ÍÀÌ´Ù.

2-7.»ç¿îµå Ãß°¡

°ÔÀÓÀº ¸ð¸§Áö±â ¼Ò¸®°¡ ³ª¾ß Àç¹ÌÀÖ´Ù. ÀÌÁ¦ »ç¿îµå ±â´ÉÀ» Ãß°¡ÇØ º¸ÀÚ. »ç¿îµå´Â º°µµÀÇ ±â´ÉÀ̹ǷΠ¸ÞÀÎ ¸ðµâ¿¡¼­ Á÷Á¢ ÇÏ´Â °Íº¸´Ù´Â sound.cpp ¼Ò½º¸¦ µû·Î ¸¸µå´Â °ÍÀÌ ÁÁ´Ù. ¸Þ¸ðÀåÀ¸·Î »õ ÆÄÀÏÀ» ¸¸µé°í ´ÙÀ½ ¼Ò½º¸¦ ÀÛ¼ºÇÑ´Ù.

¹è°æ À½¾ÇÀ» Àç»ýÇÏ´Â ÇÔ¼ö¿Í È¿°úÀ½À» ³»´Â ÇÔ¼ö¸¦ ¸¸µé¾ú´Ù. °ÔÀÓ¿¡¼­´Â ÀûÀýÇÑ ½ÃÁ¡¿¡ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¼Ò¸®¸¦ Ãâ·ÂÇÏ¸é µÈ´Ù. game.cpp¿¡ »ç¿îµå¸¦ Àç»ýÇÏ´Â Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

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

for (1~3) {

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

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

        ÁÖÀΰø À̵¿

        Àû±º À̵¿

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

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

    }

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

}

 

»õ ¸ðµâ¿¡ ÇÊ¿äÇÑ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ°í ¸ÞÀο¡¼­ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏ´Â ¿¹ÀÌ´Ù. ±â´ÉÀ» Ãß°¡ÇÒ ¶§¸¶´Ù ¼Ò½º ÆÄÀϵµ °è¼Ó ´Ã¾î³­´Ù. ¿©±â±îÁö ÀÛ¾÷ÇÑ ÈÄ »óŸ¦ Ãâ·ÂÇØ º¸ÀÚ.

 

$ git status

On branch main

Changes not staged for commit:

  (use "git add <file>..." to update what will be committed)

  (use "git restore <file>..." to discard changes in working directory)

        modified:   game.cpp

 

Untracked files:

  (use "git add <file>..." to include in what will be committed)

        sound.cpp

 

no changes added to commit (use "git add" and/or "git commit -a")

 

game.cpp´Â ¿öÅ·Æ®¸®¿¡¼­ ¼öÁ¤ÇßÁö¸¸ ¾ÆÁ÷ ½ºÅ×ÀÌÁö¿¡´Â ¿Ã¸®Áö ¾Ê¾Æ Ä¿¹Ô Áغñ°¡ ¾ÈµÈ »óÅÂÀÌ´Ù. sound.cpp´Â »õ·Î ¸¸µç ÆÄÀÏÀ̶ó ¹ÌÃßÀû »óÅÂÀÌ´Ù. ÀÌ µÑÀ» Ä¿¹ÔÇÏ·Á¸é ¸ÕÀú ½ºÅ×ÀÌÁö¿¡ ¿Ã·Á¾ß ÇÑ´Ù.

 

$ git add game.cpp sound.cpp

 

add ¸í·ÉÀÇ Àμö·Î ½ºÅ×ÀÌÁö·Î ¿Ã¸± ÆÄÀÏÀ» ³ª¿­ÇÑ´Ù. ¿øÇÏ´Â ÆÄÀϸ¸ ¼±º°ÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖÁö¸¸ °³¼ö°¡ ¸¹À¸¸é ÀÏÀÏÀÌ Àû´À¶ó ºÒÆíÇÏ´Ù. ÀÌ·² ¶§´Â git add . ¸í·ÉÀ¸·Î ÇöÀç µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» ÁöÁ¤ÇÏ¸é µÈ´Ù. µÎ ÆÄÀÏÀ» ½ºÅ×ÀÌÁö·Î ¿Ã¸®°í »óŸ¦ È®ÀÎÇØ º¸ÀÚ.

 

$ git add .

 

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

$ git status

On branch main

Changes to be committed:

  (use "git restore --staged <file>..." to unstage)

        modified:   game.cpp

        new file:   sound.cpp

 

Áö±ÝÀº ¼Ò½º ÆÄÀÏÀÌ 2°³ ¹Û¿¡ ¾øÀ¸´Ï °³º° ÆÄÀÏÀ» ¿Ã¸®³ª µð·ºÅ丮¸¦ Åë°·Î ¿Ã¸®³ª È¿°ú´Â °°´Ù. ±×·¯³ª ´Ù¸¥ ÆÄÀÏÀÌ ´õ ÀÖ°í ¼öÁ¤ÇÑ ÆÄÀÏÀÇ ÀϺθ¸ ¿Ã¸°´Ù¸é ÀÌ µÑÀº ´Þ¶óÁö´Ï °¡±ÞÀûÀÌ¸é ÆÄÀϸíÀ» ±¸Ã¼ÀûÀ¸·Î ¸í½ÃÇÏ´Â°Ô ¾ÈÀüÇÏ´Ù.

game.cpp´Â ³»¿ëÀÌ ¼öÁ¤µÇ¾ú°í sound.cpp´Â »õ·Î ¸¸µç ÆÄÀϷΠǥ½ÃµÇ¾î ÀÖÀ¸¸ç µÑ ´Ù ½ºÅ×ÀÌÁö¿¡ ¿Ã·ÈÀ¸¹Ç·Î Ä¿¹ÔÇÒ ¼ö ÀÖ´Â »óÅÂÀÌ´Ù. Ä¿¹ÔÇØ º¸ÀÚ. À̶§´Â -am ¿É¼ÇÀ» ÁÙ ÇÊ¿ä´Â ¾ø°í -mÀ¸·Î ¸Þ½ÃÁö¸¸ Àü´ÞÇÏ¸é µÈ´Ù.

 

$ git commit -m "¹è°æÀ½¾Ç ¹× È¿°úÀ½ Ãß°¡"

[main eb4622b] ¹è°æÀ½¾Ç ¹× È¿°úÀ½ Ãß°¡

 2 files changed, 10 insertions(+)

 create mode 100644 sound.cpp

 

2°³ÀÇ ÆÄÀÏÀÌ ¹Ù²î¾úÀ¸¸ç 10ÁÙÀ» Ãß°¡Çß´Ù. ·Î±×¸¦ Âï¾î º¸¸é ¹æ±Ý Ä¿¹ÔÇÑ °Í±îÁö 3°³ÀÇ Ä¿¹Ô ·Î±×°¡ ³ªÅ¸³­´Ù.

 

$ git log

commit eb4622bb171021f99e1188f538ca0f117aedb6ca (HEAD -> main)

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 03:03:08 2024 +0900

 

    ¹è°æÀ½¾Ç ¹× È¿°úÀ½ Ãß°¡

...

 

Ä¿¹Ô ·Î±×ÀÇ ¸Þ½ÃÁö´Â ´©°¡ ¾î¶² ÀÛ¾÷À» Çß´ÂÁö¸¦ ¿ä¾àÀûÀ¸·Î º¸¿©ÁÖ¸ç ÀÌ ·Î±×¸¦ ÅëÇØ »ç¿îµå ±â´ÉÀ» Ãß°¡ÇßÀ½À» ¾Ë ¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² ÆÄÀÏÀ» ¹Ù²å´ÂÁö´Â Ç¥½ÃÇÏÁö ¾Ê´Âµ¥ ¿Ö³ÄÇϸé Çѹø¿¡ ¼ö½Ê°³ÀÇ ÆÄÀÏÀ» ¹Ù²Ü ¶§ ÀÏÀÏÀÌ Ç¥½ÃÇÏÀÚ¸é ÇÙ½É º¯°æ ³»¿ëÀÌ Àß º¸ÀÌÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

´õ »ó¼¼ÇÑ º¯°æ »çÇ×À» ¾Ë°í ½Í´Ù¸é --stat ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ¾î¶² ÆÄÀÏÀ» ¾î¶»°Ô ¹Ù²Ù¾ú´ÂÁö±îÁö ´Ù º¸¿© ÁÖ¾î »ó¼¼ÇÏÁö¸¸ ´ë½Å ¸ñ·ÏÀÌ ±æ¾îÁö´Â ºÒÆíÇÔÀÌ ÀÖ´Ù. °íÀÛ ¼¼¹ø Ä¿¹ÔÇߴµ¥µµ ¾çÀÌ ±²ÀåÀÌ ¸¹´Ù.

 

$ git log --stat

commit eb4622bb171021f99e1188f538ca0f117aedb6ca (HEAD -> main)

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 03:03:08 2024 +0900

 

    ¹è°æÀ½¾Ç ¹× È¿°úÀ½ Ãß°¡

 

 game.cpp  | 3 +++

 sound.cpp | 7 +++++++

 2 files changed, 10 insertions(+)

 

commit 7a9c088d2b57d0b86eefffda86baeca7f11d4374

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 02:32:00 2024 +0900

 

    ÁÖÀΰø 3´ë·Î ´Ã¸²

 

 game.cpp | 10 ++++++----

 1 file changed, 6 insertions(+), 4 deletions(-)

 

commit 8b8c594f3b8c8a6b78da50924e8a78fe340f2f81

Author: soen <soenmaster@naver.com>

Date:   Sun Oct 27 02:27:51 2024 +0900

 

    ÇÁ·ÎÁ§Æ® ½ÃÀÛ

 

 game.cpp | 6 ++++++

 1 file changed, 6 insertions(+)

 

¸ñ·ÏÀÌ ÀÌ·¸°Ô ±æ¾îÁö¸é ÇÑ È­¸é¿¡ ´Ù Ç¥½ÃÇÏÁö ¸øÇÏ°í ½ºÅ©·ÑÇØ °¡¸ç ºÁ¾ß ÇÑ´Ù. ¾Æ·¡, À§ Ä¿¼­Å°³ª PgUp, PgDn Ű·Î ¿À¸£¶ô ³»¸®¶ô ÇÒ ¼ö ÀÖ´Ù. ¹è½Ã¿¡ Àͼ÷ÇÏÁö ¾ÊÀº »ç¶÷Àº ½ºÅ©·Ñ ¸ðµå¸¦ ºüÁ® ³ª¿ÀÁö ¸øÇØ ´çÈ²ÇØ Çϴµ¥ Q۸¦ ´©¸£¸é µÈ´Ù.

·Î±×°¡ ³Ê¹« ±æ¸é È®½ÇÈ÷ º¸±â ºÒÆíÇØÁö¸ç ÇѲ¨¹ø¿¡ ¼ö½Ê °³ÀÇ ÆÄÀÏÀ» ¼öÁ¤Çß´Ù¸é ÁöÀúºÐÇϱâ±îÁö ÇÏ´Ù. ÀÌ·² ¶§´Â --oneline ¿É¼ÇÀ¸·Î ·Î±×´ç ÇÑÁÙ¾¿¸¸ Ç¥½ÃÇϵµ·Ï ÇÑ´Ù. ÀÛ¾÷ÀÚ¿Í ½Ã°£ µîÀº »ó¼¼È÷ ¾Ë ¼ö ¾øÁö¸¸ ÀüüÀûÀÎ È帧Àº °£·«È÷ »ìÆìº¼ ¼ö ÀÖ´Ù.

 

$ git log --oneline

eb4622b (HEAD -> main) ¹è°æÀ½¾Ç ¹× È¿°úÀ½ Ãß°¡

7a9c088 ÁÖÀΰø 3´ë·Î ´Ã¸²

8b8c594 ÇÁ·ÎÁ§Æ® ½ÃÀÛ

 

7ÀÚ¸®ÀÇ ÂªÀº Ä¿¹ÔÇØ½Ã¿Í ¸Þ½ÃÁö¸¸ Ç¥½ÃÇÑ´Ù. ½Ã°£¼øÀ¸·Î ¾î¶² ÀÛ¾÷À» ÁøÇàÇß´ÂÁö ¿ä¾àÀûÀ¸·Î ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ·Î±×°¡ ¸¹ÀÌ ½×¿© ÀÖ´Â ÇÁ·ÎÁ§Æ®´Â ±¸Ã¼ÀûÀÎ º¯°æ ³»¿ëº¸´Ù´Â Ä¿¹ÔÇÑ »ç¶÷ÀÌ ³²°Ü ³õÀº ¸Þ½ÃÁö·Î ÁøÇà »óȲÀ» ÆÄ¾ÇÇÏ´Â °ÍÀÌ ´õ ºü¸£´Ù.