¼¸ºõËùÓеİ汾¿ØÖÆÏµÍ³¶¼ÒÔ·ÖÖ§µÄ·½Ê½½øÐвÙ×÷£¬·ÖÖ§ÊǶÀÁ¢ÓÚÏîÄ¿Ö÷ÏßµÄÒ»ÌõÖ§Ïߣ¬ÎÒÃÇ¿ÉÒÔÔÚ²»Ó°ÏìÖ÷Ïß´úÂëµÄÇé¿öÏ£¬ÔÚ·Ö֧ϽøÐй¤×÷¡£¶ÔÓÚ´«Í³µÄһЩ°æ±¾¿ØÖƹ¤¾ßÀ´Ëµ£¬ÎÒÃÇͨ³£ÐèÒª»¨·Ñ±È½Ï¶àµÄʱ¼ä¿½±´Ö÷Ïß´úÂ룬´´½¨Ò»¸ö·ÖÖ§£¬²¢ÇÒ¶Ô·ÖÖ§µÄ¹ÜÀíЧÂÊÒ²Ô½À´Ô½²»ÁîÈËÂúÒ⣬¶øÈç½ñ±¸ÊÜÍÆ³çµÄGitȷʵÃû¸±Æäʵ£¬GitÖеķÖÖ§·Ç³£ÇáÁ¿£¬ÎÒÃÇ¿ÉÒÔËæÊ±ËæÒâ´´½¨ÈÎÒâÊýÁ¿µÄзÖÖ§£¬¼¸ºõ¸Ð¾õ²»µ½Ê²Ã´ÑÓʱ£¬¶øÇÒ¶Ô·ÖÖ§µÄ²Ù×÷Ò²ºÜ¸ßЧ£¬È磬Çл»·ÖÖ§£¬ÔÝ´æÄÚÈÝ£¬·ÖÖ§ºÏ²¢£¬·ÖÖ§Ìá½»µÈ¡£
Git·ÖÖ§µÄÓëÖÚ²»Í¬
ÉÏÃæÎÒÃÇÌáµ½Ïà¶ÔÓÚÆäËû´ó¶àÊý°æ±¾¿ØÖÆÏµÍ³£¬Git·ÖÖ§ÊÇÇáÁ¿ÇÒ¸ßЧµÄ£¬ÎªÊ²Ã´ÄØ£¿´ð°¸ÊÇ£º´«Í³µÄ°æ±¾¿ØÖÆÏµÍ³´æ´¢µÄÊý¾ÝÊÇÎļþµÄ±ä¸ü£¬¶øGitÔòÊǴ洢һϵÁеÄÎļþ¿ìÕÕ£¨snapshot£©¡£
Git·ÖÖ§µÄÕâÐ©ÌØÐÔ£¬Ê¹µÃ·ÖÖ§¶ÔÎÒÃǼ¸ºõûÓÐʲôÏÞÖÆ£¬Ò»°ãÕë¶Ôÿһ¸ö¹¦ÄÜ»òÐèÇ󶼿ÉÒÔËæÒâ´´½¨·ÖÖ§£¬¶øÔÚ´«Í³µÄ°æ±¾¿ØÖÆÏµÍ³£¬ÕâÑù¼¸ºõÊDz»ÏÖʵµÄ¡£
µ±ÎÒÃÇÏò·þÎñÆ÷Ìá½»Êý¾Ýʱ£¬Git»á´æ´¢Ò»¸öÌá½»¶ÔÏó£¨commit object£©£¬Õâ¸ö´æ´¢¶ÔÏó°üÀ¨Ò»ÏµÁÐÓÐÓÃÐÅÏ¢£¬Ïê¼ûÁíһƪÎÄÕÂÖÐÌá½»¶ÔÏó¡£
GitÖ÷¸É·ÖÖ§£¨master£©
master£¬ÓÐÖ÷ÈË£¬´óʦµÄÒâ˼£¬ÔÚGitÊÇͨ³£×÷ΪÖ÷¸É·ÖÖ§£¬Git³õʼ»¯²Ö¿âʱ£¬Ä¬ÈÏ´´½¨µÄ·ÖÖ§Ãû¾ÍÊÇmaster£¬¾ÍÏñĬÈϵÄÔ¶¶ËÖ÷»ú±ðÃûÊÇoriginÒ»Ñù£¬´ó¶àÊýÈ˲»»áÐÞ¸ÄËü£¬Õâ²¢²»ËµÃ÷ËüÓë±ðµÄ·ÖÖ§ÓÐÊ²Ã´Çø±ð£¬Äã¿ÉÒÔËæÒâÐÞ¸ÄÃû³Æ¡£
·ÖÖ§ÀàÐÍ
ÔÚGitÖУ¬³ýÁËĬÈϵÄmasterÖ÷¸É·ÖÖ§£¬ÎÒÃÇ´´½¨µÄÿһ¸ö·ÖÖ§£¬Ò»°ã¿É·ÖΪÁ½ÖÖ£º
1.³¤ÔËÐзÖÖ§£¨Long-Running branch£©:Óëmaster²¢ÐУ¬³¤ÆÚ´æÔÚʹÓõķÖÖ§£¬ÈçÓÃÒÔ²âÊÔÏîÄ¿Îȶ¨ÐÔ»ò×÷ΪÖ÷·ÖÖ§£»
2.Ö÷Ìâ·ÖÖ§£¨topic branch£©£ºÕë¶Ôÿһ¸öÐèÇó»ò¹¦ÄÜ»òbug¶øÔÝʱ´´½¨µÄ·ÖÖ§£¬Ò»µ©ÈÎÎñÍê³É£¬¼´¿ÉÄÜ»ØÊÕ¡£
·ÖÖ§Ö¸Õ루HEAD£©
GitÖÐÓÐÒ»¸öHEADÖ¸Õ룬ʼÖÕÖ¸Ïòµ±Ç°·ÖÖ§£¬Èçͼ¿É¼û£¬ÏîÄ¿µ±Ç°´¦ÔÚmaster·ÖÖ§£¬Ö®Ç°Ò»¹²ÓÐÈý´ÎÌá½»£º

