githubÔõÑùɾ³ýcommit
Ëæ×ųÌÐòÔ±ÃǶÔgithubµÄʹÓÃÔ½À´Ô½ÊìÁ·£¬¿ÉÄÜ»áÓöµ½ÖÖÖÖ¸÷ÑùµÄÎÊÌâ¡£ÆäÖУ¬É¾³ýÒ»¸öcommit¾ÍÊdz£¼ûµÄÎÊÌâÖ®Ò»¡£ÔÚ׫д±¾ÎÄ֮ǰ£¬ÎÒÃÇÐèÒªÏàʶһЩgit»ù´¡ÖªÊ¶£¬ÒÔ±ã¸üºÃµØÃ÷ȷɾ³ýcommitµÄÀú³Ì¡£
GitÊÇÒ»¸öÂþÑÜʽ°æ±¾¿ØÖÆϵͳ£¨DVCS£©¡£ËüÔÊÐí¶àСÎÒ˽ÈËÔÚͳһÏîÄ¿ÉϾÙÐпª·¢¡£Ã¿Ð¡ÎÒ˽È˶¼¿ÉÒÔ¸ü¸Ä´úÂ룬²¢½«¸ü¸ÄÍÆË͵½¹²Ïí´úÂë¿â£¨repository£©ÖС£µ±¸÷ÈËÏ£Íû½«×Ô¼ºµÄ±ä»»ºÏ²¢µ½¹²Ïí´úÂë¿âʱ£¬GitµÄÒ»¸öÖ÷Òª×é¼þ¡ª¡ª·ÖÖ§£¨branch£©¾ÍÅÉÉÏÓó¡ÁË¡£Ã¿¸ö·ÖÖ§¶¼ÊÇÒ»Ìõ×ÔÁ¦µÄ¼Í¼£¬¿ÉÒÔͨ¹ýcommitÏÂÁîÌí¼Ó¸ü¸Ä¡£commitÏÂÁ¸ü¸ÄÉúÑĵ½GitµÄÍâµØÊý¾Ý¿âÖУ¬²¢·ÖÅÉÒ»¸öSHA-1¹þÏ£Öµ×÷Ϊ±êʶ·û¡£
ÔÚGitÖÐɾ³ýcommit²¢²»ÊÇÒ»¸öÆÕ±éµÄ²Ù×÷£¬ÓÉÓÚÿ´Îcommit¶¼ÊÇGitÊý¾Ý¿âÖеÄÒ»¸ö×ÔÁ¦¼Í¼¡£Ã¿´Î¸ü¸Ä¶¼ÊDz»¿É±äµÄ¡°¿ìÕÕ¡±£¨snapshot£©£¬¶ø²»ÊǸü¸ÄµÄ²î±ð¡£Òò´Ë£¬É¾³ýcommit¿ÉÄÜ»áÆÆËðÆäËûÈ˵ÄÌá½»ÀúÊ·£¬Ê¹µÃ¹²Ïí¿â²»¿ÉÓûòÎÞ·¨ºÏ²¢¡£Òò´Ë£¬ÈôÊÇÏëҪɾ³ýÒ»¸öcommit£¬Ç뽫Öصã·ÅÔÚÔõÑù×÷·ÏÌá½»¶ø²»ÆÆËð´úÂë¿âÉÏ¡£
Ê×ÏÈ£¬ÈôÊÇÄúÖ»Ïë×÷·ÏËùÓÐÍâµØ¸ü¸Ä²¢ÁýÕÖÄ¿½ñ·ÖÖ§£¨branch£©ÉϵÄÄÚÈÝ£¬Ôò¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
git reset --hard HEAD
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁ°ÑHEADÖ¸Õ루¼´Ä¿½ñ·ÖÖ§µÄ×îÐÂÌá½»£©Ö¸ÏòÖ¸¶¨µÄÌá½»£¬²¢½«ÊÂÇéÊ÷£¨working tree£©ºÍÔÝ´æÇø£¨staging area£©»Ø¹öµ½¸ÃÌá½»¡£Ëü»¹½«É¨³ýËùÓÐδÌá½»µÄ¸ü¸Ä¡£¿ÉÊÇ£¬Çë×¢ÖØ£¬Õâ»áɾ³ýËùÓÐÍâµØ¸ü¸Ä£¬²¢ÁýÕÖËùÓиü¸Ä¡£ÈôÊÇÄú»¹Ïë±£´æijЩ¸ü¸Ä£¬ÔòÓ¦ÏÈÁí´æΪ£¬²¢Ê¹ÓøÃÏÂÁî»Øµ½ÏÈÇ°µÄÌá½»£¨Èç ‘git reset –hard HEAD~2’£©¡£
Æä´Î£¬ÈôÊÇÄúÖ»ÊÇÏë×÷·ÏÌá½»£¬µ«ÈÔ±£´æËùÓÐÍâµØ¸ü¸Ä£¬Ôò¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
git reset HEAD~
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁHEADÖ¸ÕëÖ¸ÏòËüµÄ¸¸½Úµã£¬µ«²»¸Ä±äÊÂÇéÊ÷£¨working tree£©¡£×÷·ÏµÄÌá½»½«ÁôÔÚÊÂÇéÊ÷ºÍÔÝ´æÇøÖ®Íâ¡£Äú¿ÉÒÔ¼ÌÐø±à¼Îļþ£¬½«¸ü¸ÄÌύΪһ¸öеÄcommit¡£
×îºó£¬ÈôÊÇÄúÒѾ½«¸ü¸ÄÍÆË͵½¹²Ïí¿â£¬²¢ÇÒÏ£Íûɾ³ýÌá½»£¬ÇëʹÓÃÒÔÏÂÏÂÁ
git revert <commit></commit>
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁµõÏúÖ¸¶¨µÄÌá½»£¬²¢½¨ÉèÒ»¸öеÄÌá½»£¬¸ÃÌá½»µõÏúÁËÖ¸¶¨µÄÌá½»¡£Äú¿ÉÒÔÖ¸¶¨¶à¸öÌá½»£¬È»ºóºÏ²¢µõÏúÌá½»£¬ÒÔ±ãʵÏÖ¸üºÃµÄ×éºÏ¡£
ÔÚʹÓÃGitÖÐɾ³ýcommitʱ£¬Çë¼Ç׿¸¸öÒªµã¡£Ê×ÏÈ£¬×Ðϸ˼Á¿½«¸ü¸ÄÌí¼Óµ½ÍâµØ¿ÍÕ»»ò¹²Ïí¿â֮ǰ¡£commitÊDz»¿É±äµÄ£¬²¢ÇÒɾ³ýcommit¿ÉÄܻᵼÖ¸ü´óµÄÔÓÂÒ¡£Æä´Î£¬ÇëÉóÉ÷´¦ÀíGitÏÂÁÓÈÆäÊÇÔÚ¹²Ïí´úÂë¿âÉÏ¡£ÎóÓÃÕâЩÏÂÁî¿ÉÄܻᵼÖÂÎÞ·¨ºÏ²¢µÄ³åÍ»£¬ÉõÖÁÎÞ·¨»Ö¸´µÄɥʧÊý¾Ý¡£×îºó£¬½¨ÒéÔÚÖ´ÐÐÈκθü¸Ä֮ǰÏȱ¸·ÝÊý¾Ý£¬ÒÔ±ÜÃâÄúµÄ¸ü¸Ä²»ÊܽӴýµÄÓ°Ïì¡£
ɾ³ýcommit¿ÉÄÜÊÇGitÖÐ×ÊֵIJÙ×÷Ö®Ò»¡£¿ÉÊÇ£¬ÈôÊÇÄãÏàʶÁËһЩ»ù´¡ÖªÊ¶£¬²¢ÉóÉ÷´¦Àí£¬ÄãÓ¦¸ÃÄܹ»ÀֳɵØÍê³ÉʹÃü£¬¶ø²»ÆÆËðÆäËûÈ˵ÄÌá½»ÀúÊ·¡£
ÒÔÉϾÍÊÇgithubÔõÑùɾ³ýcommitµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