1 ¹öÀü °ü¸® ½Ã½ºÅÛ ¼Ò°³
¹«¾ùÀ» µµ¿Íµå¸±±î¿ä?
¹öÀü °ü¸® ½Ã½ºÅÛÀ̶õ?
¹öÀü °ü¸® ½Ã½ºÅÛÀÌ ÇÊ¿äÇÑ ÀÌÀ¯
¹öÀü °ü¸® ½Ã½ºÅÛÀÇ Á¾·ù
·ÎÄà ¹öÀü °ü¸® ½Ã½ºÅÛ
Å丷 »ó½Ä
Áß¾Ó ÁýÁßÇü ¹öÀü °ü¸® ½Ã½ºÅÛ
ºÐ»ê ¹öÀü °ü¸® ½Ã½ºÅÛ
±ê¿¡ ºüÁ®µé´Ù
¿øÀÚ¼º
¼º´É
¾ÈÁ¤¼º
Á¤¸®
2 ±ê ¼³Ä¡
À¯Çü ¼±ÅÃ: ¿î¿µÃ¼Á¦¿¡ ÀûÇÕÇÑ ÆÐÅ°Áö ´Ù¿î·Îµå
À©µµ¿ì
¸®´ª½º
¸Æ
¼³Ä¡
½Ç½À ¿¹Á¦ ±êÀ» À©µµ¿ì¿¡ ¼³Ä¡
½Ç½À ¿¹Á¦ ¸Æ¿¡ ±ê ¼³Ä¡
½Ç½À ¿¹Á¦ ¸®´ª½º¿¡ ±ê ¼³Ä¡
Á¤¸®
3 ¸ÅÀÏÀÇ »ý»ê¼º Áõ´ë
Áغñ: ±ê Áغñ
ÃʱâÈ
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ÃʱâÈ
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ÃʱâÈ
È¸é µÚ¿¡¼ ÀÏ¾î³ ÀÏ
±ê ¼³Á¤
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ±ê ¼³Á¤
µÇµ¹¾Æ°¡±â
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ Git ¼³Á¤
µð·ºÅ丮¿¡ ÆÄÀÏ Ãß°¡
½Ç½À ¿¹Á¦ (GUI¿Í CLI ¸ðµå¿¡¼) µð·ºÅ丮¿¡ ÆÄÀÏ Ãß°¡
ÆÄÀÏ ÃßÀû ¹èÁ¦
¹ø°Å·Î¿î ÀÛ¾÷
±¸¿øÀÇ .gitignore
½Ç½À ¿¹Á¦ .ginignoreÀÇ »ç¿ë ¹æ¹ý
Ãß°¡ µÇµ¹¸®±â
Ãß°¡µÈ ÆÄÀÏ Ä¿¹Ô
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ÆÄÀÏ Ä¿¹Ô
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ÆÄÀÏ Ä¿¹Ô
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ À罺ĵ
üũ¾Æ¿ô
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ üũ¾Æ¿ô
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ üũ¾Æ¿ô
¸®¼Â
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ¸®¼Â
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ¸®¼Â
±ê µµ¿ò¸»
Á¤¸®
4 ±êÀ» ÀÌ¿ëÇÑ ºÐ»ê ÀÛ¾÷
ÆÄÀÏÀ» °øÀ¯ÇØ¾ß ÇÏ´Â ÀÌÀ¯
½Ã³ª¸®¿À 1: 1ÀÎ Ç÷¹À̾î
½Ã³ª¸®¿À 2: µ¿½Ã¿¡ ¿©·¯ ¸íÀÇ Ç÷¹À̾î Á¢¼Ó
¿ø°ÝÁöÀÇ ¼Ò½º¸¦ Ǫ½ÃÇÏ°í Ç®Çϱâ
½Ã³ª¸®¿À 1: ÇØ°áÃ¥
°ø°³: ÀÎÅͳÝÀ» ÅëÇØ °øÀ¯
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ¿ø°ÝÁöÀÇ origin Ãß°¡
½Ç½À ¿¹Á¦ CLI ¸ðµå¸¦ ÀÌ¿ëÇØ ´Ù¸¥ °÷¿¡¼ ÀÛ¾÷ ½Ãµµ
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ¿ø°Ý origin Ãß°¡
½Ç½À ¿¹Á¦ GUI ¸ðµå¸¦ ÀÌ¿ëÇؼ ÀÛ¾÷ Àç°³
½Ã³ª¸®¿À 2: ÇØ°áÃ¥
ºñÆ®¹öŶ ÀúÀå¼Ò¿¡ »ç¿ëÀÚµé ÃÊ´ë
·ÎÄÿ¡ ¸Ó¹«¸£±â: ÀÎÆ®¶ó³ÝÀ¸·Î °øÀ¯
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ³ëÃâµÈ ÀúÀå¼Ò »ý¼º
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ³ëÃâµÈ ÀúÀå¼Ò »ý¼º
Á¤¸®
5 ±êÀÇ °í±Þ ±â´É
°í±Þ ±â´ÉÀ» ¹è¿ö¾ß ÇÏ´Â ÀÌÀ¯
Áغñ¹°
Shortlog
½Ç½À ¿¹Á¦ ªÀº ·Î±×¿¡ ´ëÇÑ Áö½Ä ¾ò±â
½Ç½À ¿¹Á¦ ªÀº ·Î±×ÀÇ ÆĶó¹ÌÅÍ
·Î±× °Ë»ö: git log
½Ç½À ¿¹Á¦ Ä¿¹Ô ·Î±× °Ç³Ê¶Ù±â
½Ç½À ¿¹Á¦ ³¯Â¥ ¹üÀ§¸¦ ÁöÁ¤ÇØ ·Î±× ÇÊÅÍ
½Ç½À ¿¹Á¦ ´Ü¾î³ª öÀÚ °Ë»ö
û¼Ò
½Ç½À ¿¹Á¦ ¾û¸ÁÁøâÀ¸·Î ÈåÆ®¸®±â
½Ç½À ¿¹Á¦ ÆÐÅÏ¿¡ ºÎÇÕÇϴ ȥ¶õÇÑ »óŸ¦ ¸»²ûÈ÷ û¼Ò
½Ç½À ¿¹Á¦ ¿¡·¯ ¾øÀÌ È¥¶õ »óŸ¦ ¿Ïº®È÷ ¾µ¾î³»±â
űë
½Ç½À ¿¹Á¦ °æ·®/ºñÁÖ¼® ű×
½Ç½À ¿¹Á¦ ÅÂ±× ÂüÁ¶
½Ç½À ¿¹Á¦ ÁÖ¼® ÅÂ±× »ç¿ë
°£´ÜÇÑ ½Ç½À
Á¤¸®
6 ÅؽºÆ® ±â¹Ý ÆÄÀÏÀ» À§ÇÑ ±ê
ÅؽºÆ® ±â¹Ý ÆÄÀÏÀ» À§ÇÑ ±ê: ¼Ò°³
¸ÖƼÇ÷¹ÀÌ¾î ¸ðµå: µ¿½Ã¿¡ ¿©·¯ ¸íÀÇ Ç÷¹À̾î
ÇÑ ¹ø¿¡ ÇÑ ¸í¾¿¸¸ ÇÏ´Â ´ÙÁß Ç÷¹À̾î
´ÙÁß Ç÷¹À̾î: ¸ðµç ¼ÕÀ» ŹÀÚ À§¿¡
ÀúÀå¼Ò °øÀ¯
½Ç½À ¿¹Á¦ °øÀ¯ Áغñ
½Ç½À ¿¹Á¦ °Á¦ ºÐ»ê ÀÛ¾÷
½Ç½À ¿¹Á¦ BobÀÇ º¯°æ
½Ç½À ¿¹Á¦ LisaÀÇ º¯°æ
½Ç½À ¿¹Á¦ LisaÀÇ º´ÇÕ Ãæµ¹ ½ÃÇè
½Ç½À ¿¹Á¦ LisaÀÇ º´ÇÕ Ãæµ¹ ÇØ°á
GUI ¸ðµå: ÀúÀå¼Ò ÀÌ·Â ±×·¡ÇÁ È®ÀÎ
CLI ¸ðµå: ÀúÀå¼Ò ÀÌ·Â ±×·¡ÇÁ È®ÀÎ
½Ç½À ¿¹Á¦ Áß¾Ó ³ëÃâµÈ ÀúÀå¼Ò¿¡ ´ëÇÑ µ¿±âÈ Ã³¸®
Á¤¸®
7 ±êÀ» »ç¿ëÇÑ ºÐ±â
ºÐ±â¶õ?
¿Ö ºÐ±â°¡ ÇÊ¿äÇÑ°¡
¸í¸í ±Ô¾à
ºÐ±â°¡ ÇÊ¿äÇÒ ¶§
±êÀ¸·Î ºÐ±â
½Ã³ª¸®¿À
½Ç½À ¿¹Á¦ GUI ¸ðµå¿¡¼ ºÐ±â »ý¼º
½Ç½À ¿¹Á¦ CLI ¸ðµå¿¡¼ ºÐ±â »ý¼º
.config ÆÄÀÏ: Ãà¾à¾î »ç¿ë
½Ç½À ¿¹Á¦ CLI¿¡¼ °£´ÜÇÑ ¿¡Àϸ®¾î½º Ãß°¡
½Ç½À ¿¹Á¦ CLI¿¡¼ ÇϳªÀÇ ¿¡Àϸ®¾î½º¿¡ ¸í·É ¿«±â
½Ç½À ¿¹Á¦ GUI¿¡¼ º¹ÀâÇÑ ¿¡Àϸ®¾î½º Ãß°¡
Á¤¸®
8 ±êÀÇ ¿ø¸®
±êÀÇ µÎ ¸é¸ð: ¹è°ü°ú ¾ÖÀÚ
±ê ÃʱâÈ
Hooks
Info
Config
Description
Objects
Blob
Trees
Commits
Tags
HEAD
Refs
heads¿Í tags µð·ºÅ丮 ³»ºÎ¿¡¼ Ãæµ¹ ¾Ë¸²
Index
±ê: ÄÜÅÙÃ÷ ÃßÀû ½Ã½ºÅÛ
±ê Ãß°¡
±ê Ä¿¹Ô
±ê »óÅÂ
±ê º¹Á¦
±ê ¿ø°Ý
±ê ºÐ±â
±ê ű×
±ê ÆÐÄ¡
±ê º´ÇÕ
±ê Ç®
±ê Ǫ½Ã
±ê üũ¾Æ¿ô
°ü°è¿Í °ü°è¸¦ ¿«±â: ±ê packfiles
packfile Àü¼Û
Á¤¸®
±ê(Git)Àº ¿ÀÇ ¼Ò½º·Î Á¦°øµÇ´Â ºÐ»ê ¹öÀü °ü¸® ½Ã½ºÅÛÀÌ´Ù. ±êÀ» ÀÌ¿ëÇÏ¸é ´Ù¼öÀÇ »ç¿ëÀÚ°¡ µ¿½Ã¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÆÄÀÏ°ú Æú´õÀÇ ¹öÀüÀ» ´Ù¾çÇÏ°Ô À¯ÁöÇÏ¸é¼ º¹ÀâÇÑ °³¹ß ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Ù. Çù¾÷À» ÇÏ´Â °Íµµ °¢ÀÚ°¡ µ¶¸³ÀûÀ¸·Î ÁøÇàÇÏ´Â °Íµµ °¡´ÉÇϸç, ÅؽºÆ® ±â¹Ý ÆÄÀÏÀº ¹ø°Å·Î¿ò ¾øÀÌ ¿øÈ°ÇÏ°Ô º´ÇÕÀÌ °¡´ÉÇÏ´Ù. ÀÌ Ã¥Àº ¹öÀü °ü¸®¸¦ ´Ü°èº° ÇнÀÀ¸·Î Á¦°øÇÏ°í, ÀÏ»óÀûÀÎ ¾÷¹«¿¡ Àû¿ëÇÏ´Â ¹æ¹ýµµ ¾È³»ÇÑ´Ù. °³¹ßÀÚ, ¿î¿µÀÚ, ½Ã½ºÅÛ ºÐ¼®°¡, ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛ ¼³°èÀÚ µî ´©±¸¿¡°Ô³ª ½±°í À¯¿ëÇÒ °ÍÀÌ´Ù.
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë
- ¹öÀü °ü¸® ½Ã½ºÅÛÀÇ °³³ä°ú ÇÊ¿äÇÑ ÀÌÀ¯
- ±â±â¿¡ ±êÀ» ¼³Ä¡ÇÏ°í ¼³Á¤ÇÏ´Â ¹æ¹ý
- ±êÀÇ ±âº» °³³ä°ú ¹öÀü °ü¸®¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ý
- ¹öÀü °ü¸® ÆÄÀÏ¿¡ ´ëÇÑ °øÀ¯¿Í Çù¾÷
- ¸ÅÀÏ »ý»ê¼ºÀ» Çâ»ó½Ãų ¼ö ÀÖ´Â ºñ°á
- ºÐ±â(branch)¿Í ºÐ»ê ÀÛ¾÷
- »ý»ê¼º Çâ»óÀ» À§ÇÑ ÆÁ
- ±êÀ» °ÈÇÒ ¼ö ÀÖ´Â Ãß°¡ µµ±¸
- ±êÀ» ÀÌ¿ëÇØ ÅؽºÆ® ±â¹Ý ÆÄÀÏÀÇ ¿î¿ëÀ» È®ÀåÇÏ´Â ¹æ¹ý
- À©µµ¿ì¿Í ¸®´ª½º, ¸ÆÀ» ¾Æ¿ì¸£´Â ±×·¡ÇÈ°ú ¸í·É¾î ¸ðµå¸¦ ÀÌ¿ëÇÑ °³³ä
ÀÌ Ã¥ÀÇ ±¸¼º
1Àå, ¹öÀü °ü¸® ½Ã½ºÅÛ ¼Ò°³¿¡¼´Â ¹öÀü °ü¸® ½Ã½ºÅÛÀÇ °³³ä°ú ¼Ò°³, º¯Ãµ»ç¿Í Çʿ伺, ±×¸®°í ±êÀÌ ¹öÀü °ü¸® ½Ã½ºÅÛ Áß¿¡¼ ÃÖ°í·Î ²ÅÈ÷´Â ÀÌÀ¯¸¦ ¾Ë¾Æº»´Ù.
2Àå, ±ê ¼³Ä¡¿¡¼´Â ¿î¿µÃ¼Á¦ º° ±ê ¼³Ä¡ ¹æ¹ýÀ» ¾È³»ÇÑ´Ù.
3Àå, ¸ÅÀÏÀÇ »ý»ê¼º Áõ´ë¿¡¼´Â ±êÀ¸·Î ÆÄÀÏÀÇ ¹öÀüÀ» °ü¸®ÇÒ ¶§ ¾Ë¾Æ¾ß ÇÒ ±âº»ÀûÀÌ°í Áß¿äÇÑ 5°¡Áö °³³ä(ÀúÀå¼Ò(Repository) Áغñ, ÆÄÀÏ Ãß°¡, ÆÄÀÏ Ä¿¹Ô(commit), ¹öÀü °ü¸® ½ÃÀÛ, üũ¾Æ¿ôÀ» »ç¿ëÇÑ º¹±¸, ¸®¼Â)À» ¼³¸íÇÑ´Ù.
4Àå, ±êÀ» ÀÌ¿ëÇÑ ºÐ»ê ÀÛ¾÷¿¡¼´Â ÀÎÆ®¶ó³Ý°ú ÀÎÅÍ³Ý µî ´Ù¾çÇÑ ¸Åü¸¦ ÅëÇØ ÄÜÅÙÃ÷¸¦ °øÀ¯ÇÏ´Â Çù¾÷ °³¹ßÀÇ ¿äÁ¡À» ¾Ë·ÁÁÖ°í ¿©·¯ »ç¶÷ÀÌ °¢±â ´Ù¸¥ Àå¼Ò¿¡¼ ÇÔ²² ÀÛ¾÷Çϱâ À§ÇÑ ´Ù¾çÇÑ ¹æ¹ýÀ» Á¦½ÃÇÑ´Ù.
5Àå, ±êÀÇ °í±Þ ±â´É¿¡¼´Â 1~4Àå¿¡¼ ÀÍÈù ±êÀÇ ÀϹÝÀûÀÎ µ¿ÀÛµéÀ» ´Ù¾çÇÑ »óȲ¿¡¼ Çâ»ó½Ãų ¼ö ÀÖ´Â ÆÁ°ú À¯¿ëÇÑ Á¤º¸¸¦ ¼³¸íÇÑ´Ù.
6Àå, ÅؽºÆ® ±â¹Ý ÆÄÀÏÀ» À§ÇÑ ±ê¿¡¼´Â ±êÀÇ °¡Àå °·ÂÇÑ ÀåÁ¡ Áß ÇϳªÀÎ º´ÇÕ(merging)À̶ó´Â »õ·Î¿î ±â´ÉÀ» ¾Ë¾Æº»´Ù. ÄÜÅÙÃ÷¸¦ º´ÇÕÇÏ´Â ¹æ¹ý°ú º´ÇÕ °úÁ¤¿¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â Ãæµ¹(Conflict)À» ÇØ°áÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
7Àå, ±êÀ» »ç¿ëÇÑ ºÐ±â(branching)¿¡¼´Â ±ê¿¡¼ °¡Àå ³ô°Ô Æò°¡ ¹Þ´Â ±â´É Áß ÇϳªÀÎ ºÐ±â(branching)ÀÇ Á߿伺°ú ÀÛ¾÷ ¸ðµå¸¦ º¯°æÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
8Àå, ±êÀÇ ¿ø¸®¿¡¼´Â ±êÀÇ ³»ºÎ µ¿ÀÛ ¹æ½ÄÀ» ½Éµµ ÀÖ°Ô »ìÆ캸°í, ±×°ÍµéÀ» °£´ÜÇÑ ´Ü¾î·Î ÀÌÇØÇÑ´Ù. 1~7Àå¿¡¼ ½ÇÇàÇß´ø ¿©·¯ °¡Áö ±ê ¸í·ÉÀÌ ½ÇÇàµÉ ¶§ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ±âÃÊÀûÀÎ ¼öÇà °úÁ¤µµ ¼³¸íÇÑ´Ù.