ÉÏͼ¿É¼û£¬µÚÒ»ÐÐÏÔʾÁ˵±Ç°ÏîÄ¿ËùÓзÖÖ§£¬HEAD -> master±íÃ÷µ±Ç°Ëù´¦·Ö֧Ϊmaster£¬ÎÒÃÇ¿ÉÒÔ×ܽáÈçÏÂͼ£º

ÎÒÃÇ¿ÉÒÔÔÚÏîÄ¿¸ùĿ¼.gitÎļþÏÂÕÒµ½Ò»¸öHEADÎļþ£ºvi .git/HEAD,ÆäÄÚ±£´æÁËÖ¸Ïòµ±Ç°·ÖÖ§×îÐÂÌá½»µÄÖ¸Õ룺

¸ÃÖ¸ÕëÖ¸Ïòrefs/heads/·ÖÖ§ÃûÎļþ£¬ÎÒÃǽøÈë.git/refs/heads/Ŀ¼£¬ÆäÏÂÒÔ·ÖÖ§ÃûΪÎļþÃûÁгöÁËËùÓзÖÖ§£º

ÎÒÃDz鿴µ±Ç°·ÖÖ§Îļþ£¬Ö´ÐÐvi master:

¿ÉÒÔ¿´µ½£¬ÆäÄÚ´æ´¢µÄ¾ÍÊǵ±Ç°·ÖÖ§µÄ×îÐÂÒ»´ÎÌá½»¶ÔÏóID¡£
´´½¨·ÖÖ§£¨git branch, git checkout -b£©
½ÓÏÂÀ´£¬¼ÙÉèÓÐÒ»¸öÐèÇóA£¬ÎÒÃÇ´´½¨Ò»¸ö·ÖÖ§work-a:
-b²ÎÊýÉùÃ÷Ϊ´´½¨Ð·ÖÖ§¡£


µÈ¼ÛÓÚÒÔÏÂÁ½ÌõÖ¸Á
git branch ·ÖÖ§Ãû git checkout ·ÖÖ§Ãû
|
Çл»·ÖÖ§£¨git checkout£©
git checkout ·ÖÖ§Ãû±íʾÇл»µ½¸Ã·ÖÖ§£¬ÉÏÎÄÌáµ½Ö¸¶¨-bÅäÖü´ËµÃ÷´´½¨Ð·ÖÖ§¡£
×¢£ºÔÚÇл»·Ö֧ǰ£¬Ò»¶¨È·±£µ±Ç°·ÖÖ§µÄÐÞ¸ÄÒѾÌá½»»òÕß»º´æ¡£
¶à·ÖÖ§²¢ÐÐ
ÎÒÃǾ³£»áÓöµ½Í¬Ê±ÐèÒª¿ª·¢¶à¸ö¹¦ÄܺÍÐèÇ󣬻òÕßͻȻ·¢ÏÖÏßÉÏbugÐèÒª½ô¼±´¦Àí£¬ÎÒÃÇÖ»ÐèÒªÌá½»µ±Ç°·ÖÖ§Ð޸ģ¬È»ºóÇл»µ½Ö÷¸É·ÖÖ§£¬´ÓÆä»ù´¡ÉÏÔÙÇгöÒ»¸öзÖÖ§fix-bug1:

¿ÉÒÔ¿´µ½£¬ÔÚwork-a·ÖÖ§ÉÏÎÒÃÇÐÂÔöÁËÒ»´ÎÌá½»£º
b287b8e22470b20cc98e6224a8023708b4cc6989¡£
|


ÏÖÔÚÎÒÃÇÔÚfix-bug1·ÖÖ§ÉÏÐÞ¸´bugºó£¬½øÐÐÌá½»£º

¿ÉÒÔ¿´µ½£¬ÔÚfix-bug1·ÖÖ§É϶àÁËÒ»¸öÌá½»£ºca270e6£¬ÏÖÔÚÕû¸ö½á¹¹¾Í±ä³ÉÈçÏÂͼ£º

ºÏ²¢·ÖÖ§£¨git merge£©
ÎÒÃÇÒѾÐÞ¸´ÁËijbug»òÍê³ÉÁ˹¦ÄÜ¿ª·¢£¬ÕâʱҪ×öµÄÊǰѴúÂë²¢ÈëÖ÷¸É£¬£¬µ±È»Ò»°ã¹«Ë¾»òÍŶӶ¼ÐèÒª¾¹ý´úÂëÉó²é£¬²ÅÄܲ¢ÈëÖ÷¸É£¬ÔÚ´ËÂÔ¹ý²»Ì¸£¬·ÖÖ§ºÏ²¢Ïà¹ØÖ¸Á
¸ÃÖ¸Áî¸æËßGit½«Ö¸¶¨·ÖÖ§ºÏ²¢µ½µ±Ç°·ÖÖ§£¬µ±È»ÊÇ¿ÉÄܳöÏÖ³åÍ»µÄ£¬ÎÒÃǰ´ÕÕָʾ½â¾ö³åÍ»£¬¼´¿É¡£
ÏÖÔÚÎÒÃÇÏÈÇл»µ½master·ÖÖ§£¬È»ºó°Ñfix-bug1·ÖÖ§²¢ÈëÖ÷¸É£º
¿ÉÒÔ¿´µ½Ö´ÐÐgit mergeÖ¸Áîºó£¬×´Ì¬ÐÅÏ¢ÏÔʾ£º
1.µÚÒ»ÐÐUpdating£¬¸æËßÎÒÃÇÌá½»¼Ç¼¸üÐÂÖÁca270e6;
2.µÚ¶þÐÐFast-forward£¬¼´¿ìËÙÍÆ½ø£¬ËµÃ÷GitÖ±½Ó½«µ±Ç°·ÖÖ§ÍÆ½øµ½Ö¸ÏòÐÂÌá½»¶ÔÏó;
3.ºóÃæÊÇmergeµÄÄÚÈÝÐÅÏ¢¡£

·Ç¿ìËÙÍÆ½øºÏ²¢£¨NO FAST-FORWARD£©
ÏÖÔÚ£¬ÎÒÃÇÔٴδ´½¨Ò»¸ö·ÖÖ§fix-bug2£¬²¢½øÐм¸´ÎÐÞ¸ÄÌá½»£º

¶à´ÎÌá½»ºó£¬×´Ì¬ÈçÏ£º

ÎÒÃÇͨ¹ý·Ç¿ìËÙÍÆ½ø·½Ê½ºÏ²¢·ÖÖ§½øÖ÷¸É·ÖÖ§£º

ÈçÉÏͼ£¬Ö¸¶¨¨Cno-ff¼´ÉùÃ÷½øÐзǿìËÙÍÆ½øºÏ²¢£¬µÚ¶þÐеÄMerge made by the ¡®recursive¡¯
strategy±íÃ÷ͨ¹ý·Ç¿ìËÙÍÆ½ø·½Ê½ºÏ²¢£¬ÎÒÃÇ·¢ÏÖ³ýÁË·ÖÖ§ÉϽøÐеÄÌá½»¼Ç¼Í⣬Git´´½¨ÁËÒ»¸öеÄÌá½»¶ÔÏó£º7a657a,ʹÓÃ
git log ¨CgraphÖ¸Áî²é¿´ÆäÐÅÏ¢:

Èçͼ£¬¿ìËÙÍÆ½ø·½Ê½ºÏ²¢ÈëÖ÷¸ÉµÄfix-bug1·ÖÖ§µÄÌá½»¼Ç¼ֱ½Ó²¢ÈëÖ÷Ïߣ¬ÇÒ²»»á´´½¨ÐµÄÌá½»¶ÔÏó£»¶ø¶ÔÓÚ·Ç¿ìËÙÍÆ½ø·½Ê½ºÏ²¢µÄfix-bug2·ÖÖ§£¬ÆäÌá½»ÀúÊ·Ò²¶¼±£´æ£¬µ«ÊDz¢Î´½øÈëÖ÷Ïߣ¬¶øÊDZ£´æÁËÒ»ÌõÖ§Ïߣ¬Í¬Ê±£¬ÔÚÖ÷ÏßÉÏ´´½¨Ò»¸öеÄÌá½»¶ÔÏó¡£
×îºóÃèÊöÆä½á¹¹Èçͼ£º

·Ç¿ìËÙÍÆ½øÓë¿ìËÙÍÆ½øºÏ²¢£¨FAST-FORWARD & NO
FAST-FORWARD£©
´ÓÉÏÀý£¬¶Ô±ÈÒ»ÏÂÁ½ÖÖ·½Ê½ºÏ²¢·ÖÖ§µÄÒìͬ£º
1.Ìá½»¶ÔÏ󶼻ᱣ´æ£»
2.±¨´æÌá½»¶ÔÏó·½Ê½²»Í¬£º¿ìËÙÍÆ½ø·½Ê½ÊÇÖ±½ÓÔÚÖ÷Ïߣ¨ºÏ²¢Ö÷·ÖÖ§£©ÉÏ£¬Ìí¼ÓÕâЩÌá½»¶ÔÏ󣬼´Ö±½ÓÒÆ¶¯HEADÖ¸Õ룻¶ø·Ç¿ìËÙÍÆ½ø·½Ê½Êǽ«Ìá½»¶ÔÏó±£´æÔÚÖ§Ïߣ¬È»ºóÔÚÖ÷Ïßн¨Ò»¸öÌá½»¶ÔÏó£¬ÐÞ¸ÄHEADÖ¸Õ뼰н¨Ìá½»¶ÔÏóµÄÖ¸Õ룬¶øÇÒ´Ëн¨Ìá½»¶ÔÏóÓÐÁ½¸ö¸¸Ìá½»¶ÔÏ󣨼´ÓÐÁ½¸öparentÖ¸Õ룩¡£
3.ºÏ²¢ºó·ÖÖ§Ö¸Ïò²»Í¬£º¿ìËÙÍÆ½øºÏ²¢ºó£¬Á½¸ö·ÖÖ§½«Í¬Ê±Ö¸Ïò×îÐÂÌá½»¶ÔÏ󣬶ø·Ç¿ìËÙÍÆ½øºÏ²¢ºó£¬ºÏ²¢Ö÷·ÖÖ§Ö¸Ïòн¨µÄÌá½»¶ÔÏó£¬ÁíÒ»·ÖÖ§Ö¸Ïò²»±ä¡£
4.ÎÒÃDz鿴һÏÂд´½¨Ìá½»¶ÔÏó£º

¿ÉÒÔ¿´µ½¸ÃÌá½»¶ÔÏóÖÐÓÐÁ½¸öÖ¸ÕëÖ¸Ïò¸¸Ìá½»¶ÔÏó£¬Ò»¸öÖ¸ÏòÖ÷ÏßÖеĸ¸Ìá½»¶ÔÏó£¬Ò»¸öÖ¸Ïòfix-bug2·ÖÖ§ºÏ²¢¶øÀ´µÄÖ§Ï߸¸Ìá½»¶ÔÏó¡£
Èý·ºÏ²¢£¨THREE-WAY MERGE£©
³ýÁË֮ǰÌáµ½µÄÁ½Öֺϲ¢µÄÇé¿ö£¬Æäʵ»¹´æÔÚÕâÑùÒ»ÖÖÇé¿ö£¬¾ÍÊÇÏÖÔÚ¼ÙÈçÎÒÍê³ÉÁËwork-a·ÖÖ§µÄ¿ª·¢£¬ÐèÒª½«Æä²¢ÈëÖ÷¸É£¬ÎÒÃÇÄÜ¿´µ½µ±Ç°masterÖ÷¸É·ÖÖ§ÒÑ¾ÍÆ½øµ½7a6576ÁË£¬¶øwork-a·ÖÖ§Ö¸Ïòb287b8,Á½ÕßÓй²Í¬×æÏÈÌá½»¶ÔÏó6d50f6,ÎÒÃǽ«ÆäºÏ²¢£º

ÉÏͼµÚ¶þÐбíÃ÷´Ë´ÎÊÇͨ¹ý·Ç¿ìËÙÍÆ½ø·½Ê½ºÏ²¢£¬ÎÒÃDz鿴Ìá½»¶ÔÏó¼Ç¼ͼ£º

½á¹¹Èçͼ£º

ÎÒÃÇ·¢ÏÖ£¬Èý·ºÏ²¢½á¹¹ÊÇÔÚÐèÒªºÏ²¢µÄÁ½¸ö·ÖÖ§µÄ×îÐÂÌá½»¶ÔÏóµÄ»ù´¡ÉÏ£¬´´½¨Ò»¸öÐÂÌá½»¶ÔÏó(4ae14b)£¬½«ºÏ²¢Ö÷·ÖÖ§£¨¼´Ö´Ðкϲ¢Ö¸Áîʱ£¬µ±Ç°Ëù´¦·ÖÖ§£©µÄHEADÖ¸ÕëÇ°ÒÆÖ¸Ïò¸ÃÌá½»¶ÔÏ󣬸ÃÌá½»¶ÔÏóÓÐÁ½¸ö¸¸Ìá½»¶ÔÏ󣬷ֱðΪºÏ²¢Ç°´ýºÏ²¢·ÖÖ§µÄ×îÐÂÌá½»¶ÔÏ󣨼´b287b8ºÍ7a657a£©¡£
¹ØÓÚÈý·ºÏ²¢ÐèÒªÃ÷È·£º
1.Èý·ºÏ²¢ÆäʵÊÇÒ»ÖÖ·Ç¿ìËÙÍÆ½øºÏ²¢·½Ê½£»
2.Èý·ºÏ²¢µÄǰÌáÊÇÁ½¸ö·ÖÖ§Óй²Í¬×æÏÈÌá½»¶ÔÏó£»
·ÖÖ§³åÍ»£¨conflict£©
Ôںϲ¢·ÖÖ§£¬²»¿É±ÜÃâ»á·¢Éú³åÍ»£¬µ±ÎÒÃÇÔÚÁ½¸ö·ÖÖ§¶ÔͬһÎļþͬһ²¿·Ö½øÐв»Í¬Ð޸ĺ󣬷¢ÆðºÏ²¢Ê±¾Í»áÌáʾÓгåÍ»£¬¼ÙÉèÎÒÃÇÓÐwork-b·ÖÖ§£¬ÔÚÆä»ù´¡ÉÏÇгöзÖÖ§work-b-1£¬È»ºóÔÚÁ½·ÖÖ§ÉÏ·Ö±ð¶ÔREADME.mdÎļþͬһ²¿·Ö½øÐв»Í¬Ð޸IJ¢Ìá½»£¬È»ºó½«work-b-1·ÖÖ§ºÏ²¢µ½work-b·ÖÖ§£º

·¢ÏÖREADME.mdÎļþÓгåÍ»£¬²é¿´¸ÃÎļþ£º

ÈçÉÏͼ£¬ÁгöÁËÁ½¸ö·ÖÖ§µÄ²»Í¬Ð޸ģ¬HEAD±íÃ÷µ±Ç°·ÖÖ§µÄÐÞ¸ÄÄÚÈÝ£¬ÏÂÃæÊÇwork-b-1·ÖÖ§µÄÐ޸ģ¬ÎÒÃÇÑ¡ÔñÐèÒª±£ÁôµÄÄÚÈÝ£¬É¾³ýÆäËûÎÞ¹ØÐÅÏ¢ºÍÄÚÈÝ£¬È»ºó±£´æ¸ÃÎļþ£¬²é¿´µ±Ç°×´Ì¬£º

¸ù¾ÝÌáʾ£¬½â¾ö³åÍ»ºóÌá½»£º

²é¿´·ÖÖ§
¶ÔÓÚ´´½¨¹ýµ«²¢Î´É¾³ýµÄ·ÖÖ§£¬ÎÒÃÇ¿ÉÒԲ鿴·ÖÖ§ÁÐ±í£¬ÒÀȻʹÓÃgit branchÖ¸Á²»´«ÈëÈκβÎÊý£º

ͼÖÐÁгöÁËËùÓзÖÖ§£¬Ç°Ãæ´øÐǺŵıíʾµ±Ç°·ÖÖ§£¬µ±È»ÎÒÃÇ»¹¿ÉÒԲ鿴ָÃ÷×îÐÂÌá½»ÐÅÏ¢µÄ·ÖÖ§ÁÐ±í£¬¿ÉÒÔÌí¼Ó-v²ÎÊý£º

ɸѡ·ÖÖ§
³ýÁË¿ÉÒԲ鿴ËùÓзÖÖ§ÁÐ±í£¬Git»¹Ö§³ÖɸѡÒѺϲ¢»òδºÏ²¢ÖÁµ±Ç°·ÖÖ§µÄËùÓзÖÖ§£º
1.¨Cmerged²ÎÊýÖ¸Ã÷ɸѡÒѺϲ¢·ÖÖ§£»
2.¨Cno-merged²ÎÊýÖ¸Ã÷ɸѡδºÏ²¢·ÖÖ§¡£

ɾ³ý·ÖÖ§£¨git branch -d£©
µ±·ÖÖ§ºÏ²¢ÈëÖ÷¸Éºó£¬Ò²ÐíÎÒÃDz»ÔÙÐèÒªÄǸö·ÖÖ§ÁË£¬ÎÒÃÇÐèÒª½«Æäɾ³ý£¬Ê¹ÓÃÖ¸Á
֮ǰ½éÉܵ½Ê¹ÓÃgit branchÊÇ´´½¨Ð·ÖÖ§£¬¶øÖ¸¶¨-d²ÎÊý£¬ËµÃ÷ÐèҪɾ³ý¸Ã·ÖÖ§£º

Ô¶³Ì·ÖÖ§£¨remote branch£©
ÎÒÃÇ×¢Òâµ½£¬Ç°ÎÄËù½²ÊöµÄ·ÖÖ§¶¼ÊÇ´æÔÚ±¾µØµÄ£¬¼´±¾µØ·ÖÖ§£¬»¹ÐèÒªÁ˽âÔ¶³Ì·ÖÖ§£¬Èç[remote]/[branch]ÕâÖÖÐÎʽ£¬±íʾÊÇÔ¶¶ËÖ÷»úµÄij·ÖÖ§£¬¹ØÓÚÔ¶¶ËÖ÷»úÏêÇéÇë²é¿´£¬ÆäʵԶ³Ì·ÖÖ§ºÍ±¾µØ·ÖÖ§»ù±¾ÀíÂÛ¸ÅÄÊÇÏàͬµÄ£¬Çø±ðÊÇÓÐЩָÁͬ¶øÒÑ£º
git checkout -b test origin/develop
|
ÒÔÉÏÖ¸Áî¼´´ÓÔ¶³Ì·ÖÖ§(Ô¶¶ËÖ÷»úoriginÉϵÄdevelop·ÖÖ§)Çгöеı¾µØ·ÖÖ§test·ÖÖ§¡£
¸ú×Ù·ÖÖ§£¨TRACKING BRANCH£©
ǰÎÄÒѾ½éÉÜÁ˱¾µØ·ÖÖ§ºÍÔ¶³Ì·ÖÖ§µÄ¸ÅÄî¼°²Ù×÷£¬ÄÇôÕâÁ½Àà·ÖÖ§Ö®¼äÓ¦¸ÃÓÐijÖÖ¹ØÏµ½«ËûÃǹØÁªÆðÀ´£¬±¾µØÏîÄ¿¶¼ÐèÒªÓëÔ¶¶ËÖ÷»ú²Ö¿âͬ²½£¨pull
& push£©,µ±ÎÒÃÇ´ÓÒ»¸öÔ¶³Ì·ÖÖ§Çгö£¨´´½¨£©Ò»¸ö±¾µØ·Ö֧ʱ£¬Õâ¸ö·ÖÖ§¾Í½Ð¸ú×Ù·ÖÖ§£¨tracking
branch£©,¶øÔ¶³Ì·ÖÖ§½ÐÉÏÓηÖÖ§£¨upstream branch£©¡£
µ±ÎÒÃǿˡһ¸öÔ¶¶Ë²Ö¿âʱ£¬»áĬÈÏ´´½¨Ò»¸ö¸ú×Ù·ÖÖ§master£¬ÆäÉÏÓηÖÖ§¾ÍÊÇÔ¶¶ËÖ÷»ú±ðÃû/master¡£
´´½¨¸ú×Ù·ÖÖ§
´´½¨¸ú×Ù·ÖÖ§Ö¸ÁîÈçÏ£º
git checkout -b ±¾µØ·ÖÖ§Ãû Ô¶¶ËÖ÷»ú±ðÃû/Ô¶³Ì·ÖÖ§Ãû
|
µ±È»Ò²¿ÉÒÔ²»Ö¸¶¨·ÖÖ§Ãû£¬Ê¹ÓÃÔ¶³Ì·Ö֧ͬÃû£º
git checkout --track Ô¶¶ËÖ÷»ú±ðÃû/Ô¶³Ì·ÖÖ§Ãû
|
Ð޸ĸú×Ù¹ØÏµ
ÓÐʱºò£¬¿ÉÄÜÐèҪΪ±¾µØ·ÖÖ§ÉèÖÃÆäÉÏÓηÖÖ§£¬Ìí¼Ó-u²ÎÊý£º
git branch -u Ô¶¶ËÖ÷»ú±ðÃû/Ô¶³Ì·ÖÖ§Ãû
|
ÒÔÉÏÖ¸Áî¾ÍÖ¸Ã÷µ±Ç°·ÖÖ§¸ú×ÙijԶ¶ËÖ÷»úµÄÔ¶³Ì·ÖÖ§¡£
²é¿´¸ú×Ù·ÖÖ§£¨git branch -vv£©
ʹÓÃÒÔÏÂÖ¸Áî²é¿´·ÖÖ§µÄÉÏÓηÖÖ§£º
ÉÏͼÊä³öÐÅÏ¢µÚ¶þÐбíÃ÷master·ÖÖ§¸ú×ÙÔ¶³Ìorigin/master·ÖÖ§£¬ahead 7±íÃ÷±¾µØÓÐ7¸öÌá½»Î´ÍÆµ½·þÎñÆ÷£¬ÆäËû·ÖÖ§²»ÊǸú×Ù·ÖÖ§£¬Ã»ÓÐÉÏÓηÖÖ§¡£
ɾ³ýÔ¶³Ì·ÖÖ§
¶ÔÓÚ²»ÔÙÐèÒªµÄÔ¶³Ì·ÖÖ§£¬ÊÇ¿ÉÒÔɾ³ýµÄ£º
git push origin --delete test
|
ÒÔÉÏÖ¸Áîɾ³ýÔ¶¶ËÖ÷»úoriginµÄtest·ÖÖ§£¬µ«ÊÇÔÚÀ¬»ø»ØÊÕ֮ǰ£¬Git·þÎñÆ÷ÈÔÈ»»á±£Áô·ÖÖ§Êý¾Ý£¬ÎÒÃÇ¿ÉÒԺܷ½±ãµÄ»Ö¸´Êý¾Ý£¬Ö®ºó»áÏêϸ½éÉÜ¡£
±ä»ù£¨rebase£©
GitÖÐÓÐÁ½ÖÖ·½Ê½ÕûºÏ²»Í¬·ÖÖ§µÄÐ޸ģºµÚÒ»ÖÖÊÇǰÎĽéÉܵĺϲ¢£¨merge£©£¬ÁíÒ»ÖÖ¾ÍÊDZ¾½ÚµÄÖ÷Ìâ±ä»ù£¨rebase£©¡£
±ä»ùÆäʵÓëǰÎÄÌáµ½µÄÈý·ºÏ²¢£¨three-way merge£©ÆÄÓÐÔ¨Ô´£º

Èçͼwork-a·ÖÖ§ÓëÖ÷¸Émaster·ÖÖ§ºÏ²¢ºó£¬´´½¨Ò»¸öÐÂÌá½»¶ÔÏó£¬ÎÒÃÇ»¹¿ÉÒÔͨ¹ý±ä»ùÍê³ÉÁ½¸ö·ÖÖ§µÄÐÞ¸ÄÕûºÏ£¬ÓÉÓÚwork-a·ÖÖ§ÒѺϲ¢µ½master·ÖÖ§£¬ÎÒÃÇÔÚwork-a·ÖÖ§ÔÙÌá½»Ò»´ÎÐÞ¸Äe0ae7dc,È»ºóÎÒÃǽ«work-a·ÖÖ§¶Ômaster·ÖÖ§½øÐбä»ù£º

Ö´Ðбä»ùʱ£¬ÓÉÓÚÁ½¸ö·ÖÖ§¶ÔͬһÎļþͬһ²¿·Ö½øÐÐÁ˲»Í¬Ð޸쬻áÌáʾ³åÍ»£¬ÐèÒª½â¾ö³åÍ»£¬ÎÒÃÇÐÞ¸ÄÎļþ½â¾ö³åÍ»£¬È»ºó²é¿´×´Ì¬£º

ÉÏͼ£¬µÚÒ»ÐÐrebase in progress; onto 4ae14b3˵Ã÷µ±Ç°·ÖÖ§Õë¶Ô4ae14b3¿ìÕÕ½øÐбä»ù£¬µÚÈýµ½µÚÎåÐзֱð˵Ã÷£º
1.µÚÈýÐУº½â¾ö³åͻȻºóÖ´ÐÐgit rebase ¨CcontinueÖ¸Áî¼ÌÐø±ä»ù£»
2.µÚËÄÐУºÖ´ÐÐgit rebase ¨CskipÖ¸Áî£¬Ìø¹ý½â¾ö³åÍ»£»
3.µÚÎåÐУºÖ´ÐÐgit rebase ¨CabortÖ¸ÁÖÕÖ¹±ä»ù£¬»Øµ½·ÖÖ§±ä»ùǰ״̬¡£
ÏÂÃæµÚ6µ½µÚ°ËÐÐ˵Ã÷£º
4.µÚÆßÐУºÊ¹ÓÃgit reset HEAD Ö¸Áî³·ÏúijÎļþ±ä¸ü£»
5.µÚ°ËÐУºÊ¹ÓÃgit add Ö¸Áî±ê¼Ç³åͻΪÒѽâ¾ö״̬¡£
×îºóÒ»ÐÐno changes added to commit (use ¡°git add¡± and/or
¡°git commit -a¡±)£¬ËµÃ÷ÉÐδ±ê¼Ç³åÍ»£¬ÐèҪʹÓÃÖ¸Áî±ê¼Ç±ä¸ü£¬ÔÚ¼ÌÐøÖ´Ðбä»ù£º


ÈçÉÏͼ£¬±ä»ùºó£¬ÔÚÖ÷ÏßÉÏ´´½¨ÐÂÌá½»¶ÔÏó640b83,²¢ÐÞ¸Äwork-a·ÖÖ§Ö¸ÕëÖ¸Ïò¸ÃÌá½»¶ÔÏó£º

Ö®ºóÎÒÃÇ¿ÉÒÔÕý³£µÄºÏ²¢£º

±ä»ùºóºÏ²¢
Èçͼ£¬Ö÷Ïß·ÖÖ§¸üÐÂÌá½»¶ÔÏóµ½640b83a£¬µÚ¶þÐÐFast-forward˵Ã÷´Ë´ÎºÏ²¢ÊôÓÚ¿ìËÙÍÆ½øºÏ²¢·½Ê½£¬½á¹¹ÈçÏ£º

Èý·ºÏ²¢Óë±ä»ù
»ùÓÚÉÏÀý£¬Èý·ºÏ²¢£¬ÕûºÏÐ޸ıä¸üºó»á±£Áô·ÖÖ§µÄÔʼÌá½»¼Ç¼£¬Ð´´½¨Ìá½»¶ÔÏóÓÐÁ½¸ö¸¸Ìá½»¶ÔÏó£¬Ò»¸öÔÚÖ÷ÏßÉÏ£¬Ò»¸öÔÚ´ýºÏ²¢·ÖÖ§ÉÏ£»¶ø±ä»ùÔò²»Äܱ£Áô´ýºÏ²¢·ÖÖ§µÄÔʼÌá½»¼Ç¼£¬Ö÷ÏßÉÏн¨µÄÌá½»¶ÔÏóÖ»ÓÐÒ»¸öλÓÚÖ÷ÏßÉϵĸ¸Ìá½»¶ÔÏ󡣸ü¶à±ä»ùÏà¹ØÄÚÈݼƻ®µ¥¶À³öÎĽéÉÜ¡£
ÖÁÓÚµ½µ×Ñ¡ÓÃÄÄÖÖ·½Ê½ÕûºÏ±ä¸ü£¬±ä»ù»¹ÊǺϲ¢£¬Õâ¸öÒ»Ö±ÓÐÕùÂÛ£¬Ã»ÓÐÄÄÒ»ÖÖ·½Ê½¾ø¶ÔºÏÀí£¬ÎÒÃÇÖ»ÐèÒª°ÑÎÕÒ»¸öÔÔò£ºÎÞÂÛ±ä»ù»¹ÊǺϲ¢£¬ÄãÓ¦¸ÃÖ»²Ù×÷±¾µØÀúÊ·¼Ç¼£¬ÈκÎÒÑ¾ÍÆµ½·þÎñÆ÷²¢ÈëÖ÷¸ÉµÄÄÚÈݺÍÌá½»ÀúÊ·²»Ó¦¸Ã¸ü¸Ä¡£ |