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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¹ØÓÚ Git ÄãÐèÒªÖªµÀµÄһЩÊÂÇé
 
À´Ô´£ºÍøÂç ·¢²¼ÓÚ£º 2017-5-22
  1878  次浏览      27
 

·ÖÖ§ºÍºÏ²¢

Git ¸úÆäËû°æ±¾¿ØÖÆÏµÍ³×î´óµÄÓÅÊÆ¾ÍÔÚÓÚÆä¸ß¼¶µÄ·ÖÖ§Ä£ÐÍ¡£

Git ÔÊÐí¶øÇÒ ¹ÄÀø ÄãÔÚ±¾µØÊ¹Óöà¸öÍêÈ«¶ÀÁ¢µÄ·ÖÖ§¡£ÕâЩ·ÖÖ§µÄ´´½¨£¬ºÏ²¢ºÍɾ³ý¼¸ºõ¶¼¿ÉÒÔÔÚ¼¸ÃëÄÚÍê³É¡£

ÕâÒâζ×ÅÄã¿ÉÒÔÇáËɵÄ×öÈçϲÙ×÷£º

ÎÞÍ´µÄÉÏÏÂÎÄÇл» ´´½¨·ÖÖ§ÊÔÑéÒ»¸öÏë·¨£¬Ìá½»¼¸´Î£¬ÇлØÄãÔ­À´·ÖÖ§µÄ״̬£¬Ó¦ÓÃÒ»¸ö¸Ä¶¯ patch£¬ÇлØÄãÔ­À´ÕýÔÚÊÔÑéµÄ״̬£¬½«¸Õ²ÅÓ¦ÓÃµÄ patch ºÏ²¢¹ýÀ´¡£

»ùÓÚ½ÇÉ«µÄ´úÂëÖ§Ïß Äã¿ÉÄÜ»áÓÐÒ»¸ö·ÖÖ§½ö½ö°üº¬ÄÇЩֻ´æÔÚÓÚÉú²ú»·¾³ÉϵĴúÂ룬ÁíÍâÓÐÒ»¸ö¶ÀÁ¢µÄ·ÖÖ§ÓÃÒԺϲ¢²âÊÔ»·¾³´úÂ룬»¹ÓÐÈô¸É¸ö¸üСһЩµÄ·ÖÖ§ÓÃÓÚÈÕ³£¿ª·¢¹¤×÷

»ùÓÚÌØÐԵŤ×÷Á÷ Ϊÿһ¸öеÄÌØÐÔ´´½¨ÐµķÖÖ§£¬Äã¿ÉÒÔ·½±ãƽ»¬µÄÔÚÕâЩ·ÖÖ§Ö®¼äÎÞ·ìÇл»£¬µ±ÕâÐ©ÌØÐԵĸ͝Íê³ÉµÄʱºò£¬Äã¿ÉÒÔ½«ÆäºÏ²¢ÈëÖ÷·ÖÖ§£¬²¢°ÑÌØÐÔ·Ö֧ɾµô¡£

ÈÎÒâÊÔÑé ´´½¨Ò»¸ö·Ö֧רÃÅÓÃÀ´ÊÔÑ飬µ±¾õµÃÊÔÑé²»ÀíÏëµÄʱºò£¬Ö±½Óɾ³ýµô¼´¿É£¬·ÅÆúµô֮ǰµÄÊÔÑéÄÚÈÝ¡£Õâʱºò²»»áÓÐÈÎºÎÆäËûÈ˲ì¾õµ½Õâ¸öÊÔÑ飨ÉõÖÁÔÚÕâÆÚ¼äÄ㻹¿ÉÒÔÍÆËÍÆäËû²»Ïà¹ØµÄ·ÖÖ§£©

ÓÈÆäÊǵ±ÄãÍÆËÍÖÁÔ¶³Ì²Ö¿âµÄʱºò£¬Äã²»±ØÍÆËÍËùÓзÖÖ§£¬Äã¿ÉÒÔÑ¡ÔñÖ»ÍÆËÍÉÙÊýÄãÔ¸Òâ·ÖÏíµÄ·ÖÖ§£¬µ±È»Èç¹ûÄãÔ¸Ò⣬Ҳ¿ÉÒÔÍÆËÍËùÓзÖÖ§¡£ÕâÒ»µãÇãÏòÓÚÈÿª·¢ÕßÔÚÊÔÑéºÜ¶àеÄÏë·¨µÄʱºòÃâ³ý·¢²¼×Ô¼ºµÄδ³ÉÊìµÄÊÔÑ鼯»®µÄ¹ËÂÇ¡£

µ±È»£¬Ò²ÓÐһЩÆäËûµÄϵͳ¿ÉÒÔ²¿·ÖʵÏÖÉÏÊöµÄ¹¦ÄܺÍÓÅÊÆ£¬Ö»ÊǾßÌåµÄÖ´Ðлá±äµÄÀ§ÄѺÍÈÝÒ׳ö´í¡£Git ÈÃÕâЩ¹¤×÷±äµÃÄÑÒÔÖÃÐŵļòµ¥£¬ËüÔÚ¿ª·¢ÕßѧϰÆäʹÓõÄͬʱ¾Í¸Ä±äÁË¿ª·¢ÕߵŤ×÷ģʽ¡£

ÇáÁ¿ºÍ¿ìËÙ

Git ºÜ¿ì¡£Git »ù±¾ÉÏËùÓеIJÙ×÷¶¼ÔÚ±¾µØÖ´ÐУ¬Õâ¶ÔÓÚÄÇЩ±ØÐë¸ú·þÎñÆ÷ͨÐŵļ¯ÖÐʽϵͳÊÇÒ»¸ö¾Þ´óµÄËÙ¶ÈÓÅÊÆ¡£

Git Ò»¿ªÊ¼ÊÇΪÁ˹ÜÀí Linux Kernel µÄÔ´´úÂëÉè¼ÆµÄ£¬ÕâÒâζ×ÅËû´ÓµÚÒ»Ììµ®Éú¾ÍÓµÓÐÁË´¦Àí´óÐͲֿâµÄ¸ßЧÓÅÊÆ¡£Git ʹÓà C ÓïÑÔ±àд£¬¼õÇáÁËʹÓøü¸ß¼¶±ð±à³ÌÓïÑ﵀ Runtime ´øÀ´µÄÐÔÄÜËðºÄ¡£Git ×ʼµÄÁ½¸öÖØÒªµÄÉè¼ÆÄ¿±ê¾ÍÊÇÐÔÄܺÍËÙ¶È¡£

ѹÁ¦²âÊÔ

ÈÃÎÒÃÇ¿´Ò»ÏÂÓë SVN £¨Ò»¸öͨÓõļ¯ÖÐʽ´æ´¢°æ±¾¿ØÖÆÏµÍ³£¬¸ú CVS ºÍ Perforce ºÜÏñ£©Ïà±Èϵij£¹æ²Ù×÷µÄÐÔÄܲâÊÔÖ¸±ê¡£ÕâÀïÖ¸±êÊÇֵԽС£¬ËÙ¶ÈÔ½¿ì¡£

ΪÁ˲âÊÔ£¬ÎÒÃÇÔÚÑÇÂíÑ·µÄ AWS µÄͬÑùµÄ¿ÉÓÃÇøÉÏн¨ÁËÁ½¸ö Large ÀàÐ͵ļÆËã·þÎñÆ÷ʵÀý¡£Ã¿Ò»¸ö¼ÆËãʵÀýÉ϶¼°²×° Git ºÍ SVN¡£ ÎÒÃÇ°Ñ Ruby µÄÔ´´úÂë²Ö¿â¿½±´µ½ÁË Git ºÍ SVN µÄ¼ÆËã·þÎñÆ÷ʾÀýÉÏ£¬Á½Õß¶¼Ö´ÐÐͨÓõIJÙ×÷¡£

ÔÚÓÐЩÇé¿öÏ£¬Á½ÕßµÄÃüÁîºÍʵ¼ÊЧ¹û²¢²»ÄÜÍêÈ«¶ÔÓ¦ÆðÀ´¡£ÔÚÕâÀÎÒÃÇÔÚ³£ÓõIJÙ×÷ÖÐÑ¡ÔñÏàËÆÐ§¹ûµÄÆ¥ÅäÇé¿ö¡£ÀýÈ磬¶ÔÓÚ ¡°Ìá½»¡± µÄ²âÊÔ£¬ÔÚ Git ÖÐÎÒÃÇÒ²ÊǼÆËã Push µÄʱ¼äµÄ¡£È»¶øÔÚ´ó¶àÊýÇé¿öÏ£¬Äã¿ÉÄÜʵ¼ÊÉϲ¢²»»áÔÚÌá½»ºóÂíÉϾÍÍÆË͵½·þÎñÆ÷ÉÏ£¬ÕâÔÚ SVN ÉÏÊDz»¿É·Ö¸îµÄ²Ù×÷¡£

ÏÂÃæ±í¸ñÖÐËùÓеÄʱ¼äµ¥Î»¶¼ÊÇÃë¡£

ÄãÐèҪעÒâµÄÊÇ£¬ÕâÒѾ­ÊÇ SVN ×îºÃµÄÔËÐг¡¾°ÁË -- Ò»¸öûÓÐÈκθºÔصķþÎñÆ÷£¬¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼äµÄÍøÂç´ø¿í´ïµ½ 80MB/s¡£ÉÏÎÄÖеÄËùÓÐÖ¸±êÔÚÊÜÍøÂ粨¶¯£¬»òÕßÔÚÒ»¸ö¸ü²îµÄÍøÂç»·¾³Ï SVN µÄ±íÏÖ¶¼¸ü²î£¬È»¶ø Git Õâ±ß¼¸ºõËùÓеÄÖ¸±ê¶¼²»ÊÜÓ°Ïì¡£

ºÜÃ÷ÏÔ£¬ÔÚÕâЩ×î³£Óõİ汾¿ØÖƹ¤¾ßµÄ²Ù×÷ÖУ¬ÉõÖÁÊÇÔÚ SVN µÄÀíÏëʹÓû·¾³Ï£¬**Git ÔÚºÜ¶à·½Ãæ¶¼´ó·ùÁìÏÈ **¡£

Ò»¸ö Git ±È SVN ÂýµÄµØ·½Êdzõʼ»¯ clone ²Ö¿â¡£ÔÚÕâÖÖÇé¿öÏ£¬Git ÊÇÔÚÏÂÔØÕû¸ö²Ö¿âÀúÊ·¶ø²»Êǽö½öÊÇ×îа汾µÄ´úÂë¡£ÉÏÎÄÖеıí¸ñËùʾ£¬½ö½öÖ´ÐÐÒ»´ÎµÄ²Ù×÷Ó°Ïì²¢²»ÊǺܴó¡£

ÁíÍâÒ»¸öÓÐȤµÄµãÊÇ£¬Git ºÍ SVN ÔÚ Clone »òÕß Checkout µ½±¾µØºóµÄÎļþ´óС¼¸ºõ²î±ð²»´ó£¬ÒªÖªµÀ¶ÔÓÚ Git À´Ëµ£¬±¾µØ¿ÉÊǰüº¬ÁËÕû¸öÏîÄ¿ÀúÊ·¡£ÕâҲչʾÁË Git ÔÚÎļþѹËõºÍ´æ´¢Éϵij¬¸ßЧÂÊ¡£

·Ö²¼Ê½

Git ×î°ôµÄÌØÐÔÖ®Ò»¾ÍÊÇ·Ö²¼Ê½¡£ÕâÒâζ×Å£¬ÄãÒª clone Õû¸ö²Ö¿â¶ø²»Êǽö½ö checkout ·ÖÖ§µÄ×îÐÂÍ·²¿°æ±¾¡£

¶à¸ö±¸·Ý

ÔÚÈÕ³£µÄʹÓó¡¾°ÖÐ Git ÍùÍùÓжà¸ö±¸·Ý¡£ÕâÒâζמÍËãÔÚʹÓÃÒ»¸öÖÐÑë´æ´¢Ê½µÄ¹¤×÷Á÷£¬Ã¿Ò»¸öÓû§¶¼ÔÚ±¾µØÓÐÒ»¸ö·þÎñÆ÷ÉϵÄÍêÕû±¸·Ý¡£ÕâÀïµÄÈÎÒâÒ»¸ö°æ±¾¶¼¿ÉÒÔÔÚ·þÎñÆ÷¶ËÊý¾ÝË𻵻òÕß¶ªÊ§µÄʱºòÍÆËͻطþÎñÆ÷ÒÔÍì¾ÈËðʧ¡£ÊÂʵÉÏ£¬Ö»ÒªÄãµÄ²Ö¿â²»ÊÇÖ»ÓÐÒ»¸ö copy£¬Git ¾Í²»»á´æÔÚµ¥µãÎÊÌâ¡£

ÈÎÒ⹤×÷Á÷

ÒòΪ Git ÓµÓзֲ¼Ê½ÌØÐԺͼ«ºÃµÄ·Ö֧ϵͳ£¬Äã¿ÉÒÔÔÚ´Ë»ù´¡ÉÏÇáËÉʵÏÖ´óÁ¿µÄ¹¤×÷Á÷Ä£ÐÍ¡£

Subversion£¨SVN£© ·ç¸ñ¹¤×÷Á÷

¼¯ÖÐʽ´æ´¢µÄ¹¤×÷Á÷·Ç³£³£¼û£¬ÌرðÊǶÔÓÚÄÇЩ´Ó´«Í³µÄ¼¯ÖÐʽ´úÂë°æ±¾¹ÜÀíϵͳת¹ýÀ´Ê¹Óà Git µÄÈË¡£Git Ò»Ñù¿ÉÒÔÌṩÕâÖÖ¹¤×÷ÐÎʽ£ºÃ¿´Î Push ±ØÐëÒª¸üе½Ô¶³Ì²Ö¿âµÄ×îа汾¡£ËùÒÔ˵´ó¼Ò»¹ÊÇÏñÒÔǰһÑùʹÓü¯ÖÐʽ´æ´¢µÄ¹¤×÷Á÷Íùͬһ¸ö·þÎñÆ÷ÉÏ Push ´úÂëÒÀȻûÎÊÌâ¡£

ÕûºÏ¹ÜÀíÕß¹¤×÷Á÷

ÁíÍâÒ»¸ö³£¼ûµÄ Git ¹¤×÷Á÷ÊÇÕûºÏ¹¤×÷Á÷¡£Ö÷ÒªµÄ²Ö¿âÓÐÒ»¸öµ¥Ò»µÄ¿ª·¢Õßά»¤£¨Î¬»¤Õߣ©¡£ÆäËûÈô¸É¿ª·¢Õß´ÓÕâ¸ö²Ö¿â clone£¬È»ºóÍÆË͵½ËûÃÇ×Ô¼ºµÄÍêÈ«¶ÀÁ¢µÄ²Ö¿âÀïÃæ£¬×îºóÇëÇóά»¤Õß´ÓÖ÷Òª²Ö¿â Pull ÄÇЩËûÃÇÔÚ¸÷×ԵIJֿâÀïÃæµÄ¸Ä¶¯¡£ÕâÖÖÐÎʽÍùÍùÔÚ GitHub ÉÏÒÔ¿ªÔ´µÄÐÎʽ½øÐÐЭ×÷¡£

ά»¤Õߺ͸ºÔðÈ˹¤×÷Á÷

¶ÔÓÚһЩ¸üΪ¸´ÔÓµÄÏîÄ¿À´½²£¬Ïñ Linux ÄÚºËÕâÑùµÄ¿ª·¢¹¤×÷Á÷Ò²ÊǺÜÓÐЧµÄ¡£ÔÚÕâ¸öÄ£ÐÍÖУ¬¸ºÔðÈË£¨lieutenants£©¸ºÔðÕû¸öÏîÄ¿µÄÒ»Ð©ÌØ¶¨µÄ×Óϵͳ£¬ËûÃǺϲ¢ËùÓиúÄǸö×Óϵͳ¹ØÁªµÄ±ä¶¯¡£ÁíÍâÒ»¸öά»¤Õߣ¨dictator£¬×ÖÃæÀí½â£º¶À²ÃÕߣ©Ö»ÄÜ´ÓËû¹ÜϽµÄ¸ºÔðÈËÕâÀï»ñÈ¡±ä¸ü£¬²¢½«ÕâЩ±ä¸üÍÆË͵½Ö÷Òª²Ö¿â¡£È»ºóËùÓÐÈ˶¼´ÓÕâ¸ö²Ö¿â»ñÈ¡¸üС£

Êý¾ÝУÑé

Git µÄÊý¾ÝÄ£ÐÍÈ·±£ÁËÏîÄ¿ÄÚµÄÿһ¸ö×Ö½Ú£¬Ã¿Ò»¸ö bit µÄÒ»ÖÂÐÔ¡£Ìá½»µÄÿһ¸öÎļþ¶¼»áʹÓÃУÑéºÍ¼ÆËãÕªÒª£¬¼ì³öµÄʱºòҲʹÓÃÕâ¸öÕªÒªÖµ¡£Ã»ÓÐÈκοÉÄÜ»á³öÏÖ´Ó²Ö¿âÖлñÈ¡µÄÄÚÈݸúÄã´æ´¢µÄÄÚÈÝÓÐÈκβîÒì¡£

ÔÚ²»¸Ä±ä ID£¨Ð£ÑéºÍ£©µÄÇé¿öÏÂÒ²²»¿ÉÄܳöÏָıäÈκÎÎļþ£¬ÈÕÆÚ£¬Ìύ˵Ã÷»òÕßÈÎºÎÆäËûÔÚ Git ²Ö¿âÖеÄÊý¾Ý¡£Õâ¾ÍÒâζ×Å£¬Èç¹ûÄãÓÐÒ»¸ö commit ID£¬Äã²»µ«¿ÉÒÔÈ·¶¨Õâ¸ö°æ±¾µÄ´úÂë¸úËûÌá½»µÄʱºòÊÇһģһÑùµÄ£¬¶øÇÒÕâ¸ö°æ±¾Ö®Ç°µÄÀúʷҲûÓз¢ÉúÈκθı䡣

´ó¶àÊýÖÐÑë´æ´¢µÄ°æ±¾¿ØÖÆÏµÍ³Ä¬Èϲ»ÌṩÕâÑùµÄУÑéÕûºÏ¡£

ÔÝ´æÇøÓò

²»ÏñÆäËûϵͳ£¬ Git ÓÐÒ»¸ö¸ÅÄî½Ð×ö ¡°ÔÝ´æÇøÓò¡± »òÕß ¡°index¡±¡£ÕâÊÇÒ»¸öÔÚÌá½»Ö´ÐÐ֮ǰµÄÁÙʱµÄÇøÓò¿ÉÒÔÓÃÀ´¸ñʽ»¯ºÍÉóÔĸ͝ÄÚÈݵġ£

Ò»¸ö Git ÓÅÓÚÆäËûϵͳµÄ¹¦ÄÜÊÇÎÒÃÇ¿ÉÒÔ¿ìËÙµÄÔÝ´æÒ»Ð©¸Ä¶¯µÄÎļþ£¬ÔÚ¹¤×÷Ŀ¼ÖÐÖ»Ìá½»²¿·Ö¸Ä¶¯µÄÎļþ£¬»òÕßÎļþ¸Ä¶¯µÄ²¿·ÖÄÚÈÝ£¬ÒÔ¼°ÔÚÌá½»µÄʱºòÔÚÃüÁîÐÐÀïÁгö¸Ä¶¯µÄÎļþÁÐ±í¡£

ÔÝ´æÇøÓòÔÊÐíÄã½ö½öÔݴ沿·ÖµÄÎļþ¸Ä¶¯£¬ÔÚÄãÒâʶµ½ÄãÍüÁËÌá½»ÆäÖÐÒ»¸öÎļþ֮ǰ£¬¶ÔÎļþ½øÐÐÁ½¸öÂß¼­Éϲ»Ïà¹ØµÄÐ޸ĵÄÈÕ×ÓÒѾ­Ò»È¥²»¸´·µÁË¡£ÏÖÔÚÄã¿ÉÒÔ½ö½öÔÝ´æÄ㵱ǰÌá½»ÐèÒª¸Ä¶¯µÄÎļþ£¬ÆäËûµÄ¸Ä¶¯ÔÚÏ´ÎÌá½»ÔÙÔÝ´æ¡£Õâ¸öÌØÐÔ¿ÉÒÔÀ©Õ¹µ½¶ÔÎļþ½øÐеÄÈκθü¸Ä¡£

µ±È»£¬Git Ò²ÔÊÐíÄãºöÂÔµôÔÝ´æÇøÓòÕâ¸ö¹ý³Ì£¬Äã¿ÉÒÔÇáËɵÄÔÚ commit ÃüÁîºóÃæÌí¼Ó '-a' Ñ¡ÏîÀ´Ö±½Ó½«ËùÓи͝Ìá½»¡£Git »á×Ô¶¯°ïÄãÏÈÔÝ´æµ½ÔÝ´æÇøÓò£¬ÔÙÖ´ÐÐÌá½»¡£

Ãâ·ÑºÍ¿ªÔ´

Git ÊÇÒ»¸öʹÓà GNU GPL2.0 ЭÒéµÄ¿ªÔ´Èí¼þ¡£Git Ñ¡Ôñ GPLv2 À´È·±£Äã¿ÉÒÔ×ÔÓɵķÖÏíºÍ¸ÄÔì×ÔÓÉÈí¼þ£¬¶øÇÒÄÜÈ·±£Ê¹ÓÃËüµÄÈκÎÓû§¶¼ÊÇ×ÔÓÉÃâ·ÑµÄ¡£

È»¶ø£¬ÎÒÃÇȷʵҲ±£ÁôÁË ¡°Git¡± ºÍ logos ±ÜÃâÕùÒé¡£ÓûÖªÏêÇéÇë¿´ÎÒÃǵÄÉ̱êÕþ²ß¡£

   
1878 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

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