Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈçºÎʹÓÃGitÌá¸ßÑз¢ÍŶӹ¤×÷ЧÂÊ£¿
 
  1950  次浏览      30
 2019-1-31
 
±à¼­ÍƼö:

±¾ÎÄÀ´×Ôsegmentfault£¬ÎÄÕ½éÉÜÁËGitµÄÌØµã¡¢Git ÌṩµÄÈýÖÖ¹¤×÷Á÷³ÌÒÔ¼°Git ·ÖÖ§µÄ¹ÜÀíµÈÏà¹ØÄÚÈÝ¡£

ΪʲôʹÓÃGit

Ëæ×Å»¥ÁªÍøÊ±´úµÄÀ´ÁÙÓë·¢Õ¹£¬ÓÈÆä·Ö²¼Ê½¿ª·¢µÄ´óÁ¦ÒýÈ룬¶ÔÓÚ¿ª·¢¹¤³ÌʦÀ´Ëµ£¬´úÂë¹ÜÀí±ä³ÉÁËÍ·µÈÄÑÌâ¡£10¶à¸öÈË»òÕ߸ü¶àµÄ³ÉÔ±µÄÑз¢ÍŶÓÈçºÎ¹ÜÀíͬһ·Ý´úÂ룬ÒìµØ°ì¹«ÈçºÎ¸úͬÊÂÓÐЧµÄά»¤Í¬Ò»·Ý´úÂ룿ÏÂÃæÖ±½Ó½éÉÜGit£¬¾Í²»¶ÔGitºÍÆäËûµÄ°æ±¾¹ÜÀí¹¤¾ß½øÐбȽÏÁË¡£

GitÊôÓÚ·Ö²¼Ê½µÄ°æ±¾¿ØÖÆÏµÍ³£¬Ëü¾ßÓÐÒÔÏÂÌØµã£º

GitÖÐÿ¸ö¿Ë¡(clone)µÄ°æ±¾¿â¶¼ÊÇÆ½µÈµÄ¡£Äã¿ÉÒÔ´ÓÈκÎÒ»¸ö°æ±¾¿âµÄ¿Ë¡À´´´½¨ÊôÓÚÄã×Ô¼ºµÄ°æ±¾¿â£¬Í¬Ê±ÄãµÄ°æ±¾¿âÒ²¿ÉÒÔ×÷ΪԴÌṩ¸øËûÈË£¬Ö»ÒªÄãÔ¸Òâ¡£

GitµÄÿһ´ÎÌáÈ¡²Ù×÷£¬Êµ¼ÊÉ϶¼ÊÇÒ»´Î¶Ô´úÂë²Ö¿âµÄÍêÕû±¸·Ý¡£

Ìá½»ÍêÈ«ÔÚ±¾µØÍê³É£¬ÎÞÐë±ðÈ˸øÄãÊÚȨ£¬ÄãµÄ°æ±¾¿âÄã×÷Ö÷£¬²¢ÇÒÌá½»×ÜÊÇ»á³É¹¦¡£

ÉõÖÁ»ùÓھɰ汾µÄ¸Ä¶¯Ò²¿ÉÒԳɹ¦Ìá½»£¬Ìá½»»á»ùÓھɵİ汾´´½¨Ò»¸öеķÖÖ§¡£

GitµÄÌá½»²»»á±»´ò¶Ï£¬Ö±µ½ÄãµÄ¹¤×÷ÍêÈ«ÂúÒâÁË£¬PUSH¸øËûÈË»òÕßËûÈËPULLÄãµÄ°æ±¾¿â£¬ºÏ²¢»á·¢ÉúÔÚPULLºÍPUSH¹ý³ÌÖУ¬²»ÄÜ×Ô¶¯½â¾öµÄ³åÍ»»áÌáʾÄúÊÖ¹¤Íê³É¡£

³åÍ»½â¾ö£ºÔÚÐèÒªµÄʱºò²Å½øÐкϲ¢ºÍ³åÍ»½â¾ö¡£

Git°æ±¾¿âͳһ·ÅÔÚ·þÎñÆ÷ÖÐ

¿ÉÒÔΪ Git °æ±¾¿â½øÐÐÊÚȨ£ºË­ÄÜ´´½¨°æ±¾¿â£¬Ë­ÄÜÏò°æ±¾¿âPUSH£¬Ë­Äܹ»¶ÁÈ¡£¨¿Ë¡£©°æ±¾¿â£¬¼´È¨ÏÞÅäÖÃ

ÍŶӵijÉÔ±ÏȽ«·þÎñÆ÷µÄ°æ±¾¿â¿Ë¡µ½±¾µØ£»²¢¾­³£µÄ´Ó·þÎñÆ÷µÄ°æ±¾¿âÀ­£¨PULL£©×îеĸüУ»

ÍŶӵijÉÔ±½«×Ô¼ºµÄ¸Ä¶¯ÍÆ£¨PUSH£©µ½·þÎñÆ÷µÄ°æ±¾¿âÖУ¬µ±ÆäËûÈ˺Ͱ汾¿âͬ²½£¨PULL£©Ê±£¬»á×Ô¶¯»ñÈ¡¸Ä±ä

ÄãÍêÈ«¿ÉÒÔÔÚÍÑÀëGit·þÎñÆ÷ËùÔÚÍøÂçµÄÇé¿öÏ£¬ÈçÒÆ¶¯°ì¹«£¯³ö²îʱ£¬ÕÕ³£Ê¹ÓôúÂë¿â

ÄãÖ»ÐèÒªÔÚÄܹ»½ÓÈëGit·þÎñÆ÷ËùÔÚÍøÂçʱ£¬PULLºÍPUSH¼´¿ÉÍê³ÉºÍ·þÎñÆ÷ͬ²½ÒÔ¼°Ìá½»

