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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ͼ½âgitÔ­ÀíÓëÈÕ³£ÊµÓÃÖ¸ÄÏ
 
×÷ÕߣºÀîijÈË
  3945  次浏览      27
 2020-6-28
 
±à¼­ÍƼö:
±¾ÎÄÊ×ÏÈ´ÓÁË½â°æ±¾¿ØÖÆÏµÍ³¿ªÊ¼½éÉÜ£¬ÉîÈëgitÔ­Àí £¬½Ó׎éÉÜHEAD¡¢branch¡¢ÒýÓõı¾ÖÊÒÔ¼°pushµÄ±¾ÖÊ £¬×îºó½øÐÐgit²Ù×÷£¬Ï£Íû±¾ÎĶÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚsegmentfault£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

ÔµÆð

¶ÁÁË¡°ÈÓÎïÏß¡±ÀÏʦµÄС²á¡¶Git Ô­ÀíÏê½â¼°ÊµÓÃÖ¸ÄÏ¡·¸Ð¾õÊÕ»ñÁ¼¶à£¬ÓÚÊÇÏëдµã¶«Î÷×öÒ»¸ö×ܽᣬ¼´¼ÓÉî×Ô¼ºµÄÓ¡ÏóҲϣÍûÄܸøÉçÇøÐ¡»ï°éÒ»µã°ïÖú£¬Ð´µÄ²»¶ÔµÄµØ·½»¹Çë¶à¶àÖ¸µ¼¡£ÉíΪһ¸ö³õÈëǰ¶Ë°ëÄêµÄ²ËÄñ£¬ÓÉÒÁʼµÄÖ»ÖªµÀgitÊÇÓÃÀ´ÍйܴúÂëµÄ¹¤¾ßµ½Öð²½Á˽âÖÐÑë°æ±¾¿ØÖÆÏµÍ³Óë·Ö²¼Ê½°æ±¾¿ØÖÆÏµÍ³(git)µÄÔ­ÀíÓëÇø±ð£»´Ó֮ǰֻ»á»ù±¾µÄadd¡¢commit¡¢pull¡¢push²Ù×÷µ½Ê¹ÓÃstash¡¢merge¡¢reset·½±ãµÃ²»ÒàÀÖºõ£¬¶¼µÃÒæÓÚ¶ÔgitÔ­ÀíµÄÉîÈëÀí½â£¬±Æ»°ÉÙ˵£¬Õ¦ÃÇÖ±½Ó½øÈëÕýÌ⡣ǰ·½³¤ÆªÔ¤¾¯...

´ÓÁË½â°æ±¾¿ØÖÆÏµÍ³¿ªÊ¼

Ëùν°æ±¾¿ØÖÆ£¬¾ÍÊÇÔÚÎļþÐ޸ĵÄÀú³ÌÖб£ÁôÐÞ¸ÄÀúÊ·£¬¿ÉÒÔ·½±ãµÄ³·Ïú£¨ÈçͬÎı¾±à¼­µÄ³·Ïú²Ù×÷Ò»°ã£¬Ö»Êǰ汾¿ØÖƻḴÔӵĶࣩ֮ǰ¶ÔÎļþµÄÐ޸ġ£Ò»¸ö°æ±¾¿ØÖÆÏµÍ³µÄÈý¸öºËÐÄÄÚÈÝ£º°æ±¾¿ØÖÆ£¨×î»ù±¾µÄ¹¦ÄÜ£©£¬Ö÷¶¯Ìá½»£¨commitÀúÊ·£©ºÍÔ¶³Ì²Ö¿â£¨Ð­Í¬¿ª·¢£©¡£

ÖÐÑëʽ°æ±¾¿ØÖÆÏµÍ³£¨VCS£©

¹¤×÷Ä£ÐÍ

1.Ö÷¹¤³Ìʦ´îºÃÏîÄ¿¿ò¼Ü

2.ÔÚ¹«Ë¾·þÎñÆ÷´´½¨Ò»¸öÔ¶³Ì²Ö¿â£¬²¢Ìá½»´úÂë

3.ÆäËûÈËÀ­È¡´úÂ룬²¢Ðпª·¢

4.ÿ¸öÈ˶ÀÁ¢¸ºÔðÒ»¸ö¹¦ÄÜ£¬¿ª·¢Íê³ÉÌá½»´úÂë

5.ÆäËûÈËËæÊ±À­È¡´úÂ룬±£³Öͬ²½

·Ö²¼Ê½°æ±¾¿ØÖÆÏµÍ³£¨DVCS£©

·Ö²¼Ê½ÓëÖÐÑëʽµÄÇø±ðÖ÷ÒªÔÚÓÚ£¬·Ö²¼Ê½³ýÁËÔ¶³Ì²Ö¿âÖ®ÍâÍŶÓÖÐÿһ¸ö³ÉÔ±µÄ»úÆ÷É϶¼ÓÐÒ»·Ý±¾µØ²Ö¿â£¬Ã¿¸öÈËÔÚ×Ô¼ºµÄ»úÆ÷ÉϾͿÉÒÔ½øÐÐÌá½»´úÂ룬²é¿´°æ±¾£¬Çл»·ÖÖ§µÈ²Ù×÷¶ø²»ÐèÒªÍêÈ«ÒÀÀµÍøÂç»·¾³¡£

¹¤×÷Ä£ÐÍ

1.Ö÷¹¤³Ìʦ´îºÃÏîÄ¿¿ò¼Ü £¬²¢Ìá½»´úÂëµ½±¾µØ²Ö¿â

2.ÔÚ¹«Ë¾·þÎñÆ÷´´½¨Ò»¸öÔ¶³Ì²Ö¿â£¬²¢½«1µÄÌá½»ÍÆË͵½Ô¶³Ì²Ö¿â

3.ÆäËûÈ˰ÑÔ¶³Ì²Ö¿âËùÓÐÄÚÈݿˡµ½±¾µØ£¬ÓµÓÐÁ˸÷×Եı¾µØ²Ö¿â£¬¿ªÊ¼²¢Ðпª·¢

4.ÿ¸öÈ˶ÀÁ¢¸ºÔðÒ»¸ö¹¦ÄÜ£¬¿ÉÒÔ°Ñÿһ¸öС¸Ä¶¯Ìá½»µ½±¾µØ£¨ÓÉÓÚ±¾µØÌá½»ÎÞÐèÁ¢¼´ÉÏ´«µ½Ô¶³Ì²Ö¿â£¬ËùÒÔÿһ²½Ìá½»²»±ØÊÇÒ»¸öÍêÕû¹¦ÄÜ£¬¶ø¿ÉÒÔÊǹ¦ÄÜÖеÄÒ»¸ö²½Öè»ò¿é£©

5.¹¦ÄÜ¿ª·¢Íê±Ï£¬½«ºÍÕâ¸ö¹¦ÄÜÏà¹ØµÄËùÓÐÌá½»´Ó±¾µØÍÆË͵½Ô¶³Ì²Ö¿â

6.ÿ´Îµ±ÓÐÈ˰ÑеÄÌá½»ÍÆË͵½Ô¶³Ì²Ö¿âµÄʱºò£¬ÆäËûÈ˾ͿÉÒÔÑ¡Ôñ°ÑÕâЩÌύͬ²½µ½×Ô¼ºµÄ»úÆ÷ÉÏ£¬²¢°ÑËüÃǺÍ×Ô¼ºµÄ±¾µØ´úÂëºÏ²¢

·Ö²¼Ê½°æ±¾¹ÜÀíϵͳµÄÓÅȱµã£º

Óŵã

´ó¶àÊý²Ù×÷±¾µØ½øÐУ¬Êý¶È¸ü¿ì£¬²»ÊÜÍøÂçÓëÎïÀíλÖÃÏÞÖÆ£¬²»ÁªÍøÒ²¿ÉÒÔÌá½»´úÂë¡¢²é¿´ÀúÊ·¡¢Çл»·ÖÖ§µÈµÈ

·Ö²¼Ìá½»´úÂ룬Ìá½»¸üϸÀûÓÚreview

ȱµã

³õ´Îcloneʱ¼ä½Ï³¤

±¾µØÕ¼Óô洢¸ßÓÚÖÐÑëʽϵͳ

¼ÌÐøÉîÈëgitÔ­Àí

¼ÙÉèÄãÒѾ­°²×°ºÃÁËgit²¢½«´úÂëcloneµ½Á˱¾µØ£¬ÐÂÊÖÒÆ²½git°²×°Óë´úÂ뿽±´Ö¸ÄÏ¡£

git×î»ù±¾µÄ¹¤×÷Ä£ÐÍ

Ê×ÏÈÀí½âÈý¸ö»ù±¾¸ÅÄ

¹¤×÷Çø£º¾ÍÊÇÄãÔÚµçÄÔÀïÄÜ¿´µ½µÄĿ¼

°æ±¾¿â£º¹¤×÷ÇøÓÐÒ»¸öÒþ²ØÄ¿Â¼.git£¬Õâ¸ö²»Ë㹤×÷Çø£¬¶øÊÇGitµÄ±¾µØ°æ±¾¿â,ÄãµÄËùÓа汾ÐÅÏ¢¶¼»á´æÔÚÕâÀï

ÔÝ´æÇø£ºÓ¢ÎĽÐstage, »òindex¡£Ò»°ã´æ·ÅÔÚ ".gitĿ¼ÏÂ" ϵÄindexÎļþ£¨.git/index£©ÖУ¬ËùÒÔÎÒÃǰÑÔÝ´æÇøÓÐʱҲ½Ð×÷Ë÷Òý£¨index£©

¹¤×÷Ä£ÐÍ

1.Ê×ÏÈн¨Ò»¸ötest.txtÎļþ²¢¶ÔÆä½øÐÐÐ޸ģ¬Í¨¹ýstatus¿ÉÒԲ鿴¹¤×÷Ŀ¼µ±Ç°×´Ì¬£¬´Ëʱtest.txt¶ÔgitÀ´ËµÊDz»´æÔڵģ¨Untracked£©

2.È»ºóͨ¹ýaddÃüÁÐ޸ķÅÈëÔÝ´æÇø£¨git¿ªÊ¼×·×ÙËü£©

¿ÉÒÔ¿´µ½£¬test.txt µÄÎÄ×Ö±ä³ÉÁËÂÌÉ«£¬ËüµÄÇ°Ãæ¶àÁË¡¸new file:¡¹µÄ±ê¼Ç£¬¶øËüµÄÃèÊöÒ²´Ó "Untracked files" ±ä³ÉÁË "Changes to be commited"¡£ÕâЩ¶¼ËµÃ÷Ò»µã£ºtest.txt Õâ¸öÎļþµÄ״̬´Ó "untracked"£¨Î´¸ú×Ù£©±ä³ÉÁË "staged"£¨ÒÑÔݴ棩£¬Òâ˼ÊÇÕâ¸öÎļþÖб»¸Ä¶¯µÄ²¿·Ö£¨Ò²¾ÍÊÇÕâÕû¸öÎļþ£©±»¼Ç¼½øÁË staging area£¨ÔÝ´æÇø£©

<blockquote> stage Õâ¸ö´ÊÔÚ Git ÀÊÇ¡¸¼¯ÖÐÊÕ¼¯¸Ä¶¯ÒÔ´ýÌá½»¡¹µÄÒâ˼£»¶ø staging area £¬¾ÍÊÇÒ»¸ö¡¸»ã¼¯´ýÌá½»µÄÎļþ¸Ä¶¯µÄµØ·½¡¹¡£¼ò³Æ¡¸Ôݴ桹ºÍ¡¸ÔÝ´æÇø¡¹¡£ÖÁÓÚ staged ±íʾ¡¸ÒÑÔݴ桹£¬¾Í²»ÓÃÔÙ½âÊÍÁ˰ɣ¿</blockquote>

3.ÏÖÔÚÎļþÒѾ­·ÅÈëÔÝ´æÇø£¬¿ÉÒÔÓÃcommitÃüÁîÌá½»£º

ÔÚÕâÀïÄãÒ²¿ÉÒÔÖ±½ÓcommitÌá½»»á½øÈëcommitÐÅÏ¢±à¼­Ò³Ã棬¶ø¼ÓÉÏ-m²ÎÊý¿ÉÒÔ¿ì½ÝÊäÈë¼ò¶ÌµÄÌá½»±¸×¢ÐÅÏ¢£¬ÕâÑùÄã¾ÍÍê³ÉÁËÒ»´ÎÌá½»£¨¿ÉÒÔͨ¹ýgit log²é¿´Ìá½»ÀúÊ·£©

½Ó×ŶԸÃÎļþÔٴνøÐÐÐ޸ģ¬ÊäÈëgit status¿ÉÒÔ¿´µ½£¬¸ÃÎļþ ÓÖ±äºìÁË£¬²»¹ýÕâ´ÎËü×ó±ßµÄÎÄ×Ö²»ÊÇ "New file:" ¶øÊÇ "modified:"£¬¶øÇÒÉÏ·½ÏÔʾËüµÄ״̬Ҳ²»ÊÇ "Untracked" ¶øÊÇ "not staged for commit"£¬Òâ˼ºÜÃ÷È·£ºGit ÒѾ­ÈÏʶÕâ¸öÎļþÁË£¬Ëü²»ÊǸöÐÂÎļþ£¬µ«ËüÓÐÁËһЩ¸Ä¶¯¡£ËùÒÔËäȻ״̬µÄÏÔʾÓе㲻ͬ£¬µ«´¦Àí·½Ê½»¹ÊÇÒ»ÑùµÄ£º

½ÓÏÂÀ´Ôٴν«¸ÃÎļþadd¡¢commit£¬²é¿´log¿ÉÒÔ¿´µ½ÒѾ­´æÔÚÁ½ÌõÌá½»¼Ç¼

4.×îºóͨ¹ýpush°Ñ±¾µØµÄËùÓÐcommitÉÏ´«µ½Ô¶³Ì²Ö¿â£º

ÍŶӹ¤×÷»ù±¾Ä£ÐÍ

¹¤×÷Ä£ÐÍ

1.ÔÚÉÏÃæ»ù±¾²Ù×÷µÄ»ù´¡ÉÏ£¬Í¬Ê commit ´úÂëµ½ËûµÄ±¾µØ£¬²¢ push µ½Ô¶³Ì²Ö¿â

2.Äã°ÑÔ¶³Ì²Ö¿âеÄÌύͨ¹ý pullÖ¸ÁîÀ­È¡µ½ÄãµÄ±¾µØ

ͨ¹ýÕâ¸öÁ÷³Ì£¬ÄãºÍͬʾͿÉÒÔ¼òµ¥µØºÏ×÷ÁË£ºÄãдÁË´úÂ룬commit£¬push µ½Ô¶³Ì²Ö¿â£¬È»ºóËû pull µ½ËûµÄ±¾µØ£»ËûÔÙд´úÂ룬commit, push µ½Ô¶³Ì²Ö¿â£¬È»ºóÄãÔÙ pull µ½ÄãµÄ±¾µØ¡£ÄãÀ´ÎÒÍù£¬ÅäºÏµÃ²»ÒàÀÖºõ¡££¨µ«ÊÇÓÐʱºòpush»áʧ°Ü£©

Ϊʲô»áʧ°Ü£¿

ÒòΪ Git µÄpush ÆäʵÊÇÓñ¾µØ²Ö¿âµÄcommit¼Ç¼ȥ¸²¸ÇÔ¶³Ì²Ö¿âµÄcommit¼Ç¼£¨×¢£ºÕâÊǼò»¯¸ÅÄîºóµÄ˵·¨£¬push µÄʵÖʺÍÕâ¸ö˵·¨ÂÔÓв»Í¬£©£¬¶øÈç¹ûÔÚÔ¶³Ì²Ö¿âº¬Óб¾µØÃ»ÓеÄcommitµÄʱºò£¬push £¨Èç¹û³É¹¦£©½«»áµ¼ÖÂÔ¶¶ËµÄcommit±»²Áµô¡£ÕâÖÖ½á¹ûµ±È»ÊDz»¿ÉÐеģ¬Òò´Ë Git »áÔÚ push µÄʱºò½øÐмì²é£¬Èç¹û³öÏÖÕâÑùµÄÇé¿ö£¬push ¾Í»áʧ°Ü

ÕâʱֻÐèÒªÏÈͨ¹ýgit pull£¨ÊµÎªfetchºÍmergeµÄ×éºÏ²Ù×÷£©½«±¾µØ²Ö¿âµÄÌá½»ºÍÔ¶³Ì²Ö¿âµÄÌá½»½øÐкϲ¢£¬È»ºóÔÙpush¾Í¿ÉÒÔÁË

Feature Branching£º×îÁ÷ÐеŤ×÷Á÷

ºËÐÄ£º

£¨1£©ÈκÎÐµĹ¦ÄÜ£¨feature£©»ò bug ÐÞ¸´È«¶¼Ð½¨Ò»¸ö branch À´Ð´£»

£¨2£©branch дÍêºó£¬ºÏ²¢µ½ master£¬È»ºóɾµôÕâ¸ö branch£¨¿ÉʹÓÃgit origin -d ·ÖÖ§Ãûɾ³ýÔ¶³Ì²Ö¿âµÄ·ÖÖ§£©¡£

ÓÅÊÆ£º

£¨1£©´úÂë·ÖÏí£ºÐ´ÍêÖ®ºó¿ÉÒÔÔÚ¿ª·¢·ÖÖ§reviewÖ®ºóÔÙmergeµ½master·ÖÖ§

£¨2£©Ò»È˶àÈÎÎñ£ºµ±ÕýÔÚ¿ª·¢½Óµ½¸üÖØÒªµÄÐÂÈÎÎñʱ£¬ÄãÖ»ÒªÉÔ΢°ÑĿǰδÌá½»µÄ´úÂë¼òµ¥ÊÕβһÏ£¬È»ºó×öÒ»¸ö´øÓС¸Î´Íê³É¡¹±ê¼ÇµÄÌá½»£¨ÀýÈ磬ÔÚÌá½»ÐÅÏ¢Àï±êÉÏ¡¸TODO¡¹£©£¬È»ºó»Øµ½ master È¥´´½¨Ò»¸öÐ嵀 branch ½øÐпª·¢¾ÍºÃÁË¡£

HEAD¡¢branch¡¢ÒýÓõı¾ÖÊÒÔ¼°pushµÄ±¾ÖÊ

HEAD£ºµ±Ç°commitµÄÒýÓÃ

µ±Ç° commit ÔÚÄÄÀHEAD ¾ÍÔÚÄÄÀÕâÊÇÒ»¸öÓÀÔ¶×Ô¶¯Ö¸Ïòµ±Ç° commit µÄÒýÓã¬ËùÒÔÄãÓÀÔ¶¿ÉÒÔÓà HEAD À´²Ù×÷µ±Ç° commit£¬

branch£º

HEAD ÊÇ Git ÖÐÒ»¸ö¶ÀÌØµÄÒýÓã¬ËüÊÇΨһµÄ¡£¶ø³ýÁË HEAD Ö®Í⣬Git »¹ÓÐÒ»ÖÖÒýÓ㬽Ð×ö branch£¨·ÖÖ§£©¡£HEAD ³ýÁË¿ÉÒÔÖ¸Ïò commit£¬»¹¿ÉÒÔÖ¸ÏòÒ»¸öbranch£¬µ±Ö¸ÏòÒ»¸öbranchʱ£¬HEAD»áͨ¹ýbranch¼ä½ÓÖ¸Ïòµ±Ç°commit£¬HEADÒÆ¶¯»á´ø×ÅbranchÒ»ÆðÒÆ¶¯£º

branch °üº¬ÁË´Ó³õʼ commit µ½ËüµÄËùÓз¾¶£¬¶ø²»ÊÇÒ»Ìõ·¾¶¡£²¢ÇÒ£¬ÕâЩ·¾¶Ö®¼äÒ²ÊÇ±Ë´ËÆ½µÈµÄ¡£

ÏñÉÏͼÕâÑù£¬master Ôںϲ¢ÁË branch1 Ö®ºó£¬´Ó³õʼ commit µ½ master ÓÐÁËÁ½Ìõ·¾¶¡£Õâʱ£¬master µÄ´®¾Í°üº¬ÁË 1 2 3 4 7 ºÍ 1 2 5 6 7 ÕâÁ½Ìõ·¾¶¡£¶øÇÒ£¬ÕâÁ½Ìõ·¾¶ÊÇÆ½µÈµÄ£¬1 2 3 4 7 ÕâÌõ·¾¶²¢²»»áÒòΪËüÊÇ¡¸Ô­Éú·¾¶¡¹¶øÓµÓÐÈκεÄÌØ±ðÖ®´¦

´´½¨branch£ºgit branch Ãû³Æ

Çл»branch£ºgit checkout Ãû³Æ£¨½«HEADÖ¸Ïò¸Ãbranch£©

´´½¨+Çл»£ºgit checkout -b Ãû³Æ

ÔÚÇл»µ½Ð嵀 branch ºó£¬ÔÙ´Î commit ʱ HEAD ¾Í»á´ø×ÅÐ嵀 branch ÒÆ¶¯ÁË£º

¶øÕâ¸öʱºò£¬Èç¹ûÄãÔÙÇл»µ½ master È¥ commit£¬¾Í»áÕæÕýµØ³öÏÖ·Ö²æÁË£º

ɾ³ýbranch£ºgit branch -d Ãû³Æ

×¢Ò⣺

£¨1£©HEAD Ö¸ÏòµÄ branch ²»ÄÜɾ³ý¡£Èç¹ûҪɾ³ý HEAD Ö¸ÏòµÄ branch£¬ÐèÒªÏÈÓà checkout °Ñ HEAD Ö¸ÏòÆäËûµØ·½¡£

£¨2£©ÓÉÓÚ Git ÖÐµÄ branch Ö»ÊÇÒ»¸öÒýÓã¬ËùÒÔɾ³ý branch µÄ²Ù×÷Ò²Ö»»áɾµôÕâ¸öÒýÓ㬲¢²»»áɾ³ýÈÎºÎµÄ commit¡££¨²»¹ýÈç¹ûÒ»¸ö commit ²»ÔÚÈκÎÒ»¸ö branch µÄ¡¸Â·¾¶¡¹ÉÏ£¬»òÕß»»¾ä»°Ëµ£¬Èç¹ûûÓÐÈκÎÒ»¸ö branch ¿ÉÒÔ»ØËݵ½ÕâÌõ commit£¨Ò²Ðí¿ÉÒÔ³ÆÎªÒ°Éú commit£¿£©£¬ÄÇôÔÚÒ»¶¨Ê±¼äºó£¬Ëü»á±» Git µÄ»ØÊÕ»ú֯ɾ³ýµô£©

£¨3£©³öÓÚ°²È«¿¼ÂÇ£¬Ã»Óб»ºÏ²¢µ½ master ¹ýµÄ branch ÔÚɾ³ýʱ»áʧ°Ü£¨ÅÂÎóɾδÍê³Ébranch£©°Ñ-d»»³É-D¿ÉÒÔÇ¿ÖÆÉ¾³ý

ÒýÓõı¾ÖÊ

ËùνÒýÓã¬Æäʵ¾ÍÊÇÒ»¸ö¸öµÄ×Ö·û´®¡£Õâ¸ö×Ö·û´®¿ÉÒÔÊÇÒ»¸ö commit µÄ SHA-1 Â루Àý£ºc08de9a4d8771144cd23986f9f76c4ed729e69b0£©£¬Ò²¿ÉÒÔÊÇÒ»¸ö branch£¨Àý£ºref: refs/heads/feature3£©¡£

Git ÖÐµÄ HEAD ºÍÿһ¸ö branch ÒÔ¼°ÆäËûµÄÒýÓ㬶¼ÊÇÒÔÎı¾ÎļþµÄÐÎʽ´æ´¢ÔÚ±¾µØ²Ö¿â .git Ŀ¼ÖУ¬¶ø Git ÔÚ¹¤×÷µÄʱºò£¬¾ÍÊÇͨ¹ýÕâЩÎı¾ÎļþµÄÄÚÈÝÀ´ÅжÏÕâЩËùνµÄ¡¸ÒýÓá¹ÊÇÖ¸ÏòË­µÄ¡£

pushµÄ±¾ÖÊ£º°Ñ branch ÉÏ´«µ½Ô¶³Ì²Ö¿â

£¨1£©°Ñµ±Ç°branchλÖÃÉÏ´«µ½Ô¶³Ì²Ö¿â£¬²¢°ÑËü·¾¶ÉϵÄcommitsÒ»²¢ÉÏ´«

£¨2£©gitÖУ¨2.0¼°ÒÔºó°æ±¾£©£¬git push²»¼Ó²ÎÊýÖ»ÄÜÉÏ´«µ½´ÓÔ¶³Ì²Ö¿âclone»òÕßpullÏÂÀ´µÄ·ÖÖ§£¬ÈçÐèpushÔÚ±¾µØ´´½¨µÄ·ÖÖ§ÔòÐèʹÓÃgit push origin ·ÖÖ§ÃûµÄÃüÁî

£¨3£©Ô¶¶Ë²Ö¿âµÄHEAD²¢²»ËæpushÓë±¾µØÒ»Ö£¬Ô¶¶Ë²Ö¿âHEADÓÀÔ¶Ö¸ÏòĬÈÏ·ÖÖ§£¨master£©£¬²¢ËæÖ®Òƶ¯£¨¿ÉÒÔʹÓÃgit br -r²é¿´Ô¶³Ì·ÖÖ§µÄHEADÖ¸Ïò£©¡£

¿ªÆôgit²Ù×÷Ö®ÂÃ

merge£ººÏ²¢

º¬Ò壺´ÓÄ¿±ê commit ºÍµ±Ç° commit £¨¼´ HEAD ËùÖ¸ÏòµÄ commit£©·Ö²æµÄλÖÃÆð£¬°ÑÄ¿±ê commit µÄ·¾¶ÉϵÄËùÓÐ commit µÄÄÚÈÝÒ»²¢Ó¦Óõ½µ±Ç° commit£¬È»ºó×Ô¶¯Éú³ÉÒ»¸öÐ嵀 commit¡£

µ±Ö´ÐÐgit merge branch1²Ù×÷£¬Git »á°Ñ 5 ºÍ 6 ÕâÁ½¸ö commit µÄÄÚÈÝÒ»²¢Ó¦Óõ½ 4 ÉÏ£¬È»ºóÉú³ÉÒ»¸öеÄÌá½» 7 ¡£

mergeµÄÌØÊâÇé¿ö£º

£¨1£©merge³åÍ»£ºÄãµÄÁ½¸ö·ÖÖ§¸ÄÁËÏàͬµÄÄÚÈÝ£¬Git ²»ÖªµÀÓ¦¸ÃÒÔÄĸöΪ׼¡£Èç¹ûÔÚ merge µÄʱºò·¢ÉúÁËÕâÖÖÇé¿ö£¬Git ¾Í»á°ÑÎÊÌâ½»¸øÄãÀ´¾ö¶¨¡£¾ßÌ嵨£¬Ëü»á¸æËßÄã merge ʧ°Ü£¬ÒÔ¼°Ê§°ÜµÄÔ­Òò£»ÕâʱºòÄãÖ»ÐèÒªÊÖ¶¯½â¾öµô³åÍ»²¢ÖØÐÂadd¡¢commit£¨¸Ä¶¯²»Í¬Îļþ»òͬһÎļþµÄ²»Í¬Ðж¼²»»á²úÉú³åÍ»£©£»»òÕßʹÓÃgit merge --abort·ÅÆú½â¾ö³åÍ»£¬È¡Ïûmerge

£¨2£©HEAD ÁìÏÈÓÚÄ¿±ê commit£ºmergeÊÇÒ»¸ö¿Õ²Ù×÷£º

´Ëʱmerge²»»áÓÐÈκη´Ó¦¡£

£¨3£©HEAD ÂäºóÓÚ Ä¿±ê commitÇÒ²»´æÔÚ·ÖÖ§£¨fast-forward£©£º

git»áÖ±½Ó°ÑHEADÓëÆäÖ¸ÏòµÄbranch£¨Èç¹ûÓеϰ£©Ò»ÆðÒÆ¶¯µ½Ä¿±êcommit¡£

rebase£º¸øcommitÐòÁÐÖØÐÂÉèÖûù´¡µã

ÓÐЩÈ˲»Ï²»¶ merge£¬ÒòΪÔÚ merge Ö®ºó£¬commit ÀúÊ·¾Í»á³öÏֲַ棬ÕâÖÖ·Ö²æÔÙ»ãºÏµÄ½á¹¹»áÈÃÓÐЩÈ˾õµÃ»ìÂÒ¶øÄÑÒÔ¹ÜÀí¡£Èç¹ûÄ㲻ϣÍû commit ÀúÊ·³öÏֲַ棬¿ÉÒÔÓà rebase À´´úÌæ merge¡£

¿ÉÒÔ¿´³ö£¬Í¨¹ý rebase£¬5 ºÍ 6 Á½Ìõ commits °Ñ»ù´¡µã´Ó 2 »»³ÉÁË 4 ¡£Í¨¹ýÕâÑùµÄ·½Ê½£¬¾ÍÈñ¾À´·Ö²æÁ˵ÄÌá½»ÀúÊ·ÖØÐ»ص½ÁËÒ»ÌõÏß¡£ÕâÖÖ¡¸ÖØÐÂÉèÖûù´¡µã¡¹µÄ²Ù×÷£¬¾ÍÊÇ rebase µÄº¬Òå¡£ÁíÍ⣬ÔÚ rebase Ö®ºó£¬¼ÇµÃÇÐ»Ø master ÔÙ merge һϣ¬°Ñ master ÒÆµ½×îÐ嵀 commit¡£

ΪʲôҪ´Ó branch1 À´ rebase£¬È»ºóÔÙÇÐ»Ø master ÔÙ merge Ò»ÏÂÕâôÂé·³£¬¶ø²»ÊÇÖ±½ÓÔÚ master ÉÏÖ´ÐÐ rebase£¿

´ÓͼÖпÉÒÔ¿´³ö£¬rebase ºóµÄÿ¸ö commit ËäÈ»ÄÚÈÝºÍ rebase ֮ǰÏàͬ£¬µ«ËüÃÇÒѾ­ÊDz»Í¬µÄ commit ÁË£¨Ã¿¸öcommitÓÐΨһ±êÖ¾£©¡£Èç¹ûÖ±½Ó´Ó master Ö´ÐÐ rebase µÄ»°£¬¾Í»áÊÇÏÂÃæÕâÑù£º

Õâ¾Íµ¼Ö master ÉÏ֮ǰµÄÁ½¸ö×îРcommit £¨3ºÍ4£©±»ÌÞ³ýÁË¡£Èç¹ûÕâÁ½¸ö commit ֮ǰÒѾ­ÔÚÔ¶³Ì²Ö¿â´æÔÚ£¬Õâ¾Í»áµ¼ÖÂû·¨ push £º

ËùÒÔ£¬ÎªÁ˱ÜÃâºÍÔ¶³Ì²Ö¿â·¢Éú³åÍ»£¬Ò»°ã²»Òª´Ó master ÏòÆäËû branch Ö´ÐÐ rebase ²Ù×÷¡£¶øÈç¹ûÊÇ master ÒÔÍâµÄ branch Ö®¼äµÄ rebase£¨±ÈÈç branch1 ºÍ branch2 Ö®¼ä£©£¬¾Í²»±ØÕâô¶à·ÑÒ»²½£¬Ö±½Ó rebase ¾ÍºÃ¡£

ÐèҪ˵Ã÷µÄÊÇ,rebase ÊÇÕ¾ÔÚÐèÒª±» rebase µÄ commit ÉϽøÐвÙ×÷£¬ÕâµãºÍ merge ÊDz»Í¬µÄ¡£

stash£ºÁÙʱ´æ·Å¹¤×÷Ŀ¼µÄ¸Ä¶¯

stash Ö¸Áî¿ÉÒÔ°ïÄã°Ñ¹¤×÷Ŀ¼µÄÄÚÈÝÈ«²¿·ÅÔÚÄã±¾µØµÄÒ»¸ö¶ÀÁ¢µÄµØ·½£¬Ëü²»»á±»Ìá½»£¬Ò²²»»á±»É¾³ý£¬Äã°Ñ¶«Î÷·ÅÆðÀ´Ö®ºó¾Í¿ÉÒÔÈ¥×öÄãµÄÁÙʱ¹¤×÷ÁË£¬×öÍêÒÔºóÔÙÀ´È¡×ߣ¬¾Í¿ÉÒÔ¼ÌÐøÖ®Ç°ÊÖÍ·µÄÊÂÁË¡£

²Ù×÷²½Ö裺

£¨1£©git stash¿ÉÒÔ¼ÓÉÏsave²ÎÊýºóÃæ´ø±¸×¢ÐÅÏ¢£¨git stash save '±¸×¢ÐÅÏ¢'£©

£¨2£©´Ëʱ¹¤×÷Ŀ¼ÒѾ­Çå¿Õ£¬¿ÉÒÔÇл»µ½ÆäËû·ÖÖ§¸ÉÆäËûÊÂÇéÁË

£¨3£©git stash popµ¯³öµÚÒ»¸östash£¨¸Ãstash´ÓÀúÊ·stashÖÐÒÆ³ý£©£»»òÕßʹÓÃgit stash apply´ïµ½ÏàͬµÄЧ¹û£¨¸ÃstashÈÔ´æÔÚstash listÖУ©£¬Í¬Ê±¿ÉÒÔʹÓÃgit stash list²é¿´stashÀúÊ·¼Ç¼²¢ÔÚapplyºóÃæ¼ÓÉÏÖ¸¶¨µÄstash·µ»Øµ½¸Ãstash¡£

×¢Ò⣺ûÓб»trackµÄÎļþ»á±»gitºöÂÔ¶ø²»±»stash£¬Èç¹ûÏëÒ»Æðstash£¬¼ÓÉÏ-u²ÎÊý¡£

reflog£ºÒýÓüǼµÄlog

¿ÉÒԲ鿴gitµÄÒýÓüǼ£¬²»Ö¸¶¨²ÎÊý£¬Ä¬ÈÏÏÔʾHEADµÄÒýÓüǼ£»Èç¹û²»Ð¡ÐİѷÖ֧ɾµôÁË£¬¿ÉÒÔʹÓøÃÃüÁî²é¿´ÒýÓüǼ£¬È»ºóʹÓÃcheckoutÇе½¸Ã¼Ç¼´¦Öؽ¨·ÖÖ§¼´¿É¡£

×¢Ò⣺²»ÔÙ±»ÒýÓÃÖ±½Ó»ò¼ä½ÓÖ¸ÏòµÄ commits »áÔÚÒ»¶¨Ê±¼äºó±» Git »ØÊÕ£¬ËùÒÔʹÓà reflog À´Õһر»É¾³ýµÄ branch µÄ²Ù×÷Ò»¶¨Òª¼°Ê±£¬²»È»ÓпÉÄÜ»áÓÉÓÚ commit ±»»ØÊÕ¶øÔÙÒ²ÕÒ²»»ØÀ´¡£

¿´¿´ÎÒ¶¼¸ÄÁËʲô

log£º²é¿´ÒÑÌá½»ÄÚÈÝ

git log -p¿ÉÒԲ鿴ÿ¸öcommitµÄ¸Ä¶¯Ï¸½Ú£¨µ½¸Ä¶¯ÎļþµÄÿһÐУ©

git log --stat²é¿´¼òҪͳ¼Æ£¨ÄöÎļþ¸Ä¶¯ÁË£©

git show Ö¸¶¨commit Ö¸¶¨ÎļþÃû²é¿´Ö¸¶¨commitµÄÖ¸¶¨Îļþ¸Ä¶¯Ï¸½Ú

diff£º²é¿´Î´Ìá½»ÄÚÈÝ

git diff --staged¿ÉÒÔÏÔʾÔÝ´æÇøºÍÉÏÒ»ÌõÌá½»Ö®¼äµÄ²»Í¬¡£»»¾ä»°Ëµ£¬ÕâÌõÖ¸Áî¿ÉÒÔÈÃÄã¿´µ½¡¸Èç¹ûÄãÁ¢¼´ÊäÈë git commit£¬Ä㽫»áÌύʲô¡¹

git diff¿ÉÒÔÏÔʾ¹¤×÷Ŀ¼ºÍÔÝ´æÇøÖ®¼äµÄ²»Í¬¡£»»¾ä»°Ëµ£¬ÕâÌõÖ¸Áî¿ÉÒÔÈÃÄã¿´µ½¡¸Èç¹ûÄãÏÖÔÚ°ÑËùÓÐÎļþ¶¼ add£¬Äã»áÏòÔÝ´æÇøÖÐÔö¼ÓÄÄЩÄÚÈÝ¡¹

git diff HEAD¿ÉÒÔÏÔʾ¹¤×÷Ŀ¼ºÍÉÏÒ»ÌõÌá½»Ö®¼äµÄ²»Í¬£¬ËüÊÇÉÏÃæÕâ¶þÕßµÄÄÚÈÝÏà¼Ó¡£»»¾ä»°Ëµ£¬ÕâÌõÖ¸Áî¿ÉÒÔÈÃÄã¿´µ½¡¸Èç¹ûÄãÏÖÔÚ°ÑËùÓÐÎļþ¶¼ add È»ºó git commit£¬Ä㽫»áÌύʲô¡¹£¨²»¹ýÐèҪעÒ⣬ûÓб» Git ¼Ç¼ÔÚ°¸µÄÎļþ£¨¼´´ÓÀ´Ã»Óб» add ¹ýµÄÎļþ£¬untracked files ²¢²»»áÏÔʾ³öÀ´¡£ÒòΪ¶Ô Git À´ËµËü²¢²»´æÔÚ£©ÊµÖÊÉÏ£¬Èç¹ûÄã°Ñ HEAD »»³É±ðµÄcommit£¬Ò²¿ÉÒÔÏÔʾµ±Ç°¹¤×÷Ŀ¼ºÍÕâÌõ commit µÄÇø±ð¡£

¸Õ¸ÕÌá½»µÄ´úÂë·¢ÏÖд´íÁËÔõô°ì£¿

ÔÙÌáÒ»¸öÐÞ¸´ÁË´íÎóµÄcommit£¿¿ÉÒÔÊÇ¿ÉÒÔ£¬²»¹ý»¹ÓÐÒ»¸ö¸ü¼ÓÓÅÑźͼòµ¥µÄ½â¾ö·½·¨£ºcommit --amend¡£

¾ßÌå×ö·¨£º

£¨1£©Ð޸ĺÃÎÊÌâ

£¨2£©½«ÐÞ¸Äaddµ½ÔÝ´æÇø

£¨3£©Ê¹ÓÃgit commit --amendÌá½»Ð޸쬽á¹ûÈçÏÂͼ£º

¼õÉÙÁËÒ»´ÎÎÞνµÄcommit¡£

´íÎó²»ÊÇ×îеÄÌá½»¶øÊǵ¹ÊýµÚ¶þ¸ö£¿

ʹÓÃrebase -i£¨½»»¥Ê½rebase£©£º

Ëùν¡¸½»»¥Ê½ rebase¡¹£¬¾ÍÊÇÔÚ rebase µÄ²Ù×÷Ö´ÐÐ֮ǰ£¬Äã¿ÉÒÔÖ¸¶¨Òª rebase µÄ commit Á´ÖеÄÿһ¸ö commit ÊÇ·ñÐèÒª½øÒ»²½Ð޸ģ¬ÄÇôÄã¾Í¿ÉÒÔÀûÓÃÕâ¸öÌØµã£¬½øÐÐÒ»´Î¡¸Ô­µØ rebase¡¹¡£

²Ù×÷¹ý³Ì£º

£¨1£©git rebase -i HEAD^^

˵Ã÷£ºÔÚ Git ÖУ¬ÓÐÁ½¸ö¡¸Æ«ÒÆ·ûºÅ¡¹£º ^ ºÍ ~¡£

^ µÄÓ÷¨£ºÔÚ commit µÄºóÃæ¼ÓÒ»¸ö»ò¶à¸ö ^ ºÅ£¬¿ÉÒÔ°Ñ commit Íù»ØÆ«ÒÆ£¬Æ«ÒƵÄÊýÁ¿ÊÇ ^ µÄÊýÁ¿¡£ÀýÈ磺master^ ±íʾ master Ö¸ÏòµÄ commit ֮ǰµÄÄǸö commit£» HEAD^^ ±íʾ HEAD ËùÖ¸ÏòµÄ commit ÍùǰÊýÁ½¸ö commit¡£

~ µÄÓ÷¨£ºÔÚ commit µÄºóÃæ¼ÓÉÏ ~ ºÅºÍÒ»¸öÊý£¬¿ÉÒÔ°Ñ commit Íù»ØÆ«ÒÆ£¬Æ«ÒƵÄÊýÁ¿ÊÇ ~ ºÅºóÃæµÄÊý¡£ÀýÈ磺HEAD~5 ±íʾ HEAD Ö¸ÏòµÄ commitÍùǰÊý 5 ¸ö commit¡£

ÉÏÃæÕâÐдúÂë±íʾ£¬°Ñµ±Ç° commit £¨ HEAD ËùÖ¸ÏòµÄ commit£© rebase µ½ HEAD ֮ǰ 2 ¸öµÄ commit ÉÏ£º

(2)½øÈë±à¼­Ò³Ã棬ѡÔñcommit¶ÔÓ¦µÄ²Ù×÷£¬commitΪÕýÐòÅÅÁУ¬¾ÉµÄÔÚÉÏ£¬ÐµÄÔÚÏ£¬Ç°Ãæ»ÆÉ«µÄΪÈçºÎ²Ù×÷¸Ãcommit£¬Ä¬ÈÏpick£¨Ö±½ÓÓ¦ÓøÃcommit²»×öÈκθı䣩£¬Ð޸ĵÚÒ»¸öcommitΪedit£¨Ó¦ÓÃÕâ¸ö commit£¬È»ºóÍ£ÏÂÀ´µÈ´ý¼ÌÐøÐÞÕý£©È»ºó:wqÍ˳ö±à¼­Ò³Ã棬´ËʱrebaseÍ£ÔÚµÚ¶þ¸öcommitµÄλÖ㬴Ëʱ¿ÉÒÔ¶ÔÄÚÈݽøÐÐÐ޸ģº

£¨3£©ÐÞ¸ÄÍêºóʹÓÃadd£¬commit --amend½«ÐÞ¸ÄÌá½»

£¨4£©git rebase --continue¼ÌÐø rebase ¹ý³Ì£¬°ÑºóÃæµÄ commit Ö±½ÓÓ¦ÓÃÉÏÈ¥£¬Õâ´Î½»»¥Ê½ rebase µÄ¹ý³Ì¾ÍÍêÃÀ½áÊøÁË£¬ÄãµÄÄǸöµ¹ÊýµÚ¶þ¸öд´íµÄ commit ¾ÍÒ²±»ÐÞÕýÁË£º

ÏëÖ±½Ó¶ªÆúij´ÎÌá½»£¿

reset --hard ¶ªÆú×îеÄÌá½»

git reset --hard HEAD^

HEAD^ ±íʾ HEAD Íù»ØÊýÒ»¸öλÖÃµÄ commit £¬ÉϽڸÕ˵¹ý£¬¼ÇµÃ°É£¿

Óý»»¥Ê½ rebase ³·ÏúÀúÊ·Ìá½»

²Ù×÷²½ÖèÓëÐÞ¸ÄÀúÊ·Ìá½»ÀàËÆ£¬µÚ¶þ²½°ÑÐèÒª³·ÏúµÄcommitÐÞ¸ÄΪdrop£¬ÆäËû²½Öè²»ÔÙ׸Êö¡£

ÓÃ rebase --onto ³·ÏúÌá½»

git rebase --onto HEAD^^ HEAD^ branch1

ÉÏÃæÕâÐдúÂëµÄÒâ˼ÊÇ£ºÒÔµ¹ÊýµÚ¶þ¸ö commit ΪÆðµã£¨Æðµã²»°üº¬ÔÚ rebase ÐòÁÐÀ£¬branch1 ΪÖյ㣬rebase µ½µ¹ÊýµÚÈý¸ö commit ÉÏ¡£

´íÎó´úÂëÒѾ­push£¿

ÓеÄʱºò£¬´úÂë push µ½ÁËÔ¶³Ì²Ö¿â£¬²Å·¢ÏÖÓиö commit д´íÁË¡£ÕâÖÖÎÊÌâµÄ´¦Àí·ÖÁ½ÖÖÇé¿ö£º

³ö´íÄÚÈÝÔÚ×Ô¼ºµÄ·ÖÖ§

¼ÙÈçÊÇij¸öÄã×Ô¼º¶ÀÁ¢¿ª·¢µÄ branch ³ö´íÁË£¬²»»áÓ°Ïìµ½ÆäËûÈË£¬ÄÇû¹ØÏµÓÃÇ°Ãæ¼¸½Ú½²µÄ·½·¨°Ñд´íµÄ commit Ð޸ĻòÕßɾ³ýµô£¬È»ºóÔÙ push ÉÏÈ¥¾ÍºÃÁË¡£µ«ÊÇ´Ëʱ»ápush±¨´í£¬ÒòΪԶ³Ì²Ö¿â°üº¬±¾µØÃ»ÓÐµÄ commits£¨ÔÚ±¾µØÒѾ­±»Ìæ»»»ò±»É¾³ýÁË£©£¬´Ëʱֱ½ÓʹÓÃgit push origin ·ÖÖ§Ãû -fÇ¿ÖÆpush¡£

ÎÊÌâÄÚÈÝÒѺϲ¢µ½master

£¨1£©Ôö¼ÓÐÂÌá½»¸²¸Ç֮ǰÄÚÈÝ

£¨2£©Ê¹ÓÃgit revert Ö¸¶¨commit

ËüµÄÓ÷¨ºÜ¼òµ¥£¬ÄãÏ£Íû³·ÏúÄĸö commit£¬¾Í°ÑËüÌîÔÚºóÃæ¡£È磺git revert HEAD^

ÉÏÃæÕâÐдúÂë¾Í»áÔö¼ÓÒ»ÌõÐ嵀 commit£¬ËüµÄÄÚÈݺ͵¹ÊýµÚ¶þ¸ö commit ÊÇÏà·´µÄ£¬´Ó¶øºÍµ¹ÊýµÚ¶þ¸ö commit Ï໥µÖÏû£¬´ïµ½³·ÏúµÄЧ¹û¡£ÔÚ revert Íê³ÉÖ®ºó£¬°ÑÐ嵀 commit ÔÙ push ÉÏÈ¥£¬Õâ¸ö commit µÄÄÚÈݾͱ»³·ÏúÁË¡£ËüºÍÇ°ÃæËù½éÉܵij·Ïú·½Ê½Ïà±È£¬×îÖ÷ÒªµÄÇø±ðÊÇ£¬Õâ´Î¸Ä¶¯Ö»ÊDZ»¡¸·´×ª¡¹ÁË£¬²¢Ã»ÓÐÔÚÀúÊ·ÖÐÏûʧµô£¬ÄãµÄÀúÊ·ÖÐ»á´æÔÚÁ½Ìõ commit £ºÒ»¸öԭʼ commit £¬Ò»¸ö¶ÔËüµÄ·´×ª commit¡£

reset£º²»Ö¹¿ÉÒÔ³·ÏúÌá½»

git reset --hard Ö¸¶¨commitÄãµÄ¹¤×÷Ŀ¼ÀïµÄÄÚÈݻᱻÍêÈ«ÖØÖÃΪºÍÖ¸¶¨commitλÖÃÏàͬµÄÄÚÈÝ¡£»»¾ä»°Ëµ£¬¾ÍÊÇÄãµÄδÌá½»µÄÐ޸Ļᱻȫ²¿²Áµô¡£

git reset --soft Ö¸¶¨commit»áÔÚÖØÖà HEAD ºÍ branch ʱ£¬±£Áô¹¤×÷Ŀ¼ºÍÔÝ´æÇøÖеÄÄÚÈÝ£¬²¢°ÑÖØÖà HEAD Ëù´øÀ´µÄеIJîÒì·Å½øÔÝ´æÇø¡£

ʲôÊÇ¡¸ÖØÖà HEAD Ëù´øÀ´µÄеIJîÒ졹£¿¾ÍÊÇÕâÀ

git reset --mixed£¨»òÕß²»¼Ó²ÎÊý£© Ö¸¶¨commit±£Áô¹¤×÷Ŀ¼£¬²¢ÇÒÇå¿ÕÔÝ´æÇø¡£Ò²¾ÍÊÇ˵£¬¹¤×÷Ŀ¼µÄÐ޸ġ¢ÔÝ´æÇøµÄÄÚÈÝÒÔ¼°ÓÉ reset Ëùµ¼ÖµÄеÄÎļþ²îÒ죬¶¼»á±»·Å½ø¹¤×÷Çø¡£¼ò¶øÑÔÖ®£¬¾ÍÊÇ¡¸°ÑËùÓвîÒì¶¼»ìºÏ£¨mixed£©·ÅÔÚ¹¤×÷ÇøÖС¹¡£

checkout£ºÇ©³öÖ¸¶¨commit

checkoutµÄ±¾ÖÊÊÇÇ©³öÖ¸¶¨µÄcommit£¬²»Ö¹¿ÉÒÔÇл»branch»¹¿ÉÒÔÖ¸¶¨commit×÷Ϊ²ÎÊý£¬°ÑHEADÒÆ¶¯µ½Ö¸¶¨µÄcommitÉÏ£»ÓëresetµÄÇø±ðÔÚÓÚÖ»ÒÆ¶¯HEAD²»¸Ä±ä°ó¶¨µÄbranch£»git checkout --detach¿ÉÒÔ°Ñ HEAD ºÍ branch ÍÑÀ룬ֱ½ÓÖ¸Ïòµ±Ç° commit¡£

×îºó

Ï£ÍûÎÒµÄ×ܽáÄܸø´ó¼Ò´øÀ´Ð©Ðí°ïÖú£¬Ò²Ï£ÍûºÍ´ó¼ÒÒ»ÆðѧÒÔÖÂÓã¬Ò»Æð³É³¤¡£

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

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

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

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
gitÔ­Àíͼ½â
Git·ÖÖ§¹ÜÀíʵ¼ù
GitѧϰºÍÏîĿӦÓÃʵÀý
Git ÌìÌìÓà µ«ÊÇ Git Ô­ÀíÄãÁ˽âÂð£¿
¶Ô±È Git Óë SVN£¬ÕâÆª½²µÄºÜÒ×¶®
×îпγÌ
Git°æ±¾¿ØÖÆÏµÍ³
ÅäÖùÜÀíÓë³ÖÐø¼¯³Éʵ¼ù
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ßÓëÓ¦ÓÃ
³ÖÐø¼¯³ÉÓëÃô½Ý¿ª·¢
ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
³É¹¦°¸Àý
ijµ¥Î»Ñз¢ÖÐÐÄ ²úÆ·¼¯³ÉÓë·þÎñƽ̨
ijµç×ÓÖÆÔìÉÌ ÅäÖùÜÀíÓë³ÖÐø¼¯³É
±±¾© ÅäÖùÜÀíÓë³ÖÐø¼¯³Éʵ¼ù
½ðÑÅÍØ ·Ö²¼Ê½³ÖÐø¼¯³É¹¤¾ßÁ´
±±¾© ³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù