gitÔõô»Ö¸´É¾³ý·ÖÖ§
git ÊÇÒ»¿îÊ®·ÖÊÊÓõİ汾¿ØÖƹ¤¾ß£¬ºÜÊÇÀû±ãµØÖÎÀí´úÂëµÄ±ä»»¡£¿ÉÊÇ£¬ÔÚʹÓà git Àú³ÌÖУ¬²»¿É×èÖ¹µØ»áÓöµ½Ò»Ð©ÎÊÌâ¡£ÆäÖУ¬É¾³ý·ÖÖ§ÊÇÒ»¸ö³£¼ûµÄÎÊÌâ¡£
¼ÙÉèÄãÔÚÏîÄ¿ÖÐÎóɾÁËÒ»¸ö·ÖÖ§£¬Äã»áÔõô°ìÄØ£¿²»ÒªÕŻʣ¬Git ÌṩÁËÒ»ÖÖ¼òÆÓµÄÒªÁìÀ´»Ö¸´É¾³ýµÄ·ÖÖ§¡£
Ò»¡¢Ïàʶ Git µÄÀ¬»ø½ÓÄÉ»úÖÆ
ÔÚ Git ÖУ¬µ±Äãɾ³ýÁËÒ»¸ö·Ö֧ʱ£¬ÏÖʵÉÏËü²¢Ã»ÓÐÕæÕýµÄ±»É¾³ý£¬ËüÖ»ÊDZ» Git ±ê¼ÇΪ¡°ÒÑɾ³ý¡±¡£ÕâÊÇÓÉÓÚ Git ÓÐÒ»ÖÖÀ¬»ø½ÓÄÉ»úÖÆ£¬»á°´ÆÚÕûÀí²»ÐèÒªµÄ¹¤¾ß£¬°üÀ¨±ê¼ÇΪ¡°ÒÑɾ³ý¡±µÄ·ÖÖ§¡£
¶þ¡¢Ê¹Óà Git reflog ÏÂÁî
µã»÷ÏÂÔØ¡°àËÃûÌÃÊý¾Ý»Ö¸´¾Þ½³¡±£»
Git reflog ÏÂÁî¿ÉÒÔÁгöËùÓÐµÄ Git ÒýÓã¨Èç·ÖÖ§¡¢±êÇ©µÈ£©µÄÀúÊ·¼Í¼£¬°üÀ¨ÒѾ±»É¾³ýµÄÒýÓá£Òò´Ë£¬Ê¹Óà Git reflog ÏÂÁî¿ÉÒÔÕÒµ½Ö®Ç°É¾³ýµÄ·ÖÖ§£¬²¢»Ö¸´Ëü¡£
Ïêϸ°ì·¨ÈçÏ£º
½øÈëÄãµÄ Git ¿ÍջĿ¼£¬²¢·¿ªÖնˣ¨MacOS »ò Linux£©»ò Git Shell£¨Windows£©¡£
ÔÚÖն˻ò Git Shell ÖУ¬ÊäÈëÒÔÏÂÏÂÁÉó²éÒýÓÃÀúÊ·¼Í¼£º
git reflog
µÇ¼ºó¸´ÖÆ
ÕÒµ½Äãɾ³ýµÄ·ÖÖ§µÄ×îºóÒ»¸ö commit ID£¬ÔÚÒýÓÃÀúÊ·¼Í¼ÖпÉÒÔ¿´µ½ÀàËÆÏÂÃæµÄÐÅÏ¢£º
8a79c3f HEAD@{1}: commit: add feature A b3a0a50 HEAD@{2}: commit: add feature B 2abe147 HEAD@{3}: branch: add-feature-C
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬¡°HEAD@{n}¡±ÌåÏÖµÚ n ´ÎÒýÓòÙ×÷£¬¡°commit:¡±ÌåÏÖ¸ÃÒýÓòÙ×÷µÄÀàÐÍÊÇÌá½»²Ù×÷£¬¡°add feature A¡±ÌåÏÖÌá½»²ÙÞÏÞεóÄÑÓ¦µÄ commit message¡£
È»ºó£¬Ê¹ÓÃÒÔÏÂÏÂÁîÀ´»Ö¸´·ÖÖ§£º
git branch <branch-name> <commit-id></commit-id></branch-name>
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬¡° ¡±ÊÇÄãÒª»Ö¸´µÄ·ÖÖ§Ãû£¬¿ÉÒÔ×Ô½ç˵һ¸öеķÖÖ§Ãû£»¡° ¡±ÊÇÉÏÒ»²½ÖÐÕÒµ½µÄ×îºóÒ»¸ö commit µÄ ID¡£
×îºó£¬Ê¹ÓÃÒÔÏÂÏÂÁîÀÍÆÈ´»µ½»Ö¸´µÄ·ÖÖ§£º
git checkout <branch-name></branch-name>
µÇ¼ºó¸´ÖÆ
ÏÖÔÚ£¬ÄãÒѾÀֳɻָ´ÁË֮ǰÎóɾ³ýµÄ·ÖÖ§¡£
×ܽá
ͨ¹ý Git reflog ÏÂÁÎÒÃÇ¿ÉÒÔÕÒµ½Ö®Ç°ÎóɾµÄ·ÖÖ§£¬²¢»Ö¸´Ëü¡£ÕâÖÖÒªÁìÐèÒªÎÒÃÇÊÖ¶¯ÕÒµ½ÉÏÒ»´Îɾ³ýµÄ commit ID£¬²¢ÒÔ´ËΪÒÀ¾ÝÀ´½¨ÉèеķÖÖ§¡£ÒÔÊÇ£¬ÔÚʹÓà Git µÄÀú³ÌÖУ¬ÎÒÃÇÓ¦¸Ãʱ¿Ì×¢ÖØÎļþºÍ·ÖÖ§µÄ±¸·ÝºÍÖÎÀí£¬×èÖ¹Îó²Ù×÷µ¼Ö²»ÐëÒªµÄËðʧ¡£
ÒÔÉϾÍÊÇgitÔõô»Ö¸´É¾³ý·ÖÖ§µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