Ñ¡ÔñÊʺÏÍŶӵŤ×÷Á÷

·Ö²¼Ê½¹¤×÷Á÷³Ì:

ͬ´«Í³µÄ¼¯ÖÐʽ°æ±¾¿ØÖÆÏµÍ³£¨CVCS£©²»Í¬£¬Git µÄ·Ö²¼Ê½ÌØÐÔʹµÃ¿ª·¢Õß¼äµÄЭ×÷±äµÃ¸ü¼ÓÁé»î¶àÑù¡£ÔÚ¼¯ÖÐʽϵͳÖУ¬Ã¿¸ö¿ª·¢Õß¾ÍÏñÊÇÁ¬½ÓÔÚ¼¯Ï߯÷ÉϵĽڵ㣬±Ë´ËµÄ¹¤×÷·½Ê½´óÌåÏàÏñ¡£¶øÔÚ Git ÖУ¬Ã¿¸ö¿ª·¢Õßͬʱ°çÑÝ׎ڵãºÍ¼¯Ï߯÷µÄ½ÇÉ«¡ª¡ªÒ²¾ÍÊÇ˵£¬Ã¿¸ö¿ª·¢Õ߼ȿÉÒÔ½«×Ô¼ºµÄ´úÂë¹±Ï×µ½ÆäËûµÄ²Ö¿âÖУ¬Í¬Ê±Ò²ÄÜά»¤×Ô¼ºµÄ¹«¿ª²Ö¿â£¬ÈÃÆäËûÈË¿ÉÒÔÔÚÆä»ù´¡ÉϹ¤×÷²¢¹±Ï×´úÂë¡£ÓÉ´Ë£¬Git µÄ·Ö²¼Ê½Ð­×÷¿ÉÒÔΪÄãµÄÏîÄ¿ºÍÍŶÓÑÜÉú³öÖÖÖÖ²»Í¬µÄ¹¤×÷Á÷³Ì£¬½ÓÏÂÀ´µÄÕ½ڻá½éÉܼ¸ÖÖÀûÓÃÁË Git µÄÕâÖÖÁé»îÐԵij£¼ûÓ¦Ó÷½Ê½¡£ÎÒÃǽ«ÌÖÂÛÿÖÖ·½Ê½µÄÓŵãÒÔ¼°¿ÉÄܵÄȱµã£»Äã¿ÉÒÔÑ¡ÔñʹÓÃÆäÖеÄijһÖÖ£¬»òÕß½«ËüÃǵÄÌØÐÔ»ìºÏ´îÅäʹÓá£

Git ÌṩµÄÓÐÒÔÏÂÈýÖÖ¹¤×÷Á÷³Ì

¼¯ÖÐʽ¹¤×÷Á÷

¼¯³É¹ÜÀíÕß¹¤×÷Á÷

˾Áî¹ÙÓ븱¹Ù¹¤×÷Á÷

ĿǰÎÒÃÇÍŶÓʹÓõÄÊÇ×î¼òµ¥µÄ·½Ê½£¬¼¯ÖÐʽ¹¤×÷Á÷³Ì£¬Ëæ×ÅÑз¢ÍŶӵÄ׳´ó¿ÉÄÜ»áÑ¡ÔñʹÓõڶþÖÖ£¬ÏÂÃæÎÒÃÇ·Ö±ð½éÉÜÏÂÈýÖÖ¹¤×÷Á÷

1.¼¯ÖÐʽ¹¤×÷Á÷

¼¯ÖÐʽϵͳÖÐͨ³£Ê¹ÓõÄÊǵ¥µãЭ×÷Ä£ÐÍ¡ª¡ª¼¯ÖÐʽ¹¤×÷Á÷¡£Ò»¸öÖÐÐļ¯Ï߯÷£¬»òÕß˵²Ö¿â£¬¿ÉÒÔ½ÓÊÜ´úÂ룬ËùÓÐÈ˽«×Ô¼ºµÄ¹¤×÷Óë֮ͬ²½¡£Èô¸É¸ö¿ª·¢ÕßÔò×÷Ϊ½Úµã¡ª¡ªÒ²¾ÍÊÇÖÐÐIJֿâµÄÏû·ÑÕß¡ª¡ª²¢ÇÒÓëÆä½øÐÐͬ²½¡£

