Xcode´Â ÀÚüÀÇ GUI¸¦ ÀÌ¿ëÇØ¼ º¸ÅëÀº client-access tool¿¡¼ µ¿ÀÛÇÏ´Â ´ëºÎºÐÀÇ SCM °ü·Ã ÀÛ¾÷À» ¼öÇàÇÏ°Ô ÇÔÀ¸·Î½á SCM ½Ã½ºÅÛÀ» ½±°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. Xcode´Â ´ÙÀ½°ú °°Àº ¼¼°¡ÁöÀÇ SCM ½Ã½ºÅÛÀ» Áö¿øÇÕ´Ï´Ù. CVS, Subversion ±×¸®°í Perforce¶ó´Â °ÍÀ» Áö¿øÇϸç, ¿©·¯ºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡ µé¾î ÀÖ´Â ÆÄÀÏÀ» °ü¸®Çϴµ¥ ¸¹Àº À¶Å뼺À» Á¦°øÇÕ´Ï´Ù. ÇÏÁö¸¸ ÇÑ Xcode ÇÁ·ÎÁ§Æ®´ç ÇѰ³ÀÇ SCM ½Ã½ºÅÛ¸¸À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼Ò½º ÄÁÆ®·Ñ °ü¸® µµ±¸¸¦ ¿Ö ¾²³ª¿ä?
SCMÀº ¾î¶»°Ô µ¿ÀÛÇϳª¿ä?
Xcode¿Í SCM
¿©·¯ »ç¶÷ÀÌ °øµ¿ ÀÛ¾÷À» ÇÏ´Â Å« ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÑ´Ù¸é SCMÀ» »ç¿ëÇÒ °ÍÀ» °í·ÁÇϽʽÿÀ.
SCM ½Ã½ºÅÛÀº ¿©·¯°¡Áö ¼Ò½º ÄÚµå °ü¸® ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
ÇÑ ÇÁ·ÎÁ§Æ®¸¦ ±¸¼ºÇÏ´Â ÆÄÀϵéÀº ÀüºÎ ¸®Æ÷ÁöÅ͸®¶ó°í ºÒ¸®¿ì´Â ÇÑ °÷¿¡ ÀúÀåµË´Ï´Ù. Áï ÀÌ ¸®Æ÷ÁöÅ͸®´Â ¼Ò½º ÆÄÀÏ, ¸®¼Ò½º ÈÀÏ µîµîÀ» Æ÷ÇÔÇÑ ÇÁ·ÎÁ§Æ® ÈÀϵéÀÌ À§Ä¡ÇÏ´Â µð·ºÅ丮 Æ®¸®ÀÔ´Ï´Ù. ¼Ò½º ÄÁÆ®·Ñ ½Ã½ºÅÛÀº ¹Ù·Î ÀÌ ¸®Æ÷ÁöÅ͸®¿¡ ÀÖ´Â ÆÄÀϵéÀ» °ü¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. º¸Åë ¿©·¯ºÐÀº ¸®Æ÷ÁöÅ͸® µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» Á÷Á¢ °Çµå¸± ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ´ë½Å¿¡ Ä¿¸àµå ¶óÀÎ ÅøÀ̳ª GUI Åø·Î µÇ¾î ÀÖ´Â SCM ½Ã½ºÅÛÀÇ Å¬¶óÀÌ¾ðÆ® ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼ SCM ¸í·ÉÀ» ³»¸®±â¸¸ ÇÏ¸é µË´Ï´Ù.
Evert ¸®Æ÷ÁöÅ͸®´Â ¸®Æ÷ÁöÅ͸® °ü¸®ÀÚ¶ó´Â »ç¶÷À» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ »ç¶÷Àº ¹é¾÷À̳ª ÇÁ·ÎÁ§Æ® µð·ºÅ丮ÀÇ ·¹À̾ƿôÀ» °³¹ßÀÚµéÀÌ ÀÛ¾÷Çϴµ¥ ±×·¸°Ô ¿µÇâÀ» ÁÖÁö ¾Ê°í ¹Ù²Ù´Â µî °®°¡Áö °ü¸® ÀÛ¾÷À» ÇÕ´Ï´Ù. °³¹ßÀÚµéÀÌ ÇØ´ç ¸®Æ÷ÁöÅ͸®¸¦ °¡Áö°í ÀÛ¾÷ÇÏ´Â µ¿¾È, ¿©·¯ºÐÀº ÃֽйöÁ¯ÀÇ ÆÄÀÏ·Î °¢ÀÚÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº “ÆÄÀÏ ´Ù·ç±â”ÀÇ “ÀÛ¾÷º» °»½ÅÇϱ┸¦ ÂüÁ¶ÇϽʽÿÀ.
º¸Åë ¸®Æ÷ÁöÅ͸®µéÀº ±× ¿ëµµ·Î ÇÒ´çµÈ Àü¿ë ÄÄÇ»ÅÍ¿¡ ÀúÀåµË´Ï´Ù. °³¹ßÀÚµéÀº ÀÛ¾÷ÇϰíÀÚ ÇÏ´Â ÆÄÀÏÀÌ ÀúÀåµÇ¾î ÀÖ´Â ¸®Æ÷ÁöÅ͸®¿¡ Ưº°ÇÑ ÅøÀ̳ª ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ ¾ï¼¼½º¸¦ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸®Æ÷ÁöÅ͸®µéÀº »ç¿ëÀÚ À̸§/¾ÏÈ£³ª private key³ª public key°°Àº ¾ï¼¼½º ¸ÞÄ¿´ÏÁòÀ» ÀÌ¿ëÇÏ¿© ¾ÈÀüÇÑ ¾ï¼¼½º¸¦ ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù.
¸®Æ÷ÁöÅ͸®¿¡´Â ÆÄÀϵéÀÌ ÀÏ´Ü ±× ¸®Æ÷ÁöÅ͸®¿¡ µî·ÏµÇ¸é, Áï °ü¸®µÇ´Â ÆÄÀÏ(managed files)ÀÌ µÇ¸é, º¯°æÀ» °¡ÇÑ °³¹ßÀÚÀÇ À̸§, º¯°æµÈ ÀÌÀ¯µîÀ» Æ÷ÇÔÇÑ ¸ðµç º¯°æ »çÇ×À» ±â·ÏµÇ¾î ÀÖ½À´Ï´Ù. Áï °³¹ßÀÚ´Â ¾î¶² ƯÁ¡ ½ÃÁ¡¿¡ ÆÄÀϵéÀÌ ¾î¶² »óÅÂÀÎÁö È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, °³¹ß °úÁ¤µ¿¾È ´Ù¸¥ ´Ü°è¿¡¼ÀÇ »óÀÌÇÑ ¹öÁ¯ÀÇ ÆÄÀϵéÀ» ºñ±³ÇØ º¼ ¼ö ÀÖ°í, ¶Ç ¾î¶»°Ô º¯È°¡ µÇ¾î ¿Ô´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÏ°Ô ¾Ë°í ½ÍÀ¸½Ã¸é “º¯°æ »çÇ× º¸±â”¸¦ ÂüÁ¶ÇϽʽÿÀ.
SCM¿¡ ÀÇÇØ¼ °ü¸®°¡ µÇ´Â ÆÄÀÏÀ» ¼öÁ¤ÇÏ·Á¸é, ¿ì¼± ±× ÆÄÀÏÀ» ¸®Æ÷ÁöÅ͸®¿¡¼ ¿©·¯ºÐÀÇ ÇÏµå µð½ºÅ©·Î Ä«ÇÇÇØ ¿Í¾ß ÇÕ´Ï´Ù. À̸¦ check outÀ̶ó°í ÇÕ´Ï´Ù. ±×¸®°í Ä«ÇÇµÇ¾î ¿Â ÆÄÀÏÀ» ÀÛ¾÷º»(working copy)À̶ó°í ÇÕ´Ï´Ù. ÀÌ ÀÛ¾÷º»Àº ´Ù½Ã ÀÛ¾÷ÇϰíÀÚ ÇÏ´Â ÆÄÀÏÀ» Æ÷ÇÔÇϰí ÀÖ´Â, ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ¿¡ ÀúÀåµÇ¾î ÀÖ´Â µð·ºÅ丮ÀÔ´Ï´Ù. ¿©·¯ºÐÀº ±× ÆÄÀÏÀ» ¸¶À½´ë·Î ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̶§ °¡ÇÏ´Â ¼öÁ¤Àº ¸®Æ÷ÁöÅ͸®¿¡ ÀÖ´Â ÆÄÀÏÀ» º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÁ¦ ¼öÁ¤ÇÑ °ÍÀÌ ¾î¶² ¹ö±×µµ À¯¹ßÇÏÁö ¾Ê´Â´Ù°í È®½ÅÇϽŴٸé, ±× ¼öÁ¤µÈ ÆÄÀÏÀ» ´Ù½Ã ¸®Æ÷ÁöÅ͸®·Î °¡Á®´Ù ³õÀ» ¼ö Àִµ¥, À̰ÍÀ» commit ȤÀº check inÀ̶ó°í ºÎ¸¨´Ï´Ù. º¸ÅëÀº ÀÌ·¸°Ô ¼öÁ¤ÇÑ °ÍÀ» commitÇϱâ Àü¿¡ ¸®Æ÷ÁöÅ͸®·ÎºÎÅÍ ÃÖ½ÅÀÇ ÆÄÀÏÀ» °¡Á® ¿Â ÈÄ, ±×°Í¿¡ º¯°æÀ» °¡ÇÑ ´ÙÀ½ commitÀ» ÇÕ´Ï´Ù. revision ¹øÈ£´Â °³¹ß °úÁ¤ Áß¿¡ ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ ¹öÁ¯À» ½Äº°ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ±× revision ¹øÈ£¸¦ ÂüÁ¶ÇÏ¸é ÆÄÀϵéÀ» °¡Á®¿À´Â µ¥ µµ¿òÀÌ µË´Ï´Ù.
ºñ·Ï Xcode°¡ ´ëºÎºÐÀÇ SCM ÀÛ¾÷À» ¼öÇà ÇÒ ¼ö ÀÖµµ·Ï À¯Àú ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏÁö¸¸, ¸®Æ÷ÁöÅ͸®·ÎºÎÅÍ ÇÁ·ÎÁ§Æ®¸¦ check outÇÏ´Â °ÍÀº ¸øÇÕ´Ï´Ù. ±×°ÍÀ» ÇÏ·Á¸é óÀ½¿¡´Â ¹Ýµå½Ã »ç¿ëÇϽô SCM ½Ã½ºÅÛÀÇ Å¬¶óÀÌ¾ðÆ® ¾ï¼¼½º ÅøÀ» ÀÌ¿ëÇØ¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ ÀÏ´Ü ±× ÇÁ·ÎÁ§Æ®¸¦ check outÇß´Ù¸é °ÅÀÇ ¸ðµç °ÍÀ» Xcode¸¦ ÀÌ¿ëÇØ¼ SCM ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸¸¾à Áý°ú »ç¹«½Ç¿¡¼ ÀÛ¾÷À» ÇϽŴٸé, SCM ½Ã½ºÅÛÀ» ÀÌ¿ëÇØ¼, ÀÏÀÏÈ÷ Áý°ú ȸ»çÀÇ ÄÄÇ»ÅÍ·Î ÆÄÀÏÀ» ¿Å±æ ÇÊ¿ä ¾øÀÌ, °¡Àå ÃÖ½ÅÀÇ ÇÁ·ÎÁ§Æ® ÆÄÀϵéÀ» Ç×»ó ¾ï¼¼½º °¡´ÉÇÕ´Ï´Ù.
SCM ½Ã½ºÅÛÀ» »ç¿ëÇÏ¸é ¼öµ¿À¸·Î ÆÄÀÏ¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦¾îÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ±×¸®°í ¶ÇÇÑ ´Ù¸¥ ÆÀ¿øµéÀÌ ¾î¶² ÆÄÀÏÀ» ¾î¶»°Ô º¯°æÇß³ª¸¦ ÀÏÀÏÈ÷ µûÁ® º¼ Çʿ䰡 ¾ø½À´Ï´Ù. SCM ½Ã½ºÅÛÀÌ ÇÁ·ÎÁ§Æ®¿¡ ÀÖ´Â ÆÄÀϵéÀÌ ¾î¶»°Ô º¯°æµÇ´ÂÁö ¾Ë·Á Áֱ⠶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ ÀÌ·Î ÀÎÇØ º¯°æ »çÇ×À» Àç°ËÇØ º¸´Â °ÍÀÌ ±²ÀåÈ÷ ½¬¿öÁý´Ï´Ù.
º¯°æÇÑ ÆÄÀÏÀ» commitÇÒ ¶§¸¶´Ù, SCM ½Ã½ºÅÛÀÌ ÀÚµ¿À¸·Î revision ¹øÈ£¸¦ ÇÒ´çÇØ ÁÝ´Ï´Ù. ÀÌ versioning ½Ã½ºÅÛÀ» ÀÌ¿ëÇÔÀ¸·Î½á, ¿©·¯ °³¹ß ´Ü°è¿¡ ÀÖ´Â ¼Ò½º ÆÄÀÏÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ¾î¶² ÆÄÀÏÀ» ¸®Æ÷ÁöÅ͸®¿¡ ³Ö¾ú´Ù°í ÇսôÙ. ÀÌ·¯¸é ù¹øÂ° revisionÀÌ ¸¸µé¾îÁö°Ô µË´Ï´Ù. ±×¸®°í ÀÛ¾÷º»¿¡¼ À̰Ϳ¡ ´ëÇØ¼ º¯°æÀ» °¡ÇÏ°í ¶Ç ±×°ÍÀ» commitÇß´Ù°í ÇսôÙ. ±×·¯¸é ÀÌ º¯°æÀüÀÇ ÆÄÀÏÀ» SCM ½Ã½ºÅÛ¿¡°Ô ¿äûÇÏ¸é ´Ù½Ã º¼ ¼ö°¡ ÀÖ½À´Ï´Ù. ¶ÇÇÑ °¢ revision¸¶´Ù ´Þ¶óÁø °Í¸¸µµ º¼ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº diff¸¦ ÇØ º»´Ù°í ÇÕ´Ï´Ù. À̰ÍÀº µ¿ÀÏ ÈÀÏÀÇ µÎ ´Ù¸¥ ¹öÁ¯ÀÇ Â÷ÀÌÁ¡À» ¾î¶² ±ÛÀÚ°¡ º¯°æµÇ¾ú´Â°¡ º¸¿© ÁÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·± Á¤º¸´Â ¶§·Î´Â ¸ð¿©Á®¼ »õ·Î¿î ´Ù¸¥ ¹öÁ¯À¸·Î ¸¸µé¾îÁö±âµµ ÇÕ´Ï´Ù.
Xcode´Â Ä¿¸Çµå ¶óÀΠŬ¶óÀÌ¾ðÆ® ¾ï¼¼½º ÅøÀ» ÀÌ¿ëÇÒ¶§¿Í °°Àº ¸í·É¾î¸¦ ½ÇÇà½ÃÅ´À¸·Î½á ÀÛ¾÷ÇϽô ÇÁ·ÎÁ§Æ®ÀÇ SCM ½Ã½ºÅÛ°ú Á¤º¸¸¦ ±³È¯ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ¾ï¼¼½º ÅøÀ̶õ °ü¸® ´ë»óÀÌ µÇ´Â ÆÄÀÏ¿¡ ´ëÇØ¼ SCM ÀÛ¾÷À» ¼öÇàÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. °¢ SCM ½Ã½ºÅÛÀº Àû¾îµµ ÇѰ³ÀÇ Ä¿¸Çµå ¶óÀΠŬ¶óÀÌ¾ðÆ® ¾ï¼¼½º ÅøÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ¶Ç ´Ù¸¥ ȸ»ç¿¡¼ Á¦°øÇÏ´Â Ãß°¡ ±â´ÉÀ» °¡Áø Åøµéµµ ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡ ÀÖ¾î¼ ¿©·¯ºÐÀÌ ¹«½¼ SCM ½Ã½ºÅÛÀ» ÀÌ¿ëÇϽôø°£¿¡ Xcode´Â ¼Ò½º ÄÁÆ®·ÑÀ» Çϴµ¥¿¡ ÀÖ¾î¼ ÇϳªÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù.
© 2004 Apple Computer, Inc. All Rights Reserved. ¹ø¿ª : ¹ÚÁ¾¾Ï (Translated by JongAm Park(Last updated: 2004-06-28)