±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜgitµÄ»ù±¾¹¤×÷ÔÀí£¬ÒÔ¼°ÈçºÎÔËÓÃgitµ½ÎÒÃǵÄʵ¼Ê¿ª·¢ÖУ¬Ï£Íûͨ¹ý±¾ÎĵÄѧϰ´ó¼Ò¶ÔgitÓиöÈ«ÃæµÄÈÏʶºÍѧϰ¡£
±¾ÎÄÀ´×ÔÓÚSegmentFault£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
°æ±¾¿â
ÏÈ˵ΪʲôҪʹÓð汾¿ØÖưɣ¬ÎÒÃÇÔÚдÎĵµ»òÕßÊÇд³ÌÐòµÄ¹ý³ÌÖУ¬¿ÉÄÜ»áÔÚÔÚдµÄʱºòÓв»Í¬µÄÏë·¨£¬Òò´ËÒª¶Ôǰһ¸öÐ޸쬵«ÊÇÎÒÃÇ»¹ÐèÒª±£Ö¤Ç°Ò»¸öµÄ´æÔÚ£¬Òò´ËÎÒÃÇ¿ÉÄÜ»á²ÉÈ¡µÄ·½Ê½Êǽ«Ç°Ò»¸öÎļþ±àºÅÈ»ºó±£´æÏÂÀ´£¬µ«Êǵ±ÎÒÃǵÄÎļþ¶àÁ˵Äʱºò£¬Õ⽫±äµÃºÜ·±ËöÁË£¬Òò´Ë³öÏÖÁËһЩ°æ±¾¹ÜÀí¿ØÖÆ¹¤¾ß£¬Õâ¸ö¹¤¾ßÄܹ»ÏñÊÇÒ»¸öÈÕÖ¾¼Ç¼¹¤¾ß£¬¼Ç¼ÏÂÀ´ÎÒÃǵÄÿһ´Î±ä¶¯£¬µ±ÎÒÃdzöÏÖÁËÎÊÌâµÄʱºò£¬ÎÒÃÇ¿ÉÒÔ»áÍ˵½ÀúÊ·°æ±¾ÖС£´«Í³µÄһЩ°æ±¾¿ØÖƹ¤¾ßÓÐSVN£¬ÕâЩ´«Í³µÄ¹¤¾ßµÄÒ»´óÌØµãÊÇ1¶ÔN£¬Ò²¾ÍÊÇÒ»¸ö°æ±¾¿â¶ÔÓ¦Õâ¶à¸öµÄ¿ª·¢Õß¡£
ÈçÏÂͼ
¶ÔÓÚÏîÄ¿µÄ±ä¸ü¼Ç¼ȫ²¿ÔÚÒ»¸ö¼¯ÖеķþÎñÆ÷ÉÏ£¬È»ºó³ÌÐòÔ±¸÷×ÔÏòÆä½øÐÐÌá½»£¬³ÌÐòÔ±µÄ±¾µØÖ»ÓÐÒ»¸ö±¾µØ¹¤×÷Ŀ¼£¬Ò²¾ÍÊÇÏîÄ¿µÄ×îа汾£¬¶øÎÒÃÇÔںͷþÎñÆ÷ûÓÐÁ¬½ÓµÄÇé¿öÏÂÊÇÎÞ·¨²é¿´ÀúÊ·°æ±¾µÄ¡£¶øgitÊÇÒ»ÖÖ·Ö²¼Ê½µÄ°æ±¾¿â£¬Ã¿¸öÈ˵ı¾µØ¶¼Óб¾µØ¹¤×÷Ŀ¼ºÍ×Ô¼ºµÄ°æ±¾¿â£¬ÔÚÐÞ¸ÄÁË´úÂëÖ®ºóÎÒÃǽ«Æäcommitµ½ÎÒÃÇ×Ô¼ºµÄ°æ±¾¿âÖУ¬È»ºóͨ¹ýpushµ½·þÎñÆ÷ÉÏ£¬ÆäËü³ÌÐòÔ±¾Í¿ÉÒÔ»ñµÃÎÒÃǵÄÐ޸ģ¬Í¬Ê±Ò²»á¸üÐÂ×Ô¼º±¾µØµÄ°æ±¾¿â¡£°æ±¾¿âÔÚ±¾µØÎª.gitºó׺µÄÎļþ¡£
Git¹¤×÷·½Ê½
¹¤×÷Ŀ¼Ê÷
¹¤×÷Ŀ¼Ê÷ÊÇ.gitÎļþËùÔڵĸ¸Ä¿Â¼£¬¸ÃĿ¼»á±»×÷Ϊ¹¤×÷Ŀ¼Ê÷¡£´´½¨µÄ·½Ê½Í¨¹ýcloneºÍgitµÄ³õʼ»¯ÃüÁî¡£
´úÂëÐÞ¸ÄÎļþͬ²½
µ±¶à¸ö³ÌÐòÔ±ÔÚ¶Ô×Ô¼ºµÄ´úÂë½øÐÐÐÞ¸ÄÖ®ºó£¬Ã¿´ÎÐÞ¸ÄÔÚÌá½»µÄʱºò£¬Ò²¾ÍÊÇcommitµÄʱºò±»¼Ç¼ÏÂÀ´£¬Ã¿´ÎÌá½»¶¼»áÓÐÒ»¸öеİ汾²úÉú£¬ÎªÁË·½±ãÒÔºóÀúÊ·°æ±¾µÄ»ØÍËÐèÒªÎÒÃǶÔÕâЩÐÅÏ¢½øÐмǼ£¬Ò²¾ÍÊÇÒ»¸öÌá½»ÁôÑÔ£¬Í¨¹ýÒ»¸ö¼ò¶ÌµÄÁôÑԼǼÏÂÀ´ÎÒÃǵĸ͝£¬·½±ãÔÚÒÔºóµÄʱºò²éÕÒ´úÂëÖеÄÎÊÌâ¡£µ±ÎÒÃÇÔÚ±¾µØÐ޸ĺÃÁËÖ®ºó£¬ÎÒÃÇÐèÒªÈñðÈËÀ´Í¬²½ÎÒÃǵÄÐ޸ģ¬Òò´ËÐèÒªÎÒÃǽ«×Ô¼ºµÄ±¾µØÌá½»µ½ÉÏÓΰ汾¿â£¬ÔÚpushµ½ÉÏÓηþÎñÆ÷µÄʱºò£¬ÎÒÃÇÐèÒªÊ×ÏȽ«·þÎñÆ÷Éϵİ汾¿âµÄÄÚÈÝfetchµ½±¾µØ£¬È»ºó½øÐÐmerge£¬ÒòΪÕâ¸ö²Ù×÷ÊÇÏȺóµÄÁ½²½²Ù×÷£¬Òò´ËgitÓÖ²úÉúÁËÒ»¸öеÄÃüÁîpullÊÇÀ»ØºÏ²¢¡£Õâ¸öʱºòÄã¿ÉÄÜÒªÎʵÄÒ»¸öÎÊÌâÊÇÈç¹ûÁ½¸öÈËͬʱÐÞ¸ÄÁËͬһ¸öÎļþÔõô°ìÄØ£¿ÊDz»ÊÇÓ¦¸Ã²ÉÈ¡£¬ÎļþËøµÄ»úÖÆ£¬µ±Ä³Ð©ÈËÔڸĵÄʱºò£¬ÆäËüÈ˾Ͳ»¿ÉÒÔÐÞ¸ÄÁË£¬¶øgitÔòÈÏΪÕâÖÖÇé¿öÊǽÏÉٵģ¬ËùÒÔûÓвÉÈ¡ËøµÄ»úÖÆ£¬Ö»ÊÇÔÚÎÒÃÇÌá½»µÄʱºò£¬À»Ø±¾µØµÄ°æ±¾£¬git»á½øÐÐ×Ô¶¯ºÏ²¢£¬Èç¹ûÓгåÍ»£¬gitÒ²»áÌṩÏàÓ¦µÄ½â¾ö·½°¸¡£
Git¶ÔÎļþµÄ¸ú×Ù
¶ÔÓÚһЩ´«Í³µÄÏîÄ¿¹ÜÀí¹¤¾ßÊÇÒÔÎļþΪµ¥Î»µÄ£¬µ±°æ±¾±ä»¯½Ï´óµÄʱºò£¬ÐèÒªÎÒÃÇ×ö½Ï´óµÄ±ä¶¯£¬Òò´ËÎÒÃÇÐèÒªºÜ´óµÄһЩ°æ±¾¿âµÄ¼Ç¼¿Õ¼ä£¬µ«ÊÇgitÊÇ¶ÔÆäÎļþÖеÄÄÚÈݽøÐпØÖÆ£¬¸ú×ÙÎļþ´úÂëÐкÍ×Ö·û¡£ÕâÑù¿ÉÒԺܺõذïÖúÎÒÃÇÆäÖк¯Êý£¬ÀàÔÚÎļþÖеÄÒÆ¶¯¡£
·ÖÖ§
Ç°ÃæËù½²µÄÎÒÃǶ¼ÊÇÔÚÖ÷·ÖÖ§ÉϽøÐеģ¬ÎÒÃǵÄÐ޸ĻᱻÌá½»ÉÏÈ¥£¬ÏµÍ³ÉϵÄÒ²¾ÍÊÇÎÒÃǵ±Ç°µÄÐ޸İ汾£¬µ«ÊÇÓÐЩʱºò£¬ÓÐЩ¿ª·¢ÎÒÃÇÎÞ·¨±£Ö¤ÆäÕýÈ·ÐÔ£¬Òò´ËÎÒÃÇ¿ÉÄÜÔÚ¿ª·¢µÄʱºò£¬½øÐÐһЩÊÔÑéÐÔµÄÐ޸ģ¬Õâ¸öʱºò£¬ÎÒÃDz»Äܹ»½«ÆäÔڷŵ½ÎÒÃǵÄÖ÷·ÖÖ§ÁË£¬ÒòΪÎÒÃÇÎÞ·¨±£Ö¤ÆäÕýÈ·ÐÔ£¬¶øÌá½»±»ËûÈËʹÓú󣬽«Ôì³ÉºÜ´ó´íÎó£¬Òò´ËÎÒÃÇ¿ÉÒÔÔÚ±¾µØÔÚ¿ªÒ»¸ö·ÖÖ§£¬È»ºóÔÚ×Ó·ÖÖ§ÉϽøÐÐÐ޸쬏͝ºó£¬µ±ÕýÈ·ºó£¬ÔÙ½«ÆäºÏ²¢µ½ÎÒÃÇÖ÷·ÖÖ§ÔÙÌá½»£¬ÔÚ½øÐÐÊÔÑéÐÔµÄÐ޸ĵÄʱºò£¬»¹²»¸Ä±äÔÏîÄ¿µÄ½á¹¹¡£
ºÏ²¢
¶ÔÓÚ²»Í¬µÄ·ÖÖ§½øÐкϲ¢µÄʱºò£¬git»á¶Ô²»Í¬µÄµØ·½½øÐÐ×Ô¶¯ºÏ²¢£¬²»Äܺϲ¢µÄʱºò»áÌáʾºÏ²¢³åÍ»£¬¶ÔÓÚ³åÍ»µÄ´¦Àí£¬gitÒ²ÌṩÁËһЩ½â¾ö¹¤¾ß¡£
GitʹÓÃ
Á˽âÁËgitµÄ»ù±¾¹¤×÷ÔÀí£¬½ÓÏÂÀ´ÐèÒªÒª×öµÄÊÂÔËÓÃgitµ½ÎÒÃǵÄʵ¼Ê¿ª·¢ÖÐÁË£¬ÔËÓÃgitµÄ¹ý³ÌÒ²¾ÍÊÇÊìϤÆäÃüÁȻºó°´ÕÕÆäÃüÁîÀ´½â¾öÏîÄ¿°æ±¾¿ØÖÆÖеÄһЩÎÊÌâ¡£ÕâÀïͨ¹ýÔÚgithubÉϽ¨Á¢Ò»¸öÏîÄ¿¿ªÊ¼£¬ÏîÄ¿ÄØ¾ÍÊÇLintCodeµÄÌâ½â¡£
£¨1£©À´githubÉÏ´´½¨Ò»¸örepository£¨¼ÈÈ»ÄãÔÚ¿´ÕâÆªÎÄÕÂÁË£¬ÄÇÕâ¸öÒ²¾Í²»ÐèÒª½²ÁË£©
£¨2£©ÔÚ±¾µØ³õʼ»¯Ò»¸ö²Ö¿â£¬ÓëÆäͬÃû£¬Ò²¿ÉÒÔ½«githubÉϵĿâcloneÏÂÀ´£¬Á½ÖÖ·½Ê½£¬ËæÒâÑ¡Ôñ¡£ÕâÀï²ÉÈ¡µÚÒ»ÖÖ¡£µÚ¶þÖÖ½ÏΪ¼òµ¥¡£
£¨3£©ÏîÄ¿½¨ºÃÁË£¬Ê×ÏÈҪдµÄ¾ÍÊÇREADME£¬ÒªÈñðÈËÖªµÀÎÒÃǵÄÏîÄ¿ÊÇÒª¸ÉʲôµÄ£¬ÕâÀïÎÒÃÇÔÚÆäĿ¼Ï´´½¨Ò»¸ömd¸ñʽµÄREADMEÀ´ÃèÊöÎÒÃǵÄÏîÄ¿
(4)Îļþ´´½¨ºÃÁË£¬ÊDz»ÊǾͽáÊøÁË£¬¼ÓÈëµ½°æ±¾¿âÁËÄØ£¿²»Êǵ쬱¾µØÊÇÓÐÈý¸ö´æ·ÅÎļþµÄµØ·½£¬´óÖ½ṹÈçÏÂͼ
Õâ¸öʱºò±È½ÏÈÃÈËÃþ²»µ½Í·ÄÔµÄÊÇ£¬ÎÒÖ±½ÓÌá½»²»¾ÍºÃÁË£¬ÎªÊ²Ã´ÒªÏȷŵ½ÔÝ»ºÇø£¬Õâ²»ÊÇÈÃÎÒÃǵIJÙ×÷¸üÂé·³ÁËÂð£¿ÔÝ»ºÇøÔÚÕâÀïÆðµ½Ò»¸öʲô×÷ÓÃÄØ£¿¶ÔÓÚÎÒÃÇÐÂÌí¼ÓÎļþ»òÕß±ä¸üµÄÎļþ£¬ÓеÄʱºòÎÒÃDz¢²»ÏëÌá½»µ½°æ±¾¿â£¬Õâ¸öʱºò£¬ËüµÄ×÷Ó÷¢ÉúÁË£¬¿ÉÒÔͨ¹ýadd½øÐÐÑ¡Ôñ£¬½«Ò»²¿·Ö¼ÓÈëµ½ÔÝ»ºÇø£¬È»ºó²»ÏëÌá½»µÄ¾Í²»×ö±ä¸ü£¬ÔÝ»ºÇøÆðµ½ÁËÒ»¸öɸѡµÄ×÷Óá£ÏÂÃæµÄ½²½â˼·Êǰ´ÕÕÿһ²½µÄ²Ù×÷½øÐÐÉîÈëµÄ½²½â£¬°üÀ¨¶ÔÓÚ¸øÃüÁîµÄ¾ßÌåµÄʹÓÃºÍÆä¹¦ÄÜ¡£
add
ͨ¹ýgit add -i ÎÒÃÇ¿ÉÒÔÆô¶¯½»»¥ÃüÁîÌáʾ·û¡£
ÏÈ¿´Ï¡£
½ÓÏÂÀ´´ÓÕ⼸¸öÃüÁîÖð¸ö½²Æð¡£Í¨¹ýÃû×Ö£¬ÎÒÃDZã¿ÉÀí½âÆäÒâ˼£¬¾ßÌåÄܹ»Æðµ½µÄ¹¦ÄÜÓÐÄÄÐ©ÄØ£¿ÏÈ¿´ÏÂstatus£¬Ã»ÓÐÈκÎÏÔʾ£¬ÒòΪÎÒÃÇÏÖÔÚ»¹Ã»ÓÐÌí¼ÓÈκÎÎļþµ½ÔÝ»ºÇøÖ®ÖУ¬»òÕß˵ÕâЩÎļþÊÇûÓб»git×·×ٵģ¬Ö»ÓÐͨ¹ýaddÃüÁîÖ®ºó£¬ÔÚÒÔºóµÄ²Ù×÷ÖвŻá¶ÔÆä½øÐÐ×·×Ù£¬Ö»Òª±»Ìí¼Ó¹ýÒ»´Î±ã¿ÉÒÔÁË£¬¶ø²»ÐèÒª¶à´ÎÌí¼Ó£¬ÒòΪÎÒÃÇ»¹Î´Ìí¼Ó¹ýËùÒÔµ±Ç°Ã»ÓÐÎļþ±»×·×Ù£¬Í¨¹ýadd
untrackedÀ´Ìí¼ÓÒ»¸öÎļþ¡£
ͨ¹ý¸ÃÃüÁî¿ÉÒÔÕÒµ½ÎÒÃǵ±Ç°Ä¿Â¼ÏÂδ±»×·×ÙµÄÎļþ£¬È»ºó¿ÉÒÔ½«ÆäÌí¼Óµ½Â·¾¶¡£ÏÖÔÚÔÙ¿´ÏÂÆästatus¡£
ÏÖÔÚ¶ÔÆä½øÐÐÐ޸ģ¬Ö®ºóÔٲ鿴Æä״̬¡£ÏÖÔÚÃ÷ÏÔ·¢ÉúÁ˱仯£¬È»ºóÐèÒªÎÒÃǽøÐиüУ¬È»ºóÌá½»µ½ÔÝ»ºÇø£¬ÏÔ¶øÒ×¼ûÐèҪͨ¹ýupdateÀ´¸üС£
È»ºó¶ÔÆä½øÐиüС£
µ±ÎÒÃǸüе½ÔÝ»ºÇøºó£¬ÎÒÃÇ·¢ÏÖÁËÆäÖеÄÎÊÌâ²»ÏëÔÚ¼ÌÐø¸üÐÂÁËÔõô°ì£¿ÐèҪͨ¹ýrevert,Æä×÷Ó÷½Ê½ºÍupdateÏà·´£¬²Ù×÷²»ÄÑÀí½â¡£
Õâ¸öʱºò½«ÆäÒÆ³ýÁËÎÒÃǵÄÔÝ»ºÇø£¬ÎÒÃÇÒ²¾Í×·×Ù²»µ½Õâ¸öÎļþÁË¡£ÏÖÔÚ»¹patchºÍdiffµÄÃüÁîûÓÐÑÝʾ£¬ÏÖÔÚÔÙ½«Æä¼ÓÈëµ½ÎÒÃǵÄĿ¼ÖУ¬È»ºóÀ´ÑÝʾÕâÁ½¸öÃüÁîµÄ×÷Óá£
ÎÒÃÇ¿ÉÒÔ¿´µ½ÎÒÃǵÄÐ޸ı仯µÄλÖã¬È»ºóÀ´È·¶¨ÎÒÃǶÔÐ޸IJ¿·ÖÈçºÎ×ö´¦Àí£¬ÊäÈëy±íʾ½ÓÊÜÐ޸ģ¬ÊäÈën±íʾºöÂÔÐ޸ģ¬ÊäÈëa»òÕßd£¬±íʾÌí¼ÓÐ޸IJ¿·Ö»òÕßÊÇÉáÆúÐ޸IJ¿·Ö¡£¼Ç²»×¡£¬ÎÒÃÇ¿ÉÒÔͨ¹ý£¿À´½øÐÐÌáʾ¡£
µ½ÕâÀ¶ÔÓÚ½«ÎļþÌá½»µ½ÔÝ»ºÇøµÄÄÚÈÝ£¬ÎÒÃǾͽáÊøÁË£¬½ÓÏÂÀ´Êǽ²ÎÒÃǵÄÎļþÌá½»µ½°æ±¾¿âÖС£Õâ¸öʱºò»á²»»áÓиöÒÉÎÊ£¬µ±ÎÒÃÇÌá½»Ò»¸öÎļþµ½°æ±¾¿âÖ®ºó£¬ÊDz»ÊÇ»áÓÐÈý¸öÎļþÁËÄØ£¿Õâ¸öÒ»»á½«»á½âÊÍ¡£
£¨5£©Ìá½»ÐÞ¸Ä
ÏÖÔÚÎÒÃÇÐèÒª½«ÎÒÃÇËù×öµÄÐÞ¸ÄÌá½»µ½°æ±¾¿â£¬°æ±¾¿âÐèÒª¼Ç¼ÎÒÃǵÄÿһ´Î±ä¸ü£¬¶ÔÓÚ±ä¸üÒª¼Ç¼ÏÂÐ©Ê²Ã´ÄØ£¿ËÌá½»µÄ£¿Ìá½»ÐÞ¸ÄÁËЩʲô£¿Ìύʱ¼ä£¿Í¬Ê±Òª¶Ôÿһ´ÎµÄÌá½»ÒªÓÐÒ»¸öΨһµÄ±êʾ¡£ÏÖÔÚÌá½»Ò»´Î¿´Ï£¬×¢Òâÿ´ÎµÄÌá½»ÎÒÃǶ¼ÒªÐ´Ò»¸öÌá½»ÁôÑÔ¡£
Ìá½»µ½°æ±¾¿âÖ®ºó£¬gitʹÓÃSHA-1¹þÏ£Ëã·¨Éú³ÉÒ»¸ö40ΪµÄ¹þÏ£Â룬ÏÔʾµÄʱºòÖ»ÊÇÏÔʾÁË7룬Èç¹ûÒª²é¿´È«²¿¿Éͨ¹ýgit
log
´ËʱÎÒÃÇ¿ÉÒÔ¿´¶®¾ßÌåµÄÌá½»ÐÅÏ¢ÁË¡£Í¨¹ýgit log -1£¬ÎÒÃÇ¿ÉÒÔ¶ÔÊä³öµÄÌõÄ¿½øÐÐÏÞÖÆ¡£
commitÓÐÈýÖÖ·½Ê½£¬³£ÓõÄÒ»ÖÖ·½Ê½Êǽ«ÔÝ»ºÇøÖеÄÄÚÈÝÌá½»µ½°æ±¾¿â£¬È»ºó»¹ÓÐÁ½ÖÖ·½Ê½Êǽ«Ä¿Â¼Ê÷Öеļ´Ê¹ÊÇδ±»git×·×ÙµÄÒ²¼ÓÈëµ½°æ±¾¿âÖС£ÃüÁî·Ö±ðΪ
git commit -m
git commit -a
git commit -m fileName
ÈýÖÖÌá½»·½Ê½·Ö±ðΪÌá½»ÔÝ´æÇøÖеÄÄÚÈÝ£¬È»ºóÊÇÌύĿ¼Ê÷ÖÐÈ«²¿µÄÄÚÈÝ£¬È»ºóÊÇÖÆ¶¨ÏàÓ¦µÄÎļþ½øÐÐÌá½»Ò²ÊÇ´Ó¹¤×÷Ŀ¼Ê÷ÖС£
£¨6£©²é¿´Îļþ״̬
ʹÓÃÃüÁî:git status
ͨ¹ýgit status£¬ÎÒÃÇ¿ÉÒԲ鿴ÔÝ»ºÇøÖÐÄÇЩÎļþδ±»Ìá½»£¬ÄÇЩÎļþÔÚĿ¼Ê÷ÖÐδ¼Óµ½ÔÝ»ºÇø.
(7)²é¿´Îļþ¸Ä¶¯
ʹÓÃÃüÁî:git diff
ͨ¹ýÕâ¸öÃüÁîÔÚĬÈϵÄÇé¿öϲ鿴µÄÊǹ¤×÷Ŀ¼Ê÷ºÍÔÝ´æÇøµÄ²î±ð£¬¶øÎÒÃÇ¿ÉÒÔͨ¹ý²ÎÊýµÄµ÷ÕûÀ´²é¿´ÔÝ»ºÇøºÍ°æ±¾¿âµÄ²î±ð¡£
git diff --cached
git diff --head
ͨ¹ý¸ÃÃüÁîÎÒÃÇ¿ÉÒԲ鿴»º´æÇøºÍÎÒÃǵİ汾¿âÖеIJî±ð¡£Í¨¹ýÌí¼ÓÒ»¸öhead²ÎÊý£¬ÎÒÃÇ¿ÉÒԲ鿴δ¼ÓÈëµ½»º´æÇøÖеİ汾¿âÖеĽøÐжԱȡ£
(8)Îļþ²Ù×÷
ÎÒÃǵÄÎļþÖÐÓÐʱºò£¬ÎÒÃÇ»áÓÐÒÆ¶¯ºÍÐÞ¸ÄÎļþ»òÕßÊÇÖØÃüÃûÎļþµÄÐèÇó£¬ÕâÀïgitÌṩÁ˱ã½ÝµÄ¹ÜÀí·½Ê½¡£ÏÂÃæ¶ÔÎļþ²Ù×÷µÄÃüÁî½øÐÐһϽéÉÜ¡£
git mv
ͨ¹ýgit mvÎÒÃÇ¿ÉÒÔʵÏÖ½«ÎÒÃǵÄÎļþ½øÐÐÖØÃüÃû£¬ÖØÃüÃûÖ®ºó£¬ÎÒÃÇ»¹ÐèÒª½«ÆäÌá½»µ½°æ±¾¿âÖУ¬Òò´ËÔÚʹÓøÃÃüÁîÖ®ºó£¬ÎÒÃÇ»¹ÐèÒª½«ÆäÌá½»µ½Ö÷°æ±¾¿âÖС£
(9)·ÖÖ§´¦Àí
·ÖÖ§¿ÉÒÔ˵ÊÇgitµÄ¾«ËèÖ®´¦ÁË£¬µ«ÊÇÎÒÃÇÆ½ÈÕÀïËÆºõÓÖºÜÉÙÓõ½£¬ÒòΪÎÒÃÇûÓкÏ×÷£¬´ó¶àÊÇ×Ô¼ºÐ´¸öСÏîÄ¿£¬Òò´ËÕâÖÖ¶«Î÷ËÆºõÊÇÓô󲻴󵽵ģ¬Ç°ÃæÒ²½²ÁËΪʲôҪÓ÷ÖÖ§£¬»¹ÓÐʹÓ÷ÖÖ§µÄºÃ´¦£¬¿ÉÒÔʹµÃÏîÄ¿²¢ÐÐÑݽø¡£Ò»¸öÍŶÓÔÚÖ÷·ÖÖ§½øÐÐÏîÄ¿µÄ¿ª·¢£¬·ÖÖ§ÉϽøÐÐÐ´ÖØ¹¹£¬»òÕß´¦ÀíһЩbug£¬½ÓÏÂÀ´£¬ÎÒÃǽ«Õë¶Ô·ÖÖ§½øÐнøÒ»²½µÄÏêϸµÄ½éÉܺÍѧϰ¡£
½éÉܵÚÒ»¸öÃüÁgit branch
ͨ¹ýÕâ¸öÃüÁÎÒÃÇ¿ÉÒԲ鿴ÎÒÃǵ±Ç°·ÖÖ§µÄÃû³Æ¡£
ÄÇÈç¹ûÎÒÃÇÒªÐÞ¸ÄÕâ¸ö·ÖÖ§µÄÃû³ÆÒªÈçºÎÐÞ¸Ä
Ð޸ķÖÖ§Ãû³Æ
git branch -m master mymaster
´´½¨ÐµķÖÖ§
git branch newmaster
¼ì³ö·ÖÖ§
git checkout newmaster
´´½¨ºÍ¼ì³ö·ÖÖ§
git checkout -b newmaster master
·ÖÖ§ºÏ²¢¼äÐÞ¸Ä
Ö±½ÓºÏ²¢ git merge newmaster
ѹºÏºÏ²¢ git merge --squash newmaster
¼ðÑ¡ºÏ²¢ git cherry-pick 3221d76f
ɾ³ý·ÖÖ§
git branch -d newmaster
git branch -D newmaster
´´½¨·ÖÖ§µÄʱºò£¬Èç¹û²»Ö¸¶¨Ò»¸ö·ÖÖ§£¬Ôò»áĬÈϵÄÔÚÎÒÃǵĵ±Ç°·ÖÖ§ÉÏ£¬ÔÚÆäÄ©ÉÒ´´½¨³öÒ»¸ö·ÖÖ§À´£¬ÎÒÃÇ¿ÉÒÔͨ¹ýgit
checkout À´½øÐзÖÖ§µÄÇл»ºÍ¼ì³ö£¬ºÏ²¢·ÖÖ§ÓÐÈýÖÖ·½Ê½£¬Ö±½ÓºÏ²¢»á½«ËùÓеÄÀúÊ·¼Ç¼ºÏ²¢½øÀ´£¬Í¨¹ýѹºÏºÏ²¢£¬»á½«ËùÓеļǼ×÷Ϊһ´ÎÌá½»½øÐÐÌá½»£¬Í¨¹ý¼ðÑ¡ºÏ²¢£¬ÎÒÃÇ¿ÉÒÔÌôÑ¡×Ô¼ººÏÊʵIJ¿·ÖÀ´ÓÐËùÑ¡ÔñµÄ½øÐÐÌá½»¡£
(10)git ÀúÊ·¼Ç¼²éѯ
ÆÕͨ²éѯ
git log
git log newmaster+hashcode
git log -1(²é¿´Ò»¸ö)
Ö¸¶¨·¶Î§²éѯ
git log --since="5 hours"
git log --before="5 hours"
git log hashcode1...hashcode2£¨Á½¸ö°æ±¾Ö®¼äµÄËùÓа汾£©
git log hashcode...HEAD£¨Ö¸¶¨°æ±¾µ½µ±Ç°°æ±¾£©
git log HEAD^^ git log HEAD~2£¨^±íʾ¸¸½Úµã£¬~2±íʾÆäÉÏÃæ¸¸±²µÄ¸öÊý£©
git diff hashcode£¨²é¿´°æ±¾Ö®¼äµÄ²î±ð£©
(11)Ô¶³Ì°æ±¾¿âÐ×÷
ÍøÂçÐÒ飺git/http/https/ssh
gitÐÒéÊÇÎÞ¼ÓÃÜÄäÃû£¬²»ÊʺÏÔÚÏîÄ¿Ð×÷ÖнøÐÐʹÓ㬿ÉÓÃÓÚÖ»¿ÉÒÔ¿´²»¿ÉÒÔ¸ü¸ÄµÄÏîÄ¿£¬sshÊǽÏΪ°²È«µÄ£¬Ìá½»Óû§ÐèÒª¼ì²âÿһ¸öÓû§µÄÖ¤Êé¡£´ó¶àÊý
Git ·þÎñÆ÷¶¼»áÑ¡ÔñʹÓà SSH ¹«Ô¿À´½øÐÐÊÚȨ¡£ÏµÍ³ÖеÄÿ¸öÓû§¶¼±ØÐëÌṩһ¸ö¹«Ô¿ÓÃÓÚÊÚȨ£¬Ã»Óеϰ¾ÍÒªÉú³ÉÒ»¸ö¡£ÔÚÎÒÃǵı¾µØÉú³ÉÒ»¸ö¹«Ô¿£¬È»ºóÔÚ·þÎñÆ÷ÖÐÌîд¸Ã¹«Ô¿£¬×÷Ϊ¶ÔÎÒÃǵļø±ð¡£
ÏÂÃæÊǺÍÔ¶³Ì°æ±¾¿âµÄ¼¸¸ö½»»¥ÃüÁî
git push
ÍÆÈë¸Ä¶¯
git pull
½«Ô¶³Ì°æ±¾¿âÀ»Ø²¢ºÏ²¢
git remote add name mastername ://url
ÊÖ¶¯Ìí¼ÓÒ»¸öÔ¶³Ì°æ±¾¿â
git remote rm name
ɾ³ýÒ»¸öÔ¶³Ì°æ±¾¿â
ÐÂѧÁËһЩ
git checkout -- file
½«Îļþ»Ø¹öµ½×îºóÒ»´ÎÌí¼Óµ½ÔÝ»ºÇøµÄ״̬¡£
git reset HEAD file
½«ÔÝ»ºÇø»òÕßÊÇ×îеÄÌá½»»Ø¹ö
ÔÚÎÒÃDZ¾µØµÄÎļþ±»É¾³ýÖ®ºó£¬gitÔ¶³Ì»¹»á¼ÌÐø×·×Ù£¬ÐèÒªÎÒÃÇͨ¹ýgit rm½«Ô¶³ÌµÄɾ³ý£¬±¾µØµÄÈç¹ûÎóɾ³ýÁË£¬Í¨¹ýgit
reset½«Æä½øÐлָ´¡£
ÏÂÃæ½²Ò»ÏÂ×Ô¼ºÔÚ¹«Ë¾Ê¹ÓÃGitµÄһЩÎÊÌâ¡£
ÏîÄ¿ÔÚÔ¶³Ì¿ªÆôÁËÈý¸ö·ÖÖ§£¬Ò»¸ömaster·ÖÖ§£¬Ò»¸öpreview·ÖÖ§£¬»¹ÓÐÒ»¸ödev·ÖÖ§£¬Èý¸ö·ÖÖ§·Ö±ðΪһ¸öÊÇÉÏÏßʹÓ÷ÖÖ§£¬Ò»¸öÊÇÉÏÏßǰ²âÊÔʹÓõķÖÖ§£¬Ò»¸öÊÇ¿ª·¢Ê¹ÓõķÖÖ§£¬ÎÒÃÇ¿ÉÒÔÀÏÂÀ´dev·ÖÖ§£¬Í¨¹ýgitclone£¬ÓÉÓÚ¹«Ë¾ÏîĿһ°ãΪ˽ÃÜÏîÄ¿£¬ËùÒÔÐèÒªÎÒÃǽøÐÐÑéÖ¤£¬Õâ¸öʱºòÔÚÎÒÃÇÒªcloneµÄµØÖ·µÄºóÃæ¼ÓÉÏÎÒÃǵÄÓû§Ãû×÷Ϊǰ׺£¬È»ºóͨ¹ýÃÜÂë×÷ΪÑéÖ¤¼´¿É½«Æä´ÓÏßÉÏÀÏÂÀ´£¬È»ºóÎÒÃÇ¿ÉÒÔ¶ÔÆä½øÐÐÐ޸ģ¬Ã¿´ÎÒ»¸ö¹¦ÄܵÄÍê³É£¬×÷Ϊһ´ÎÌá½»£¬È»ºópushµ½ÏßÉÏ£¬Õâ¸öʱºòºÜÈÝÒ׳öÏÖ³åÍ»£¬»òÕßÊÇÏßÉϵİ汾Ҫ±ÈÎÒÃÇÏßϵİ汾ҪÐÂÁË£¬ËùÒÔÎÒÃÇÐèÒªÏȽ«ÏßÉϵÄ×îа汾fetchÏÂÀ´£¬È»ºóºÍÎÒÃDZ¾µØµÄ½øÐкϲ¢£¬Õâ¸öʱºò¿ÉÄÜ»á³öÏÖһЩ³åÍ»£¬ÎÒÃÇÐèÒª´¦ÀíÕâЩ³åÍ»£¬´¦ÀíÍê³ÉÖ®ºó£¬½«ÆäÖØÐ½øÐÐaddµ½ÔÝ»ºÇø£¬È»ºóÌá½»µ½±¾µØ°æ±¾¿â£¬È»ºó½«Æäpushµ½Ô¶³Ì·ÖÖ§£¬Õâ¸öʱºòÎÒÃǾÍʵÏÖ¶ÔÓÚÔ¶³Ì°æ±¾µÄÒ»¸ö¸üС£
¿ÓÏÈÍÚµ½ÕâÀ¶ÔÓÚgitµÄ¸ß½×¹¦ÄÜ£¬ÒÔºóÓõ½ÁËÔÙ¼ÌÐøÍÚ¡£ºóÃæ½«¿ªÕ¹Java´úÂëÓÅ»¯ºÍС¿Ó×ܽáϵÁкÍAndroid½ø½×ϵÁУ¬»¶Ó¸÷λһÆð½»Á÷ÌÖÂÛ¡£
ʵս»ýÀۺͿÓ
±¾µØ´´½¨·ÖÖ§£¬È»ºóÍÆµ½Ô¶³Ì·ÖÖ§
git checkout -b newbranch
git push origin newbranch:newbranch
µÚ¶þ¸öÍÆËÍÃüÁÐèÒªµÄÊÇÈý¸ö²ÎÊý£¬¶ø²»ÊÇ5¸ö¡£push + origin + (newbranch:newbranch)
±¾µØ°æ±¾»Ø¹ö
git reset --hard commit id
soft ¨C »º´æÇøºÍ¹¤×÷Ŀ¼¶¼²»»á±»¸Ä±ä
mixed ¨C ĬÈÏÑ¡Ïî¡£»º´æÇøºÍÄãÖ¸¶¨µÄÌύͬ²½£¬µ«¹¤×÷Ŀ¼²»ÊÜÓ°Ïì
hard ¨C »º´æÇøºÍ¹¤×÷Ŀ¼¶¼Í¬²½µ½ÄãÖ¸¶¨µÄÌá½»
|