ÕâÒâζ×ÅÈç¹ûÁ½¸ö¿ª·¢Õß´ÓÖÐÐIJֿâ¿Ë¡´úÂëÏÂÀ´£¬Í¬Ê±×÷ÁËһЩÐ޸ģ¬ÄÇôֻÓеÚÒ»¸ö¿ª·¢Õß¿ÉÒÔ˳ÀûµØ°ÑÊý¾ÝÍÆËͻع²Ïí·þÎñÆ÷¡£µÚ¶þ¸ö¿ª·¢ÕßÔÚÍÆËÍÐÞ¸Ä֮ǰ£¬±ØÐëÏȽ«µÚÒ»¸öÈ˵Ť×÷ºÏ²¢½øÀ´£¬ÕâÑù²Å²»»á¸²¸ÇµÚÒ»¸öÈ˵ÄÐ޸ġ£ÕâºÍ Subversion £¨»òÈκΠCVCS£©ÖеĸÅÄîÒ»Ñù£¬¶øÇÒÕâ¸öģʽҲ¿ÉÒԺܺõØÔËÓõ½ Git ÖС£Èç¹ûÔÚ¹«Ë¾»òÕßÍŶÓÖУ¬ÄãÒѾ­Ï°¹ßÁËʹÓÃÕâÖÖ¼¯ÖÐʽ¹¤×÷Á÷³Ì£¬ÍêÈ«¿ÉÒÔ¼ÌÐø²ÉÓÃÕâÖÖ¼òµ¥µÄģʽ¡£Ö»ÐèÒª´î½¨ºÃÒ»¸öÖÐÐIJֿ⣬²¢¸ø¿ª·¢ÍŶÓÖеÄÿ¸öÈËÍÆËÍÊý¾ÝµÄȨÏÞ£¬¾Í¿ÉÒÔ¿ªÕ¹¹¤×÷ÁË¡£Git ²»»áÈÃÓû§¸²¸Ç±Ë´ËµÄÐ޸ġ£ÀýÈç John ºÍ Jessica ͬʱ¿ªÊ¼¹¤×÷¡£ JohnÍê³ÉÁËËûµÄÐ޸IJ¢ÍÆË͵½·þÎñÆ÷¡£½Ó×Å Jessica ³¢ÊÔÌá½»Ëý×Ô¼ºµÄÐ޸ģ¬È´Ôâµ½·þÎñÆ÷¾Ü¾ø¡£Ëý±»¸æÖªËýµÄÐÞ¸ÄÕýͨ¹ý·Ç¿ì½øÊ½£¨non-fast-forward£©µÄ·½Ê½ÍÆËÍ£¬Ö»Óн«Êý¾ÝץȡÏÂÀ´²¢ÇҺϲ¢ºó·½ÄÜÍÆËÍ¡£ÕâÖÖģʽµÄ¹¤×÷Á÷³ÌµÄʹÓ÷dz£¹ã·º£¬ÒòΪ´ó¶àÊýÈË¶ÔÆäºÜÊìϤҲºÜϰ¹ß¡£µ±È»Õâ²¢²»¾ÖÏÞÓÚСÍŶӡ£ÀûÓà Git µÄ·ÖÖ§Ä£ÐÍ£¬Í¨¹ýͬʱÔÚ¶à¸ö·ÖÖ§ÉϹ¤×÷µÄ·½Ê½£¬¼´Ê¹ÊÇÉϰÙÈ˵Ŀª·¢ÍŶÓÒ²¿ÉÒԺܺõØÔÚµ¥¸öÏîÄ¿ÉÏЭ×÷¡£

2.¼¯³É¹ÜÀíÕß¹¤×÷Á÷

Git ÔÊÐí¶à¸öÔ¶³Ì²Ö¿â´æÔÚ£¬Ê¹µÃÕâÑùÒ»ÖÖ¹¤×÷Á÷³ÉΪ¿ÉÄÜ£ºÃ¿¸ö¿ª·¢ÕßÓµÓÐ×Ô¼º²Ö¿âµÄдȨÏÞºÍÆäËûËùÓÐÈ˲ֿâµÄ¶ÁȨÏÞ¡£ÕâÖÖÇéÐÎÏÂͨ³£»áÓиö´ú±í``¹Ù·½''ÏîÄ¿µÄȨÍþµÄ²Ö¿â¡£ÒªÎªÕâ¸öÏîÄ¿×ö¹±Ï×£¬ÄãÐèÒª´Ó¸ÃÏîÄ¿¿Ë¡³öÒ»¸ö×Ô¼ºµÄ¹«¿ª²Ö¿â£¬È»ºó½«×Ô¼ºµÄÐÞ¸ÄÍÆËÍÉÏÈ¥¡£½Ó×ÅÄã¿ÉÒÔÇëÇó¹Ù·½²Ö¿âµÄά»¤ÕßÀ­È¡¸üкϲ¢µ½Ö÷ÏîÄ¿¡£Î¬»¤Õß¿ÉÒÔ½«ÄãµÄ²Ö¿â×÷ΪԶ³Ì²Ö¿âÌí¼Ó½øÀ´£¬ÔÚ±¾µØ²âÊÔÄãµÄ±ä¸ü£¬½«ÆäºÏ²¢ÈëËûÃǵķÖÖ§²¢ÍÆËͻعٷ½²Ö¿â¡£ÕâÒ»Á÷³ÌµÄ¹¤×÷·½Ê½ÈçÏÂËùʾ£º

ÏîĿά»¤ÕßÍÆË͵½Ö÷²Ö¿â¡£

¹±Ï×Õ߿ˡ´Ë²Ö¿â£¬×ö³öÐ޸ġ£

¹±Ï×Õß½«Êý¾ÝÍÆË͵½×Ô¼ºµÄ¹«¿ª²Ö¿â¡£

¹±Ï×Õ߸øÎ¬»¤Õß·¢ËÍÓʼþ£¬ÇëÇóÀ­È¡×Ô¼ºµÄ¸üС£

ά»¤ÕßÔÚ×Ô¼º±¾µØµÄ²Ö¿âÖУ¬½«¹±Ï×ÕߵIJֿâ¼ÓΪԶ³Ì²Ö¿â²¢ºÏ²¢Ð޸ġ£

ά»¤Õß½«ºÏ²¢ºóµÄÐÞ¸ÄÍÆË͵½Ö÷²Ö¿â¡£

ÕâÊÇ GitHub ºÍ GitLab µÈ¼¯Ï߯÷ʽ£¨hub-based£©¹¤¾ß×î³£ÓõŤ×÷Á÷³Ì¡£ÈËÃÇ¿ÉÒÔÈÝÒ׵ؽ«Ä³¸öÏîÄ¿ÅÉÉú³ÉΪ×Ô¼ºµÄ¹«¿ª²Ö¿â£¬ÏòÕâ¸ö²Ö¿âÍÆËÍ×Ô¼ºµÄÐ޸쬲¢ÎªÃ¿¸öÈËËù¼û¡£Õâô×ö×îÖ÷ÒªµÄÓŵãÖ®Ò»ÊÇÄã¿ÉÒÔ³ÖÐøµØ¹¤×÷£¬¶øÖ÷²Ö¿âµÄά»¤Õß¿ÉÒÔËæÊ±À­È¡ÄãµÄÐ޸ġ£¹±Ï×Õß²»±ØµÈ´ýά»¤Õß´¦ÀíÍêÌá½»µÄ¸üСª¡ªÃ¿Ò»·½¶¼¿ÉÒÔ°´ÕÕ×Ô¼º½Ú×๤×÷¡£

3.˾Áî¹ÙÓ븱¹Ù¹¤×÷Á÷

ÕâÆäʵÊǶà²Ö¿â¹¤×÷Á÷³ÌµÄ±äÖÖ¡£Ò»°ãÓµÓÐÊý°ÙλЭ×÷¿ª·¢Õߵij¬´óÐÍÏîÄ¿²Å»áÓõ½ÕâÑùµÄ¹¤×÷·½Ê½£¬ÀýÈçÖøÃûµÄ Linux ÄÚºËÏîÄ¿¡£±»³ÆÎª¸±¹Ù£¨lieutenant£©µÄ¸÷¸ö¼¯³É¹ÜÀíÕß·Ö±ð¸ºÔ𼯳ÉÏîÄ¿ÖеÄÌØ¶¨²¿·Ö¡£ËùÓÐÕâЩ¸±¹ÙÍ·ÉÏ»¹ÓÐһλ³ÆÎªË¾Áî¹Ù£¨dictator£©µÄ×ܼ¯³É¹ÜÀíÕ߸ºÔðͳ³ï¡£Ë¾Áî¹Ùά»¤µÄ²Ö¿â×÷Ϊ²Î¿¼²Ö¿â£¬ÎªËùÓÐЭ×÷ÕßÌṩËûÃÇÐèÒªÀ­È¡µÄÏîÄ¿´úÂë¡£Õû¸öÁ÷³Ì¿´ÆðÀ´ÊÇÕâÑùµÄ

ÆÕͨ¿ª·¢ÕßÔÚ×Ô¼ºµÄÌØÐÔ·ÖÖ§ÉϹ¤×÷£¬²¢¸ù¾Ýmaster·ÖÖ§½øÐбä»ù¡£ÕâÀïÊÇ˾Áî¹ÙµÄmaster·ÖÖ§¡£

¸±¹Ù½«ÆÕͨ¿ª·¢ÕßµÄÌØÐÔ·ÖÖ§ºÏ²¢µ½×Ô¼ºµÄmaster·ÖÖ§ÖС£

˾Áî¹Ù½«ËùÓи±¹ÙµÄmaster·ÖÖ§²¢Èë×Ô¼ºµÄmaster·ÖÖ§ÖС£

˾Áî¹Ù½«¼¯³ÉºóµÄmaster·ÖÖ§ÍÆË͵½²Î¿¼²Ö¿âÖУ¬ÒÔ±ãËùÓÐÆäËû¿ª·¢ÕßÒÔ´ËΪ»ù´¡½øÐбä»ù¡£

ÕâÖÖ¹¤×÷Á÷³Ì²¢²»³£Óã¬Ö»Óе±ÏîÄ¿¼«ÎªÅÓÔÓ£¬»òÕßÐèÒª¶à¼¶±ð¹ÜÀíʱ£¬²Å»áÌåÏÖ³öÓÅÊÆ¡£ÀûÓÃÕâÖÖ·½Ê½£¬ÏîÄ¿×ܸºÔðÈË£¨¼´Ë¾Áî¹Ù£©¿ÉÒÔ°Ñ´óÁ¿·ÖÉ¢µÄ¼¯³É¹¤×÷ίÍиø²»Í¬µÄС×鸺ÔðÈË·Ö±ð´¦Àí£¬È»ºóÔÚ²»Í¬Ê±¿Ì½«´ó¿éµÄ´úÂë×Ó¼¯Í³³ïÆðÀ´£¬ÓÃÓÚÖ®ºóµÄÕûºÏ¡£

½éÉÜÁËÉÏÃæÈýÖÖ¹¤×÷Á÷£¬Ïë±ØÄãÒ»¶¨ÓÐÏ뷨ʹÓÃÄÄÒ»ÖÖÁË£¬Ñ¡ÔñÒ»¸öÊʺÏ×Ô¼ºÍŶӵŤ×÷Á÷£¬Ö»ÒªÊÇÑϸñ°´ÕÕÕâÖÖ¹æÔòÖ´Ðеϰ£¬ÏàÐÅÄãµÄÑз¢ÍŶӶÔÓÚ´úÂëµÄ¹ÜÀíÒ»¶¨²»»áÔÙ»ìÂÒÁË£¬ÕâÒ²»á´ó´óÌáÉýÍŶӵŤ×÷ЧÂÊ¡£

¹ÜÀí Git ·ÖÖ§

¼¸ºõËùÓеİ汾¿ØÖÆÏµÍ³¶¼ÒÔijÖÖÐÎʽ֧³Ö·ÖÖ§¡£Ê¹Ó÷ÖÖ§Òâζ×ÅÄã¿ÉÒÔ°ÑÄãµÄ¹¤×÷´Ó¿ª·¢Ö÷ÏßÉÏ·ÖÀ뿪À´£¬ÒÔÃâÓ°Ï쿪·¢Ö÷Ïß¡£ÔÚºÜ¶à°æ±¾¿ØÖÆÏµÍ³ÖУ¬ÕâÊÇÒ»¸öÂÔ΢µÍЧµÄ¹ý³Ì¡ª¡ª³£³£ÐèÒªÍêÈ«´´½¨Ò»¸öÔ´´úÂëĿ¼µÄ¸±±¾¡£¶ÔÓÚ´óÏîÄ¿À´Ëµ£¬ÕâÑùµÄ¹ý³Ì»áºÄ·ÑºÜ¶àʱ¼ä¡£

ÓÐÈ衄 Git µÄ·ÖÖ§Ä£ÐͳÆÎªËüµÄ``±ØÉ±¼¼ÌØÐÔ''£¬Ò²ÕýÒòΪÕâÒ»ÌØÐÔ£¬Ê¹µÃ Git ´ÓÖÚ¶à°æ±¾¿ØÖÆÏµÍ³ÖÐÍÑÓ±¶ø³ö¡£ÎªºÎ Git µÄ·ÖÖ§Ä£ÐÍÈç´Ë³öÖÚÄØ£¿ Git ´¦Àí·ÖÖ§µÄ·½Ê½¿ÉνÊÇÄÑÒÔÖÃÐŵÄÇáÁ¿£¬´´½¨Ð·ÖÖ§ÕâÒ»²Ù×÷¼¸ºõÄÜÔÚ˲¼äÍê³É£¬²¢ÇÒÔÚ²»Í¬·ÖÖ§Ö®¼äµÄÇл»²Ù×÷Ò²ÊÇÒ»Ñù±ã½Ý¡£ÓëÐí¶àÆäËü°æ±¾¿ØÖÆÏµÍ³²»Í¬£¬Git ¹ÄÀøÔÚ¹¤×÷Á÷³ÌÖÐÆµ·±µØÊ¹Ó÷ÖÖ§ÓëºÏ²¢£¬ÄÄÅÂÒ»ÌìÖ®ÄÚ½øÐÐÐí¶à´Î¡£Àí½âºÍ¾«Í¨ÕâÒ»ÌØÐÔ£¬Äã±ã»áÒâʶµ½ Git ÊÇÈç´ËµÄÇ¿´ó¶øÓÖ¶ÀÌØ£¬²¢ÇÒ´Ó´ËÕæÕý¸Ä±äÄãµÄ¿ª·¢·½Ê½¡£

Git ´´½¨·ÖÖ§

Git ÊÇÔõô´´½¨Ð·ÖÖ§µÄÄØ£¿ºÜ¼òµ¥£¬ËüÖ»ÊÇΪÄã´´½¨ÁËÒ»¸ö¿ÉÒÔÒÆ¶¯µÄеÄÖ¸Õë¡£±ÈÈ磬´´½¨Ò»¸ö testing ·ÖÖ§£¬ÄãÐèҪʹÓÃgit branchÃüÁ

$ git branch testing

Õâ»áÔÚµ±Ç°ËùÔÚµÄÌá½»¶ÔÏóÉÏ´´½¨Ò»¸öÖ¸Õë

ÄÇô£¬Git ÓÖÊÇÔõô֪µÀµ±Ç°ÔÚÄÄÒ»¸ö·ÖÖ§ÉÏÄØ£¿Ò²ºÜ¼òµ¥£¬ËüÓÐÒ»¸öÃûΪHEADµÄÌØÊâÖ¸Õë¡£Çë×¢ÒâËüºÍÐí¶àÆäËü°æ±¾¿ØÖÆÏµÍ³£¨Èç Subversion »ò CVS£©ÀïµÄHEAD¸ÅÄîÍêÈ«²»Í¬¡£ÔÚ Git ÖУ¬ËüÊÇÒ»¸öÖ¸Õ룬ָÏòµ±Ç°ËùÔڵı¾µØ·ÖÖ§¡£ÔÚ±¾ÀýÖУ¬ÄãÈÔÈ»ÔÚmaster·ÖÖ§ÉÏ¡£ÒòΪgit branchÃüÁî½ö½ö´´½¨Ò»¸öзÖÖ§£¬²¢²»»á×Ô¶¯Çл»µ½Ð·ÖÖ§ÖÐÈ¥¡£

Äã¿ÉÒÔ¼òµ¥µØÊ¹ÓÃgit logÃüÁî²é¿´¸÷¸ö·ÖÖ§µ±Ç°ËùÖ¸µÄ¶ÔÏó¡£ÌṩÕâÒ»¹¦ÄܵIJÎÊýÊÇ--decorate¡£

$ git log --oneline --decoratef30ab (HEAD, master, testing) add feature #32 - ability to add new
34ac2 fixed bug #1328 - stack overflow under certain conditions
98ca9 initial commit of my project

ÕýÉÏ£¬µ±Ç°master ºÍtesting ·ÖÖ§¾ùÖ¸ÏòУÑéºÍÒÔf30ab¿ªÍ·µÄÌá½»¶ÔÏó¡£

·ÖÖ§Çл»

ÒªÇл»µ½Ò»¸öÒÑ´æÔڵķÖÖ§£¬ÄãÐèҪʹÓÃgit checkoutÃüÁî¡£ÎÒÃÇÏÖÔÚÇл»µ½Ð´´½¨µÄtesting·ÖÖ§È¥£º

$ git checkout testing

ÕâÑùHEAD¾ÍÖ¸Ïòtesting·ÖÖ§ÁË¡£

ÄÇô£¬ÕâÑùµÄʵÏÖ·½Ê½»á¸øÎÒÃÇ´øÀ´Ê²Ã´ºÃ´¦ÄØ£¿ÏÖÔÚ²»·ÁÔÙÌá½»Ò»´Î£º

$ vim test.rb
$ git commit -a -m 'made a change'

ÈçÉÏͼËùʾ£¬ÄãµÄtesting·ÖÖ§ÏòÇ°ÒÆ¶¯ÁË£¬µ«ÊÇmaster·Ö֧ȴûÓУ¬ËüÈÔȻָÏòÔËÐÐgit checkoutʱËùÖ¸µÄ¶ÔÏó¡£Õâ¾ÍÓÐÒâ˼ÁË£¬ÏÖÔÚÎÒÃÇÇл»»Ømaster·ÖÖ§¿´¿´£º

$ git checkout master

ÕâÌõÃüÁî×öÁËÁ½¼þÊ¡£Ò»ÊÇʹ HEAD Ö¸»Ømaster·ÖÖ§£¬¶þÊǽ«¹¤×÷Ŀ¼»Ö¸´³Émaster·ÖÖ§ËùÖ¸ÏòµÄ¿ìÕÕÄÚÈÝ¡£Ò²¾ÍÊÇ˵£¬ÄãÏÖÔÚ×öÐ޸ĵϰ£¬ÏîÄ¿½«Ê¼ÓÚÒ»¸ö½Ï¾ÉµÄ°æ±¾¡£±¾ÖÊÉÏÀ´½²£¬Õâ¾ÍÊǺöÂÔtesting·ÖÖ§Ëù×öµÄÐ޸ģ¬ÒÔ±ãÓÚÏòÁíÒ»¸ö·½Ïò½øÐпª·¢¡£

ÏÖÔÚÎÒÃÇÉÔ΢ÔÙ×öЩÐ޸IJ¢commit:

$ vim test.rb
$ git commit -a -m 'made other changes'

ÏÖÔÚ£¬Õâ¸öÏîÄ¿µÄÌá½»ÀúÊ·ÒѾ­²úÉúÁ˷ֲ档ÒòΪ¸Õ²ÅÄã´´½¨ÁËÒ»¸öзÖÖ§£¬²¢Çл»¹ýÈ¥½øÐÐÁËһЩ¹¤×÷£¬ËæºóÓÖÇл»»Ø master ·ÖÖ§½øÐÐÁËÁíÍâһЩ¹¤×÷¡£ÉÏÊöÁ½´Î¸Ä¶¯Õë¶ÔµÄÊDz»Í¬·ÖÖ§£ºÄã¿ÉÒÔÔÚ²»Í¬·ÖÖ§¼ä²»¶ÏµØÀ´»ØÇл»ºÍ¹¤×÷£¬²¢ÔÚʱ»ú³ÉÊìʱ½«ËüÃǺϲ¢ÆðÀ´¡£¶øËùÓÐÕâЩ¹¤×÷£¬ÄãÐèÒªµÄÃüÁîÖ»ÓÐbranch¡¢checkoutºÍcommit¡£

Git ºÏ²¢·ÖÖ§

½ÓÏÂÀ´ÔÛÃǾٸöÉÔ΢¸´ÔÓµãµÄÀý×Ó£¬Èý¸ö·ÖÖ§µÄ·Ö±ð´¦Àí²»Í¬µÄÊÂÇ飬×îºóºÏ²¢µ½Ò»¿é

Ê×ÏÈ£¬ÎÒÃǼÙÉèÄãÕýÔÚÄãµÄÏîÄ¿ÉϹ¤×÷£¬²¢ÇÒÒѾ­ÓÐһЩÌá½»£¬ ÈçÏÂͼ:

ÏÖÔÚ£¬ÄãÒѾ­¾ö¶¨Òª½â¾öÄãµÄ¹«Ë¾Ê¹ÓõÄÎÊÌâ×·×ÙϵͳÖÐµÄ #53 ÎÊÌâ¡£ÏëҪн¨Ò»¸ö·ÖÖ§²¢Í¬Ê±Çл»µ½ÄǸö·ÖÖ§ÉÏ£¬Äã¿ÉÒÔÔËÐÐÒ»¸ö´øÓÐ-b²ÎÊýµÄgit checkoutÃüÁ

$ git checkout -b iss53
Switched to a new branch "iss53"

ËüÊÇÏÂÃæÁ½ÌõÃüÁîµÄ¼òд£º

$ git branch iss53
$ git checkout iss53

Äã¼ÌÐøÔÚ #53 ÎÊÌâÉϹ¤×÷£¬²¢ÇÒ×öÁËһЩÌá½»¡£Ôڴ˹ý³ÌÖУ¬iss53·ÖÖ§ÔÚ²»¶ÏµÄÏòÇ°ÍÆ½ø£¬ÒòΪÄãÒѾ­¼ì³öµ½¸Ã·ÖÖ§£¨Ò²¾ÍÊÇ˵£¬ÄãµÄHEADÖ¸ÕëÖ¸ÏòÁËiss53·ÖÖ§£©

$ vim index.html
$ git commit -a -m 'added a new footer [issue 53]'

µ±ÄãÔÚiss53Õâ¸ö·ÖÖ§ÉÏÕýÔÚ˳³©µÄ¹¤×÷£¬ÕâʱºòÓиöÌØ±ð½ô¼±µÄÎÊÌâÐèÒªÄãÀ´ÐÞ¸´£¬ÄÇôΪÁ˲»Ó°Ïìiss53µÄÕý³£¹¤×÷£¬ÄãÐèÒª×öµÄÊÇÖØÐÂÇл»µ½master·ÖÖ§ÉÏÀ´£¬ÔÚmaster·ÖÖ§µÄ»ù´¡ÉÏÔÙ´´½¨Ò»¸öеķÖÖ§ hotfix £¬È»ºóÔÚhotfix·ÖÖ§½â¾ö½ô¼±µÄÎÊÌâ¡£

$ git checkout -b hotfix
Switched to a new branch 'hotfix'
$ vim index.html
$ git commit -a -m 'fixed the broken email address'
[hotfix 1fb7853] fixed the broken email address
1 file changed, 2 insertions(+)

Õâ¸öʱºòhotfix·ÖÖ§ÉϵÄÎÊÌâ³¹µ×½â¾öÁË£¬ÄãÐèÒªºÏ²¢µ½master·ÖÖ§£¬²¢ÇÒ²¿ÊðÉÏÏߣ¬ ÄÇôÄãÖ»ÐèÒªÔÚmaster·Ö֧ʹÓÃgit mergeÃüÁî¾Í¿ÉÒÔÁË

$ git checkout master
$ git merge hotfix
Updating f42c576..3a0874c
Fast-forward index.html | 2 ++
1 file changed, 2 insertions(+)

Ôںϲ¢µÄʱºò£¬ÄãÓ¦¸Ã×¢Òâµ½ÁË"¿ì½ø£¨fast-forward£©"Õâ¸ö´Ê¡£ÓÉÓÚµ±Ç°master·ÖÖ§ËùÖ¸ÏòµÄÌá½»ÊÇÄ㵱ǰÌá½»£¨ÓÐ¹Ø hotfix µÄÌá½»£©µÄÖ±½ÓÉÏÓΣ¬ËùÒÔ Git Ö»ÊǼòµ¥µÄ½«Ö¸ÕëÏòÇ°ÒÆ¶¯¡£»»¾ä»°Ëµ£¬µ±ÄãÊÔͼºÏ²¢Á½¸ö·Ö֧ʱ£¬Èç¹û˳×ÅÒ»¸ö·ÖÖ§×ßÏÂÈ¥Äܹ»µ½´ïÁíÒ»¸ö·ÖÖ§£¬ÄÇô Git Ôںϲ¢Á½ÕßµÄʱºò£¬Ö»»á¼òµ¥µÄ½«Ö¸ÕëÏòÇ°ÍÆ½ø£¨Ö¸ÕëÓÒÒÆ£©£¬ÒòΪÕâÖÖÇé¿öϵĺϲ¢²Ù×÷ûÓÐÐèÒª½â¾öµÄ·ÖÆç¡ª¡ªÕâ¾Í½Ð×ö ¡°¿ì½ø£¨fast-forward£©¡±¡£ÏÖÔÚ£¬×îеÄÐÞ¸ÄÒѾ­ÔÚmaster·ÖÖ§ËùÖ¸ÏòµÄÌá½»¿ìÕÕÖÐÁË¡£

¹ØÓÚÕâ¸ö½ô¼±ÎÊÌâµÄ½â¾ö·½°¸·¢²¼Ö®ºó£¬Äã×¼±¸»Øµ½±»´ò¶Ï֮ǰʱµÄ¹¤×÷ÖС£È»¶ø£¬ÄãÓ¦¸ÃÏÈɾ³ýhotfix·ÖÖ§£¬ÒòΪÄãÒѾ­²»ÔÙÐèÒªËüÁË£¬ master·ÖÖ§ÒѾ­Ö¸ÏòÁËͬһ¸öλÖá£Äã¿ÉÒÔʹÓôø-dÑ¡ÏîµÄgit branchÃüÁîÀ´É¾³ý·ÖÖ§£º

$ git branch -d hotfix
Deleted branch hotfix (3a0874c).

ÏÖÔÚÄã¿ÉÒÔÇл»»ØÄãÕýÔÚ¹¤×÷µÄ·ÖÖ§¼ÌÐøÄãµÄ¹¤×÷£¬Ò²¾ÍÊÇÕë¶Ôiss53·ÖÖ§

$ git checkout iss53
Switched to branch "iss53"
$ vim index.html
$ git commit -a -m 'finished the new footer [issue 53]'
[iss53 ad82d7a] finished the new footer [issue 53]
1 file changed, 1 insertion(+)

Õâ¸öʱºò #53 ÎÊÌâ½â¾öºóÄã¾Í¿ÉÒÔ°Ñ´úÂëºÏ²¢µ½masterÁË£¬²Ù×÷¸ú¸Õ²ÅµÄhtofix·ÖÖ§´¦Àí·½Ê½Ò»Ñù

$ git checkout master
Switched to branch 'master'
$ git merge iss53
Merge made by the 'recursive' strategy.index.html | 1 +
1 file changed, 1 insertion(+)

µ«ÊÇÕâºÍÄã֮ǰºÏ²¢hotfix·ÖÖ§µÄʱºò¿´ÆðÀ´ÓÐÒ»µã²»Ò»Ñù¡£ÔÚÕâÖÖÇé¿öÏ£¬ÄãµÄ¿ª·¢ÀúÊ·´ÓÒ»¸ö¸üÔçµÄµØ·½¿ªÊ¼·Ö²æ¿ªÀ´£¨diverged£©¡£ÒòΪ£¬master·ÖÖ§ËùÔÚÌá½»²¢²»ÊÇiss53·ÖÖ§ËùÔÚÌá½»µÄÖ±½Ó׿ÏÈ£¬Git ²»µÃ²»×öһЩ¶îÍâµÄ¹¤×÷¡£³öÏÖÕâÖÖÇé¿öµÄʱºò£¬Git »áʹÓÃÁ½¸ö·ÖÖ§µÄÄ©¶ËËùÖ¸µÄ¿ìÕÕ£¨C4ºÍC5£©ÒÔ¼°ÕâÁ½¸ö·ÖÖ§µÄ¹¤×÷׿ÏÈ£¨C2£©£¬×öÒ»¸ö¼òµ¥µÄÈý·½ºÏ²¢¡£

ºÍÖ®¼ä½«·ÖÖ§Ö¸ÕëÏòÇ°ÍÆ½øËù²»Í¬µÄÊÇ£¬Git ½«´Ë´ÎÈý·½ºÏ²¢µÄ½á¹û×öÁËÒ»¸öеĿìÕÕ²¢ÇÒ×Ô¶¯´´½¨Ò»¸öеÄÌá½»Ö¸ÏòËü¡£Õâ¸ö±»³Æ×÷Ò»´ÎºÏ²¢Ìá½»£¬ËüµÄÌØ±ðÖ®´¦ÔÚÓÚËûÓв»Ö¹Ò»¸ö¸¸Ìá½»¡£

Õâ¸öʱºòÈçºÎ²»ÐèÒªiss53·ÖÖ§µÄ»°£¬ÄãÒ²¿ÉÒÔɾ³ýiss53·ÖÖ§ÁË

Ô¶³Ì·ÖÖ§

ÒÔgithubΪÀý£¬Ä¿Ç°ºÜ¶à¿ªÔ´ÏîÄ¿ÒÔ¼°¹«Ë¾µÄÑз¢ÏîÄ¿´úÂëÒ»°ã¶¼ÍйÜÔÚgithub£¬ÄÇô¾Í³öÏÖÁËÔ¶³Ì²Ö¿â£¬Ô¶³Ì·ÖÖ§µÈÕâЩ¸ÅÄî¡£

ÏÂÃæÎÒÃÇ´ÓgithubÔ¶³Ì²Ö¿âcloneÏÂÀ´Ò»·Ý´úÂë

Èç¹ûÄãÔÚ±¾µØµÄmaster·ÖÖ§×öÁËһЩ¹¤×÷£¬È»¶øÔÚͬһʱ¼ä£¬ÆäËûÈËÍÆËÍÌá½»µ½git@github.com:glj1102/git_test.git ²¢¸üÐÂÁËËüµÄmaster·ÖÖ§£¬ÄÇôÄãµÄÌá½»ÀúÊ·½«Ïò²»Í¬µÄ·½Ïòǰ½ø¡£Ò²Ðí£¬Ö»ÒªÄã²»Óë origin ·þÎñÆ÷Á¬½Ó£¬ÄãµÄorigin/masterÖ¸Õë¾Í²»»áÒÆ¶¯¡£

Èç¹ûҪͬ²½ÄãµÄ¹¤×÷£¬ÔËÐÐgit pullÃüÁî¡£Õâ¸öÃüÁîÊÇץȡԶ³Ì·ÖÖ§Êý¾Ýµ½±¾µØ·ÖÖ§£¬²¢ÇÒ¸üб¾µØÊý¾Ý¿â£¬Òƶ¯origin/masterÖ¸ÕëÖ¸Ïòеġ¢¸üкóµÄλÖá£Í¬Ê±ÄãÒ²¿ÉÒÔÖ´ÐÐ git pushÃüÁî°ÑÄã±¾µØÐ޸ĵÄÊý¾ÝÌá½»µ½Ô¶³Ì·ÖÖ§¡£

ʵʱ¸ú×ÙºÍ¼à¿ØÍŶӴúÂë²Ù×÷¼Ç¼

ÎÒÃÇʹÓõÄÊÇ Worktile + github À´¹ÜÀíÍŶӵ쬯½Ê±ÍŶӹµÍ¨£¬ÈÎÎñ·ÖÅä¶¼ÊÇͨ¹ýWorktileÀ´×öµÄ£¬ÄÇô Worktile ÓëgithubÈçºÎ¹ØÁªµÄÄØ£¿

Worktile°ó¶¨github´úÂë²Ö´¢

ÔÚWorktileµÄºǫ́¹ÜÀí > ·þÎñ¹ÜÀíÖÐÕÒµ½github£¬µã»÷Ìí¼Ó

ÏÂÒ»²½»áÈÃÄãÑ¡ÔñWorktileµÄÒ»¸öÁÄÌìȺ×飬֮ºógithubµÄÌá½»¼Ç¼¾Í»á·¢Ë͵½Õâ¸öȺ×éÖУº

Ìí¼Ó·þÎñÖ®ºóÐèÒª½øÐÐһЩÅäÖã¬ÅäÖ÷½Ê½ÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÊÚȨģʽ£¬Ñ¡Ôñ²Ö´¢£¬Ñ¡Ôñʼþ£¬ ÁíÒ»ÖÖÊÇÆÕͨģʽ£¬ÕâÖÖģʽWorktile»áÉú³ÉÒ»¸öWebhookÁ´½Ó£¬Äõ½Õâ¸öÁ´½Ó¿ÉÒÔÖ±½ÓÔÚgithub²Ö´¢ÖнøÐÐWebhookÅäÖãº

¾ßÌåµÄÅäÖÃWorktileºǫ́github·þÎñÉèÖÃÖÐÓн̡̳£

Worktile½ÓÊÕgithub·¢Ë͵IJÙ×÷¼Ç¼

¸ù¾Ý²»ÅäÖÃʱѡÔñµÄʼþ²»Í¬£¬github»á·¢ËͲ»Í¬µÄ¼Ç¼ÏûÏ¢

ÏëÁ˽â¸ü¶à¹ØÓÚWorktile£¬¿ÉÒÔµã»÷Worktile²é¿´¸ü¶àŶ~

×ܽá

ͨ¹ýÉÏÃæ¶ÔGitµÄ½éÉÜ£¬¶ÔÓÚÍŶӹÜÀíÕßÀ´Ëµ£¬ÈçºÎʹÓÃGitÀ´ÓÐЧµÄ¹ÜÀíÍŶӴúÂëÓ¦¸Ã»áÓÐ×î»ù±¾µÄ¸ÅÄÄǽÓÏÂÀ´¾ÍÐèÒªÄãÕæÕýµÄ»¨Ê±¼äÀ´Êµ¼ùÁË¡£

 
   
1950 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

ÿÈÕ¹¹½¨½â¾ö·½°¸
ÈçºÎÖÆ¶¨ÓÐЧµÄÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀíÖ÷Òª»î¶¯¼°ÊµÏÖ·½·¨
¹¹½¨¹ÜÀíÈëÃÅ
Ïà¹ØÎĵµ

ÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀí°×ƤÊé
CM09_CÅäÖùÜÀí±ê×¼
ʹÓÃSVN½øÐа汾¿ØÖÆ
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí