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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
git Ïê½â¼°ÊµÓÃÖ¸ÄÏÖ®Èý£¨·ÖÖ§¹ÜÀí£©
 
  1429  次浏览      27
 2018-11-9
 
±à¼­ÍƼö:

±¾ÎÄÀ´×Ôsegmentfault£¬ÎÄÕ½éÉÜÁË´´½¨ÓëºÏ²¢·ÖÖ§¡¢ ·ÖÖ§µÄ²Ù×÷¹ÜÀíÒÔ¼°¶àÈËЭ×÷¿ª·¢µÈÏà¹ØÖªÊ¶¡£

1. git Ïê½â¼°ÊµÓÃÖ¸ÄÏÖ®Ò» £¨±¾µØ²Ù×÷£©

2. git Ïê½â¼°ÊµÓÃÖ¸ÄÏÖ®¶þ £¨Ô¶³Ì²Ù×÷£©

1.´´½¨ÓëºÏ²¢·ÖÖ§

ÀûÓ÷ÖÖ§¾Í¿ÉÒÔʵÏÖ¶àÈË¿ª·¢µÄΰ´óģʽ£¬´Ó¶øÌá¸ßÉú²úЧÂÊ¡£ÔÚÕû¸ö GIT Ö®ÖУ¬Ö÷·ÖÖ§(master)Ö÷ÒªÊÇ×÷Ϊ³ÌÐò µÄ·¢²¼Ê¹Óã¬Ò»°ã¶øÑÔºÜÉÙ»áÔÚÖ÷·ÖÖ§ÉϽøÐдúÂëµÄ¿ª·¢£¬¶¼»áÔÚ¸÷×ÔµÄ×Ó·ÖÖ§ÉϽøÐС£

1£©mastr ·ÖÖ§

ĬÈÏÇé¿öÏ£¬mastrÊÇÒ»ÌõÏߣ¬git ÀûÓà master Ö¸Ïò×îеÄÌá½»£¬ÔÙÓà "HEAD" ÅúÏò "master",¾ÍÄÜÈ·¶¨µ±Ç°·ÖÖ§ÒÔ¼°µ±Ç°·ÖÖ§µÄÌá½»µã¡£

ÒÔÉϲÙ×÷ÊôÓÚÏîÄ¿·¢²¼°æ±¾µÄÖ´ÐÐ˳Ðò£¬ÒòΪ×îÖÕ·¢²¼¾ÍÊÇ master ·ÖÖ§¡£µ«ÊǶÔÓÚÆäËüµÄ¿ª·¢Õߣ¬²»Ó¦¸ÃÓ¦¸ÃÔÚmastr ·ÖÖ§ÉϽøÐС£ËùÒÔÓ¦¸Ã½¨Á¢·ÖÖ§£¬¶ø×Ó·ÖÖ§×îÆðÂ뽨Á¢µÄʱºòÓ¦¸ÃÊǵ±Ç°µÄ master ·ÖÖ§µÄ״̬¡£¶ø·ÖÖ§µÄÒ»µ«´´½¨Ö®ºó£¬ HEAD Ö¸Õë¾Í»á·¢Éú±ä»¯¡£

2£©·ÖÖ§Ìá½»

Èç¹ûÓÐеÄÌá½»£¬Ôò master ·ÖÖ§²»»á¸Ä±ä£¬Ö»ÓÐ brh ·ÖÖ§»á·¢Éú±ä»¯¡£

ÄÇô´Ëʱ master ·ÖÖ§µÄ°æ±¾ºÅ¾ÍÂäºóÓÚ×Ó·ÖÖ§ÁË¡£µ«ÊDz»¹Ü×Ó·ÖÖ§ÔÙÔõô¿ª·¢£¬Ò²²»ÊÇ×îз¢²¼°æ±¾£¬ËùÓеķ¢²¼°æ±¾¶¼±£´æÔÚ master ·ÖÖ§ÉÏ£¬ÄÇô¾Í±ØÐ뽫·ÖÖ§Óë master µÄ·ÖÖ§½øÐкϲ¢¡£

3£©·ÖÖ§Ìá½»

Èç¹ûÓÐеÄÌá½»£¬¸Õ master ·ÖÖ§²»»á¸Ä±ä£¬Ö»ÓÐ bth ·ÖÖ§»á·¢Éú¸Ä±ä¡£

µ±·ÖÖ§ºÏ²¢Ö®ºó£¬Êµ¼ÊÉϾÍÏ൱ÓÚ master µÄ·ÖÖ§µÄÌá½»µãÐÞ¸ÄΪ×Ó·ÖÖ§µÄÌá½»µã£¬¶øºóÕâ¸öºÏ²¢Ó¦¸ÃÔÚ master ·ÖÖ§ÉÏÍê³É£¬¶øºó HEAD ÐèÒªÐÞ¸ÄÖ¸Õ룬¶Ï¿ª brh ·ÖÖ§£¬¶øÖ¸ÏòÔ­±¾µÄ master ·ÖÖ§¡£

4£©É¾³ý×Ó·ÖÖ§

Èç¹ûÓÐеÄÌá½»£¬¸Õ master ·ÖÖ§²»»á¸Ä±ä£¬Ö»ÓÐ brh ·ÖÖ§»á·¢Éú¸Ä±ä¡£

·Ö֧ɾ³ýµôÖ®ºóËùÓеÄÄÚÈÝÒ²¾Í¶¼È¡ÏûÁË¡£

5£©´´½¨Ò»¸ö·ÖÖ§

git branch brh

6£©µ±·ÖÖ§´´½¨Íê³ÉÖ®ºó¿ÉÒÔͨ¹ýÈçÏÂÃüÁî½øÐв쿴

git branch

¿ÉÒÔ·¢ÏÖÏÖÔÚÌáʾµ±Ç°¹¤×÷ÇøÖÐÓÐÁ½¸ö·ÖÖ§:Ò»¸öÊÇ brh ·ÖÖ§£¬ÁíÍâÒ»¸öÊÇ master ·ÖÖ§£¬¶øÏÖÔڵķÖÖ§Ö¸ÏòµÄ ÊÇ master ·ÖÖ§¡£

7£©Çл»µ½brh·ÖÖ§

git checkout brh

µ«ÊǺܶàʱºòÎÒÃÇ´´½¨·ÖÖ§µÄ×îÖÕÄ¿µÄ¾ÍÊÇΪÁËÇл»µ½´Ë·ÖÖ§ÉϽøÐпª·¢£¬ËùÒÔΪÁË·½±ã²Ù×÷£¬ÔÚ git Ö®ÖÐÌṩÁËÒ» ¸ö¸ü¼Ó¼òµ¥µÄ¹¦ÄÜ¡£

´´½¨²¢Çл»·ÖÖ§

Èç¹ûÏëҪɾ³ý×Ó·ÖÖ§£¬ÄÇô²»ÄÜÔÚµ±Ç°·ÖÖ§ÉÏ£¬ËùÒÔÇл»»ØÁË master ·ÖÖ§

git checkgout master

ɾ³ý×Ó·ÖÖ§

git branch -d brh

½¨Á¢·ÖÖ§µÄͬʱ¿ÉÒÔ×Ô¶¯µÄÇл»µ½×Ó·ÖÖ§

git checkout -b brh

8£©Çл»µ½brh·ÖÖ§

ÏÖÔÚÒѾ­³É¹¦µÄÔÚbrh·ÖÖ§ÉÏÁË£¬ÄÇôÏÂÃæ½øÐдúÂëµÄÐÞ¸Ä;

ÐÞ¸Ä hello.js

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
}

Õâ¸öʱºòµÄ Hello.java ÎļþÊÇÊôÓÚ×Ó·ÖÖ§Éϵ쬶øÏÖÔÚÒ²ÔÚ×Ó·ÖÖ§ÉÏ£¬ÄÇôÏÂÃæ²éѯһÏÂ×Ó·ÖÖ§µÄ״̬¡£

´Ëʱ¸üеÄÊÇ×Ó·ÖÖ§µÄÄÚÈÝ£¬µ«ÊÇÖ÷·ÖÖ§ÉϵÄÊý¾ÝÄØ?

9£©ÔÚ×Ó·ÖÖ§ÉϽ«Ð޸ĽøÐÐÌá½»

git commit -a -m "modified hello.js file"

µ±×Ó·ÖÖ§µÄÊý¾ÝÌá½»Ö®ºóʵ¼ÊÉϲ¢²»»áÈ¥ÐÞ¸Ä master ·ÖÖ§µÄÄÚÈÝ¡£Õâ¾ÍÖ¤Ã÷ÁË£¬Á½¸ö·ÖÖ§ÉϵÄÄÚÈÝÊDZ˴˶ÀÁ¢µÄ¡£

10£©Ã´¼ÈÈ»·ÖÖ§¶¼ÒѾ­´æÔÚÁË£¬ÄÇôÏÖÔÚΪÁ˸ü¼ÓÇå³þ£¬½«masterºÍbrhÁ½¸ö·ÖÖ§¶¼Ìá½»µ½Ô¶³Ì·þÎñÆ÷ÉÏ(GITHUB)

git remote set-url origin https://github.com/yootk/mldn.git
git push origin master
git push origin brh

11£©×îÖÕ·¢²¼µÄ°æ±¾Ò»¶¨ÊÇÔÚmaster·ÖÖ§ÉÏ£¬ËùÒÔÏÂÃæÐèÒª½«brh·ÖÖ§Óëmaster·ÖÖ§½øÐкϲ¢(ÔÚÖ÷·ÖÖ§ÉÏ)

git merge brh

ÔÚ֮ǰ½²½âµÄʱºò˵¹ýʵ¼ÊÉÏÊÇÐÞ¸ÄÁË master Ö¸ÕëΪ brh ·ÖÖ§µÄÖ¸ÕëÐÅÏ¢¡£ËùÒÔ´ËʱµÄºÏ²¢·½Ê½Îª¡°Fast-forward¡±,±íʾÊÇ¿ìËٺϲ¢·½Ê½£¬¿ìËٵĺϲ¢·½Ê½²¢²»»á²úÉúÈÎºÎµÄ commit id¡£ ËüÖ»ÊÇÀûÓÃÁ˺ϲ¢×Ó·ÖÖ§µÄ commit id ¼ÌÐø²Ù×÷¡£

12£©´ËʱµÄbrh·Ö֧ûÓÐÈκεÄÓô¦ÁË£¬ÄÇô¾Í¿ÉÒÔÖ´ÐÐɾ³ý²Ù×÷

git branch -d brh

13£©Ìá½» master ·ÖÖ§

git push origin master

ÏÖÔÚÔÚ±¾µØÉÏÒѾ­Ã»ÓÐÁË×Ó·ÖÖ§£¬µ«ÊÇÔÚÔ¶³Ì·þÎñÆ÷ÉÏÒÀÈ»»á´æÔÚ×Ó·ÖÖ§¡£ÄÇôÏÂÃæÒªÉ¾³ýÔ¶³Ì·ÖÖ§¡£

14£©É¾³ýÔ¶³Ì·ÖÖ§

git push origin --delete brh

ÄÇô´ËʱԶ³Ì·ÖÖ§¾ÍÒѾ­±»³É¹¦µÄɾ³ýµôÁË¡£

2.·ÖÖ§µÄ²Ù×÷¹ÜÀí

ÉÏÃæÑÝʾÁË·ÖÖ§µÄ¸÷¸ö²Ù×÷£¬°üÀ¨Ê¹Ó÷ÖÖ§¡¢ÒÔ¼°ºÏ²¢·ÖÖ§£¬Í¬Ê±Ò²Çå³þÁ˶ÔÓÚ·ÖÖ§ÓÐÁ½ÖÖ·½Ê½Ò»ÖÖ ÊDZ¾µØ·ÖÖ§£¬ÁíÍâÒ»ÖÖÊÇÔ¶³Ì·ÖÖ§£¬µ«ÊǶÔÓÚ·ÖÖ§ÔÚ GIT ʹÓÃÖ®ÖÐÒÀÈ»»áÓÐһЩССµÄÎÊÌ⣬ËùÒÔÏÂÃæ½øÐм¯ÖÐʽµÄ˵Ã÷£º

1£©ÎªÁË·½±ã»¹Êǽ¨Á¢Ò»¸öеķÖÖ§ ¡ª¡ª brh

git checkout -b brh

2£©ÔÚ´Ë·ÖÖ§ÉϽ¨Á¢Ò»Ð©Îļþ

public class HelloWorld() {
console.log('Hello World');
}

git add .
git commit -a -m "Add Emp.java File"

ÒÔÉϵĴúÂëÊÇÔÚ×Ó·ÖÖ§(brh)ÉϽ¨Á¢µÄ¡£

3£©´Ëʱ²¢Ã»ÓнøÐзÖÖ§Êý¾ÝµÄÌá½»£¬µ«ÊÇÓÐÈ˾õµÃÕâ¸öbrh·ÖÖ§Ãû³Æ²»ºÃ£¬Ó¦¸ÃʹÓÃ×Ô¼ºµÄÐÕÃû¼òдÍê³É¡°wzy¡±

git branch -m brh wzy

ÏÖÔÚÏ൱ÓÚ·ÖÖ§Ãû³Æ½øÐÐÁËÖØÐµÄÃüÃû¡£

4£©½«·ÖÖ§ÍÆË͵½Ô¶³Ì·þÎñÆ÷¶Ë

git push origin wzy

5£©ÔÚ±¾µØ²ì¿´Ô¶³ÌµÄ·ÖÖ§

// ²ì¿´È«²¿µÄ·ÖÖ§£¬°üÀ¨Ô¶³ÌºÍ±¾µØµÄ·ÖÖ§
git branch -a

// Ö»²ì¿´Ô¶³ÌµÄ·ÖÖ§
git branch -r

// Ö»²ì¿´±¾µØ·ÖÖ§
git branch -l

6£©´Ëʱ¡°wzt¡±·ÖÖ§ÉÏÒѾ­×ö³öÁËÐ޸쬵«ÊDz¢Ã»ÓÐÓëmaster·ÖÖ§½øÐкϲ¢£¬ÒòΪÏÖÔÚËù¿ª·¢µÄ¹¦ÄÜ¿ª·¢µ½Ò»°ë·¢ÏÖ²»ÔÙÐèÒªÁË£¬ËùÒÔ¾ÍÒª·Ï³ýµôËù×÷³öµÄÐ޸ġ£ÓÚÊÇ·¢³öÁËɾ³ý wzy ·ÖÖ§µÄÃüÁî

git branch -d wzy

´Ëʱֱ½ÓÌáʾ£¬·ÖÖ§²¢²»Äܹ»±»É¾³ýµô£¬ÒòΪÕâ¸ö·ÖÖ§Ëù×ö³öµÄÐ޸Ļ¹Ã»ÓнøÐкϲ¢¡£Èç¹ûÒªÏëÇ¿ÖÆÉ¾³ý´Ë·ÖÖ§£¬ Ôò¿ÉÒÔʹÓá°-D¡±µÄ²ÎÊýÍê³É¡£

¿ÉÊÇÏÖÔÚÔÚÔ¶³Ì·þÎñÆ÷ÉÏÒÀÈ»»á´æÔÚ´Ë·ÖÖ§£¬ÄÇô¾Í±ØÐëÒ²Ò»Æðɾ³ýµô£¬µ«ÊǶÔÓÚɾ³ý²Ù×÷£¬³ýÁË֮ǰʹÓùýµÄ·½ ʽ֮Í⣬Ҳ¿ÉÒÔÍÆËÍÒ»¸ö¿ÕµÄ·ÖÖ§£¬ÕâÑùÒ²±íʾɾ³ý¡£

ɾ³ý·½Ê½Ò»

git push origin --delete wzy

ɾ³ý·½Ê½¶þ

git push origin :wzy

3.³åÍ»½â¾ö

·ÖÖ§¿ÉÒԺܺõÄʵÏÖ¶àÈË¿ª·¢µÄ»¥²Ù×÷£¬µ«ÊÇÓпÉÄܳöÏÖÕâÑùÖÖÇé¿ö:

ÏÖÔÚ½¨Á¢ÁËÒ»¸öеķÖÖ§ brh£¬²¢ÇÒÓÐһλ¿ª·¢ÕßÔÚ´Ë·ÖÖ§ÉÏÐÞ¸ÄÁË hello.js Îļþ¡£

µ«ÊÇÕâ¸ö¿ª·¢ÕßÓÉÓÚ²»Ð¡ÐĵÄʧÎó£¬ÓÖ½«·ÖÖ§Çл»»ØÁË master ·ÖÖ§ÉÏ£¬²¢ÇÒÔÚ master ·ÖÖ§ÉÏÒ²¶Ô hello.jsÎļþ½øÐÐÐ޸ġ£

µÈÓÚÏÖÔÚÓÐÁ½¸ö·ÖÖ§¶Ôͬһ¸öÎļþ½øÐÐÁËÐ޸ģ¬ÄÇôÔÚ½øÐÐÌá½»µÄʱºòÒ»¶¨»á³öÏÖÒ»¸ö³åÍ»¡£ÒòΪϵͳ²»ÖªµÀµ½µ× Ìá½»ÄÇÒ»¸ö·ÖÖ§µÄÎļþ¡£

master ºÍ brh Á½¸ö·ÖÖ§É϶¼Óи÷×ÔµÄÐÅÏ¢Ìá½»£¬ÄÇô´Ëʱ¾ÍÐγÉÁ˳åÍ»£º

ÄÇôºÜÃ÷ÏÔ£¬´ËʱÓÐÁ½¸öÌá½»µã£¬ÄÇô»á³öÏÖÔõÑùµÄ³åÍ»¾¯¸æÄØ?ΪÁ˸üºÃµÄ˵Ã÷ÎÊÌ⣬ÏÂÃæÍ¨¹ý´úÂë½øÐÐÑéÖ¤:

1£©½¨Á¢²¢Çл»µ½ brh ·ÖÖ§ÉÏ

git checkout -b brh

2£©ÔÚ´Ë·ÖÖ§ÉÏÐÞ¸Ähello.jsÎļþ

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
console.log('git ·ÖÖ§³åÍ»Á·Ï°£¡')
}

3£©ÔÚbrh·ÖÖ§ÉÏÌá½»´ËÎļþ

git commit -a -m "add static attribute"

4£©Çл»»Ø master ·ÖÖ§

git checkout master

5£©ÔÚ master ·ÖÖ§ÉÏÒ²ÐÞ¸Ä Hello.js Îļþ

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
console.log('git Mast ·ÖÖ§Ð޸IJâÊÔ£¡ ')
}

6£©ÔÚmaster·ÖÖ§ÉϽøÐÐÐ޸ĵÄÌá½»

git commit -a -m "add master change file"

ÏÖÔÚÔÚÁ½¸ö·ÖÖ§É϶¼´æÔÚÁË´úÂëµÄÐ޸쬶øÇÒºÜÃ÷ÏÔ£¬Ð޸ĵÄÊÇͬһ¸öÎļþ£¬ÄÇô×ÔÈ»½øÐзÖÖ§ºÏ²¢µÄʱºòÊÇÎÞ·¨ ºÏ²¢µÄ¡£

7£©ºÏ²¢·ÖÖ§(´ËʱÒѾ­´æÔÚÓÚmaster·ÖÖ§ÉÏ)

git merge brh

´Ëʱ»áÖ±½ÓÌáʾ³öÏÖÁ˳åÍ»¡£

8£©²ì¿´³åÍ»µÄÄÚÈÝ

Ö±½ÓÌáʾÓû§£¬Á½´ÎÐÞ¸ÄÁË Hello.java Îļþ¡£

9£© ²ì¿´ Hello.js Îļþ

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
<<<<<<< HEAD
console.log('git Mast ·ÖÖ§Ð޸IJâÊÔ£¡ ')
=======
console.log('git ·ÖÖ§³åÍ»Á·Ï°£¡')
>>>>>>> brh
}

ËüÏÖÔڰѳåÍ»µÄ´úÂë½øÐÐÁ˱ê¼Ç£¬ÄÇôÏÖÔھͱØÐëÈËΪÊÖ¹¤Ð޸ķ¢Éú³åÍ»µÄÎļþ¡£

10£©ÊÖ¹¤ÐÞ¸Ä Hello.js Îļþ

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
console.log('git Mast ·ÖÖ§Ð޸IJâÊÔ£¡ ')
console.log('git ·ÖÖ§³åÍ»Á·Ï°£¡')
}

ÏÖÔÚÊÇÏ£ÍûÕ⼸¸öÊä³öµÄÄÚÈݶ¼Í¬Ê±½øÐб£Áô¡£

11£©´ËʱÒѾ­ÊÖ¹¤½â¾öÁ˳åÍ»£¬¶øºó¼ÌÐø½øÐÐÌá½»

git commit -a -m "conflict print"

ÄÇôÏÖÔڵijåÍ»ÎÊÌâ¾Í½â¾öÁË¡£

12£©Ïò·þÎñÆ÷¶ËÌá½»ÐÅÏ¢

git push origin mas

ÄÇôÔÚʵ¼ÊµÄ¿ª·¢Ö®ÖУ¬Ò»¶¨»á´æÔÚÓÐÐí¶àµÄ·ÖÖ§ºÏ²¢µÄÇé¿ö£¬ÄÇôÎÒÔõô֪µÀ·ÖÖ§ºÏ²¢µÄÀúÊ·ÄØ?

13£© ²ì¿´ºÏ²¢µÄÇé¿ö

git log --graph --pretty=oneline

¡°-graph¡±Ö¸µÄÊDzÉÓûæÍ¼µÄ·½Ê½½øÐÐÏÖʵ¡£

14£© ɾ³ýµô brh ·ÖÖ§

git branch -d brh

ÄÇô´ËʱµÄ´úÂë¾Í¿ÉÒԻعéÕý³£µÄ¿ª·¢Ä£Ê½¡£

4.·ÖÖ§¹ÜÀí²ßÂÔ

ÔÚ֮ǰ½øÐзÖÖ§ºÏ²¢µÄʱºòʹÓõÄÈ«²¿¶¼ÊÇ¡°Fast forward¡±·½Ê½Íê³ÉµÄ£¬¶ø´ËÖÖ·½Ê½Ö»ÊǸıäÁËmasterÖ¸Õ룬¿ÉÊÇ ÔÚ·ÖÖ§µÄʱºòÒ²¿ÉÒÔ²»Ê¹ÓÃÕâÖÖ¿ìºÏ²¢£¬¼´:Ôö¼ÓÉÏÒ»¸ö¡°--no-ff¡±²ÎÊý£¬ÕâÑù¾Í±íʾÔںϲ¢Ö®ºó»á×Ô¶¯µÄÔÙÉú³ÉÒ»¸öРµÄ commit id£¬´Ó¶ø±£Ö¤ºÏ²¢Êý¾ÝµÄÍêÕûÐÔ¡£

"-no-ff": ºÏ²¢ºó¶¯´´½¨Ò»¸öÐ嵀 commit

1£©´´½¨Ò»¸öеķÖÖ§

git checkout -b brh

2£©½¨Á¢Ò»¸öÐ嵀 empty.js Îļþ

public class Empty() {
console.log('empty file');
}

3£© Ìá½»ÐÞ¸Ä

git add.
git commit -m "add empty.js file"

4£© Çл»»Ømaster·ÖÖ§

git checkout master

5£© ʹÓ÷ǿìËٺϲ¢µÄ·½Ê½½øÐдúÂëºÏ²¢

git merge --no-ff -m "no ff commit" brh

¡°--no-ff¡±·½Ê½»á´øÓÐÒ»¸öеÄÌá½»£¬ËùÒÔÐèҪΪÌá½»ÉèÖÃÒ»¸öÌá½»µÄ×¢ÊÍ¡£

6£© ²ì¿´Ò»ÏÂÌá½»µÄÈÕÖ¾ÐÅÏ¢

git log --graph --pretty=oneline --abbrev-commit

·ÖÖ§²ßÂÔ

master ·ÖÖ§Ó¦¸ÃÊǷdz£Îȶ¨µÄ£¬Ò²¾ÍÊǽöÓÃÀ´·¢²¼Ðµİ汾£¬²»ÒªÔÚ´Ë·ÖÖ§ÉÏ¿ª·¢£»

ÔÚ¸÷¸ö×Ó·ÖÖ§ÉϽøÐпª·¢¹¤×÷£»

ÍŶÓÖеÄÿ¸ö³ÉÔ±¶¼ÔÚ¸÷¸ö·ÖÖ§ÉϹ¤×÷£»

5.·ÖÖ§ÔÝ´æ

Æ©Èç˵ͬÔÚÄãÕýÔÚÒ»¸ö·ÖÖ§ÉϽøÐдúÂëµÄ¿ª·¢£¬µ«ÊÇͻȻÄãµÄÁìµ¼¸øÁËÄãÒ»¸öеÄÈÎÎñ£¬²¢ÇÒ¸æËßÄãÔÚ°ë¸öСʱÄÚ Íê³É£¬ÄÇôÔõô°ì?

ÄѵÀÄÇ¿ª·¢Ò»°ëµÄ·ÖÖ§ÒªÌá½»Âð?²»¿ÉÄܵģ¬ÒòΪ¶ÔÓÚ°æ±¾¿ØÖƵĻù±¾µÄµÀµÂ·½Ê½:Äã²»ÄܰÑÓÐÎÊÌâµÄ´úÂëÌá½»ÉÏ È¥£¬ÄãËùÌá½»µÄ´úÂëÒ»¶¨¶¼ÊÇÕýÈ·µÄ´úÂ룬ÄÇôΪÁËÕâÑùµÄÎÊÌ⣬ÔÚ GIT ÖÐÌṩÁËÒ»¸ö·ÖÖ§ÔÝ´æµÄ»úÖÆ£¬¿ÉÒÔ½«¿ª·¢Ò»°ë µÄ·ÖÖ§½øÐб£´æ£¬¶øºóÔÚÊʵ±µÄʱºò½øÐдúÂëµÄ»Ö¸´¡£

ÄÇôÏÂÃæÊ×ÏÈ´´½¨Ò»¸ö»ù±¾µÄ¿ª·¢³¡¾°¡£

1£©´´½¨²¢Çл»µ½Ò»¸öеķÖÖ§

git checkout -b brh

2£©ÏÂÃæÔÚ·ÖÖ§Éϱàдempty.js ÀàµÄÎļþ

public class Empty() {
console.log('empty file');
console.log('ÎÒÕýÔÚ¿ª·¢Ò»°ëÖС£¡£¡£¡£¡£¡£')
}

3£©½«´ËÎļþ±£´æÔÚÔÝ´æÇøÖ®ÖÐ

git add .

Õâ¸öʱºòÓÉÓÚ´úÂ뻹ûÓпª·¢Íê³É£¬ËùÒÔ²»Äܹ»½øÐдúÂëµÄÌá½»¡£µ«ÊÇÄãµÄÀÏ°å¸øÁËÄãÒ»¸öеÄÈÎÎñ£¬ÄÇôÄã¾Í²»µÃ²»È¥Í£Ö¹µ±Ç°µÄ¿ª·¢ÈÎÎñ£¬ËùÒÔ¾ÍÐèÒª½«µ±Ç°µÄ¿ª·¢½ø¶È½øÐС°Ôݴ桱£¬µÈÈÕºóÓÐʱ¼äÁ˼ÌÐø½øÐлָ´¿ª·¢¡£

4£©½«¹¤×÷ÔÝ´æ

git stash

5£©²ì¿´Ò»Ïµ±Ç°µÄ¹¤×÷ÇøÖеÄÄÚÈÝ

´Ë´¦»áÖ±½Ó¸æËßÓû§µ±Ç°µÄ¹¤×÷ÇøÖ®ÖÐûÓÐÈκεÄÐ޸ġ£

6£©²ì¿´Ò»Ïµ±Ç°µÄ¹¤×÷ÇøÖеÄÄÚÈÝ

¶øºóÏÖÔÚ¼ÙÉèÒªÐ޸ĵĴúÂ뻹´¦ÓÚmaster·ÖÖ§ÉÏ£¬ËùÒÔÏÂÃæÇл»µ½master·ÖÖ§¡£

ÄÇôÏÖÔÚ¼ÙÉè˵´´½¨Ò»¸öеķÖÖ§£¬ÓÃÓÚÍê³ÉÀϰåµÄÐèÇ󣬼ÙÉè·ÖÖ§µÄÃû³ÆÎª¡°dev¡±(Ò²ÓпÉÄÜÊÇÒ»¸ö bug µ÷ÊÔ)¡£

7£©´´½¨²¢Çл»·ÖÖ§

git checkout -b dev

8£© ÔÚеķÖÖ§ÖÐÐÞ¸ÄHello.jsÎļþ

btn.onclick = function() {
console.log('git ·ÖÖ§¹ÜÀíÁ·Ï°£¡');
console.log('git Mast ·ÖÖ§Ð޸IJâÊÔ£¡ ')
console.log('git ·ÖÖ§³åÍ»Á·Ï°£¡')
console.log('ÁÙʱÈÎÎñ dev ÉϵÄÐÞ¸Ä')
}

9£© Ìá½»Ð޸ĵIJÙ×÷

git commit -a -m "dev change"

10£© Ìá½»Ð޸ĵIJÙ×÷

ºÏ²¢ deve ·ÖÖ§£¬Ê¹Óà no fast forward

git merge --no-ff-m "merge dev branch" dev

11£© ÄÇôÏÖÔÚÍ»·¢µÄÎÊÌâÒѾ­±»½â¾öÁË£¬±»½â¾öÖ®ºó¶ÔÓÚ dev µÄ·ÖÖ§½«Ã»ÓÐÈκεĴæÔÚÒâÒ壬¿ÉÒÔÖ±½Óɾ³ý;

git branch -d dev

12£© ÄÇôÐèÒª»Ø¹éµ½ÒÑÓеŤ×÷״̬£¬µ«ÊÇÓпÉÄÜ»á´æÔÚÓÐÐí¶àµÄÔÝ´æµÄ״̬£¬¿ÉÒÔÖ±½ÓʹÓÃÈçÏÂÃüÁî½øÐÐÁгö¡£

git stash list

13£©´ÓÔÝ´æÇøÖ®ÖнøÐлָ´

ÔÝ´æÇø»Ö¸´Ö®ºóÄÇôËùÔÝÍ£µÄ²Ù×÷½«Ã»ÓдæÔÚµÄÒâÒ壬µ«ÊÇÒ²ÓÐÈË»áÈÏΪËüÓÐÒâÒ壬ËùÒÔ¶ÔÓÚ»Ö¸´ÓÐÁ½ÖÖÐÎʽ:

ÐÎʽһ:ÏȻָ´£¬¶øºóÔÙÊÖ¹¤É¾³ýÔÝ´æ

git stash apply
git stash drop

ÐÎʽ¶þ:»Ö¸´µÄͬʱҲ½« stash ÄÚÈÝɾ³ý

git stash pop

ÄÇôÏÂÃæµÄÈÎÎñ¾Í¿ÉÒÔÏñ֮ǰÄÇÑù½øÐдúÂëµÄÌá½»£¬¶øºóɾ³ýµô brh ·ÖÖ§:

git commit -a -m "change empty.js"
git branch -d brh

ʹÓÃÔÝ´æ²ßÂÔ¿ÉÒԺܷ½±ãµÄ½â¾ö´úÂëͻȻÔÝÍ£Ð޸ĵIJÙ×÷£¬ÊǷdz£·½±ã¡£

6.²¹¶¡: patch

²¹¶¡²¢²»ÊÇÕë¶ÔÓÚËùÓдúÂëµÄÐ޸ģ¬Ö»ÊÇÕë¶ÔÓÚ¾Ö²¿µÄÐ޸ġ£ÔںܶàµÄ´úÂëά»¤Ö®ÖУ¬Èç¹û°´ÕÕ×îÔç¿Ë¡µÄ·½Ê½½« ´úÂëÕûÌå¿Ë¡ÏÂÀ´Êµ¼ÊÉÏËù»¨·ÑµÄ×ÊÔ´ÊǷdz£ÅÓ´óµÄ£¬µ«ÊÇÐ޸ĵÄʱºò¿ÉÄÜÖ»Ð޸ĺÜСµÄÒ»²¿·Ö´úÂ룬ËùÒÔÔÚÕâÖÖÇé¿öÏ ¾ÍÏ£Íû¿ÉÒÔ½«Ò»Ð©´úÂëµÄ²¹¶¡ÐÅÏ¢·¢Ë͸ø¿ª·¢Õß¡£¶ø·¢¸ø¿ª·¢ÕßÖ®ºóËûÐèÒªÖªµÀÄÇЩ´úÂë±»ÐÞ¸ÄÁË£¬ÕâÑùµÄ»°¾Í¿ÉÒÔʹÓà һ¸ö¼«µÍµÄ¿ªÏúʵÏÖ´úÂëµÄÐ޸IJÙ×÷£¬¶øÔÚ GIT Ö®ÖÐÒ²ÌṩÁËÁ½ÖÖ¼òµ¥µÄ²¹¶¡·½°¸:

ʹÓà git diff Éú³É±ê×¼µÄ patch

ʹÓà git format-patch Éù³Æ git רÓÃµÄ patch

1£© ÀûÓà git diff Éú³É±ê×¼µÄ patch

µ±Ç°µÄempty.jsÎļþ

public class Empty() {
console.log('empty file');
console.log('ÎÒÕýÔÚ¿ª·¢Ò»°ëÖС£¡£¡£¡£¡£¡£')
}

2£© ½¨Á¢Ò»¸öеķÖÖ§ ¡ª¡ª cbrh

git checkout -b cbrh

3£© ÐÞ¸Ä empty.jsÎļþ

public class Empty() {
console.log('empty file');
console.log('ÎÒÕýÔÚ¿ª·¢Ò»°ëÖС£¡£¡£¡£¡£¡£')
console.log('²¹¶¡ÐÞ¸Ä1');
console.log('²¹¶¡ÐÞ¸Ä2');
}

4£© ¶øºó²ì¿´Ç°ºó´úÂëµÄ²»Í¬

git diff empth.js

´Ëʱ¿ÉÒÔ·¢ÏÖ Emp.java ÎļþÐÞ¸ÄǰºóµÄ¶Ô±ÈÇé¿ö¡£

5£© ÔÚcbrhÉϽøÐдúÂëµÄÌá½»

git commit -a -m "add 2 line empty.js "

´Ëʱ²¢Ã»ÓкÍÖ÷·ÖÖ§½øÐÐÌá½»£¬µ«ÊÇ´úÂëÒѾ­¸Ä±äÁË£¬ÐèÒªµÄÊǽ«´úÂëµÄ±ä»¯Ìá½»¸ø¿ª·¢Õß¡£

6£© Éú³É²¹¶¡Îļþ ¡ª¡ª mypatch

git diff master > mypatch

7£©Çл»»Ømaster·ÖÖ§

´Ëʱ»á×Ô¶¯ÔÚÏîĿĿ¼ÖÐÉú³ÉÒ»¸ö mypat µÄ²¹¶¡ÎļþÐÅÏ¢¡£Õâ¸öÎļþÊÇ¿ÉÒÔÓÉ git ¶Á¶®µÄÐÅÏ¢Îļþ£¬ÄÇôÍê³ÉÖ®ºóÏÖÔÚÐèҪģÄâÁíÍâÒ»¸ö¿ª·¢Õߣ¬ÁíÍâÒ»¸ö¿ª·¢Õß¼ÙÉèÊÇרÃŽøÐв¹¶¡ºÏ²¢µÄ¿ª·¢Õß¡£

8£©´´½¨²¢Çл»Ò»¸öеķÖÖ§

git checkout -b patchbrh

9£©Ó¦Óò¹¶¡ÐÅÏ¢

git apply mypatch

´Ëʱ²¹¶¡¿ÉÒԳɹ¦µÄʹÓÃÁË¡£

10£©Ìá½»²¹¶¡µÄ²Ù×÷

git commit -a -m "patch apply"

11£©Çл»»Ø master ·ÖÖ§Ö®ÖнøÐзÖÖ§ºÏ²¢

git checkout master
git merge --no-ff -m "Merge Patch" patchbrh

ÕâÑùÈç¹ûÖ»Êǽ«²¹¶¡Êý¾ÝµÄÎļþ·¢Ë͸ø¿ª·¢Õߣ¬ÄÇô¾ÍûÓбØÒª½øÐдóÁ¿´úÂëµÄ´«Ê䣬²¢ÇÒÔÚ´´½¨²¹¶¡µÄʱºòÒ²¿ÉÒÔÕë¶ÔÓÚ¶à¸öÎļþ½øÐв¹¶¡µÄ´´½¨¡£

7. ÀûÓà git format-patch Éú³É GIT רÓò¹¶¡

1£©´´½¨²¢Çл»µ½cbrh·ÖÖ§

git branch -D cbrh
git branch -D patchbrh
git checkout -b cbrh

2£©´´½¨²¢Çл»µ½cbrh·ÖÖ§

public class Empty() {
console.log('empty file');
console.log('git format-patch ²âÊÔ')
}

3£©´´½¨²¢Çл»µ½cbrh·ÖÖ§

git commit -a -m "add formatch test"

4£©ÏÂÃæÐèÒªÓëԭʼ´úÂë×öÒ»¸ö±È½Ï£¬¶øÇұȽϺó»á×Ô¶¯µÄÉú³É²¹¶¡Îļþ

git format-patch -M mast

ÏÖÔÚ±íʾҪÓë master ·ÖÖ§½øÐбȽÏ(¶ø-M ²ÎÊý¾ÍÊÇÖ¸¶¨·ÖÖ§)¡£

´ËʱÒѾ­Éú³ÉÁËÒ»¸ö²¹¶¡Îļþ£¬ÒòΪֻÐÞ¸ÄÁËÒ»´ÎµÄÄÚÈÝ¡£Õâ¸ö²¹¶¡ÎļþÑϸñÀ´½«¾ÍÊÇÒ»¸ö email Êý¾Ý£¬ÐèÒª½«´ËÊý¾Ý·¢Ë͸ø¿ª·¢Õߣ¬¶øºó¿ª·¢Õß¿ÉÒÔ½øÐв¹¶¡µÄÓ¦Óá£

5£©´´½¨²¢Çл»µ½patchbrh·ÖÖ§ÉÏ

git checkout master
git checkout -b patchbrh

6£© Ó¦Óò¹¶¡µÄÐÅÏ¢£¬ÀûÓá°git am¡±Íê³É

git am 0001-add-formatch-test.patch

ÏÖÔÚÊǽ«·¢Ë͹ýÀ´µÄ£¬´øÓÐ email ¸ñʽµÄ²¹¶¡Îļþ½øÐÐÁËÓ¦Óá£

7£© Ìá½»Ó¦ÓõĸüÐÂ

git commit -a -m "method patch apply"

ÄÇô´Ëʱ¾Í¿ÉÒԳɹ¦µÄÓ¦Óò¹¶¡½øÐдúÂëµÄ¸üÕý¡£

¹ØÓÚÁ½ÖÖ²¹¶¡·½Ê½µÄ˵Ã÷

ʹÓÃgit diffÉú³É²¹¶¡¼æÈÝÐÔÊDZȽϺõģ¬Èç¹ûÄãÊÇÔÚ²»ÊÇgit¹ÜÀíµÄ²Ö¿âÉÏ£¬´ËÀ෽ʽÉú³ÉµÄ²¹¶¡ÊǷdz£ÈÝÒ×½ÓÊܵÄ;

µ«ÊÇÈç¹ûÄãÊÇÏò¹«¹²µÄ¿ª·¢ÉçÇø½øÐдúÂëµÄ²¹¶¡¸üÕý£¬ÄÇô½¨ÒéʹÓÃgit format-patch£¬ÕâÑù²»½ö±ê×¼£¬¶øÇÒÒ²¿ÉÒÔ½«¸üÕýÈ˵ÄÐÅÏ¢½øÐй«²¼¡£

8. ¶àÈËЭ×÷¿ª·¢

·ÖÖ§µÄ´¦Àíʵ¼ÊÉÏÊÇΪÁ˸üºÃµÄ¶àÈË¿ª·¢×ö³öµÄ×¼±¸£¬ÄÇôÏÂÃæ¾Í½«ÀûÓÃÁ½¸öÃüÁîÐз½Ê½(Ä£ÄâÆäËûµÄ¿ª·¢Õß)½øÐÐÏîÄ¿´úÂëµÄ±àд¡£Ê×ÏÈ˵Ã÷Ò»ÏÂ:

Ò»°ã¶øÑÔ£¬master ·ÖÖ§ÏîÄ¿µÄºËÐÄ·ÖÖ§£¬Ö»Òª½øÐдúÂëµÄ¿Ë¡£¬ÄÇô´Ë·ÖÖ§Ò»¶¨»á±»±£´æÏÂÀ´;

¿ª·¢ÕßÍùÍù»á½¨Á¢Ò»ÏµÁеķÖÖ§£¬Æ©È磬±¾´ÎÁ·Ï°½¨Á¢ÁËÒ»¸ö brh µÄ·ÖÖ§½øÐдúÂëµÄ±àд;

Èç¹ûÒª½øÐе÷ÊÔ¿ÉÒÔ½¨Á¢Ò»¸ö bug ·ÖÖ§;

Èç¹ûÒªÔö¼ÓijЩÐµĹ¦ÄÜÔò¿ÉÒÔ½¨Á¢ feature ·ÖÖ§¡£

1£© ´´½¨²¢Çл»µ½Ò»¸öеķÖÖ§:brh

git checkout -b brh

2) ÔÚеķÖÖ§ÉϽ¨Á¢Ò»¸öеÄÎļþ ¡ª¡ª Dept.js

public class Dept() {
console.log('¶àÈËЭ×÷¿ª·¢!');
}

3) ½«´Ë´úÂë½øÐÐÌá½»

git commit -a -m 'add dept.js files'

4) ½«Á½¸ö·ÖÖ§Ìá½»µ½·þÎñÆ÷ÉÏÈ¥

git push origin master
git push origin brh

5£© [¶þºÅ]ΪÁËÄ£ÄâµÚ¶þ¸ö¿ª·¢Õߣ¬ËùÒÔ½¨Á¢Ò»¸öеÄÃüÁîÐд°¿Ú£¬²¢ÇÒ½«´úÂë¸´ÖÆÏÂÀ´(d:proclone)

git clone https://github.com/qq449245884/HelloGitHub.git

6) [¶þºÅ] ²ì¿´·ÖÖ§ÐÅÏ¢

git branch -a

·¢ÏÖÏÖÔÚÖ»Êǽ« master ·ÖÖ§¿½±´ÏÂÀ´ÁË£¬µ«ÊÇ brh ·ÖÖ§²¢Ã»ÓдæÔÚ¡£

7) [¶þºÅ]½¨Á¢²¢Çл»µ½brh·ÖÖ§ÉÏ

git checkout -b brh

8) [¶þºÅ]½«Ô¶³Ì·þÎñÆ÷¶ËÉϵÄbrh·ÖÖ§µÄÄÚÈÝ¿½±´µ½±¾µØµÄbrh·ÖÖ§ÉÏ

git merge origin/brh

9) [¶þºÅ]ÏÖÔÚ¿ª·¢ÕßÔö¼ÓÁËÒ»¸öAdmin.jsÎļþ

public class Admin() {
console.log('¶àÈËЭ×÷²âÊÔ!:')
}

10) [¶þºÅ]½«ÐµĴúÂë½øÐÐÌá½»

git add .
git commit -m 'add admin.js files'

11) [¶þºÅ]ÏÖÔÚ±¾µØµÄ brh ·ÖÖ§´úÂë·¢ÉúÁ˱仯£¬ÄÇôӦ¸Ã½«´Ë±ä»¯Ìá½»µ½Ô¶³ÌµÄ brh ·ÖÖ§ÉÏ

git push origin brh

ÏÖÔÚ´úÂëÒѾ­·¢Ë͵½ÁË·þÎñÆ÷ÉÏÁË£¬²¢ÇÒÔÚ brh ·ÖÖ§ÉÏÔö¼ÓÁËÐ嵀 Admin.java Îļþ¡£

12) [Ò»ºÅ]Õâ¸öʱºò×îԭʼµÄ¿ª·¢ÕßĿ¼Ï»¹Ö»ÊÇÉÏÒ»´ÎÌá½»µÄÄÚÈÝ¡£ÄÇôÐèҪȡµÃ×îеÄÊý¾Ý²Å¿ÉÒÔ

¶ÔÓÚÈ¡µÃ×îеķÖÖ§Êý¾ÝÓÐÁ½ÖÖ·½Ê½:

git fetch: ´Ë²Ù×÷Ö»ÊÇÈ¡µÃ×îеķÖÖ§Êý¾Ý£¬µ«ÊDz»»á·¢Éú merge ºÏ²¢²Ù×÷

git pull: ´Ë²Ù×÷È¡³ö×îзÖÖ§Êý¾Ý£¬²¢ÇÒͬʱ·¢Éú merge ºÏ²¢²Ù×÷

git pull

ʵ¼ÊÉÏ´íÎóÐÅÏ¢Ò²ºÜ¼òµ¥£¬Ö¸µÄÊÇ£¬µ±Ç°µÄ brh ·ÖÖ§ºÍ·þÎñÆ÷ÉϵķÖ֧ûÓйØÏµ£¬ËùÒÔÈç¹ûÒªÏë¶ÁÈ¡´úÂ룬±ØÐëÈÃÁ½ ¸ö·ÖÖ§²úÉú¹ØÁª¹ØÏµ¡£

git branch --set-upstream-to=origin/brh

ËæºóÔٴζÁÈ¡ËùÓеĴúÂë¡£

13) [¶þºÅ]ÐÞ¸Ä Admin.js ÀàÎļþ

public class Admin() {
console.log('¶àÈËЭ×÷²âÊÔ!:')
console.log('¶þºÅÎÒÀ´¸öÐÔÁË£¡');
}

14) [¶þºÅ]½«ÒÔÉϵĴúÂë½øÐÐÌá½»

git commit -a -m 'update admin.js file'

15) [¶þºÅ]Ïò·þÎñÆ÷¶ËÌá½»´úÂëµÄÐÞ¸Ä

git push origin brh

16) [Ò»ºÅ]¿ª·¢ÕßÒ²½øÐÐ Admin.js ÎļþµÄÐÞ¸Ä

public class Admin() {
console.log('¶àÈËЭ×÷²âÊÔ!:')
console.log('Ò»ºÅÒ²½øÐÐÐÞ¸ÄÁË!')
}

17) [Ò»ºÅ]½«´úÂëÌá½»

git commit -a -m "1 update admin.js file"

µ«ÊÇÕâ¸öʱºòºÜÃ÷ÏÔ£¬Á½¸öÓû§Ò»ÆðÐÞ¸ÄÁËͬһ¸öÎļþ¡£

18) [Ò»ºÅ]ץȡ×îеĸüÐÂÊý¾Ý

git pull

ÏÖÔÚ¿ÉÒÔ·¢ÏÖ£¬´ËʱµÄ³ÌÐò£¬ÊÇÁ½Î»¿ª·¢ÕßÐÞ¸ÄÁËͬһ¸ö´úÂ룬ËùÒÔ²úÉúÁ˳åÍ»¡£Í¬Ê±Ò»ºÅ¿ª·¢ÕßÖ®ÖÐµÄ Admin.js ÎļþµÄÄÚÈÝÒѾ­±ä¸üΪÈçÏÂÇé:

public class Admin() {
console.log('¶àÈËЭ×÷²âÊÔ!:')
<<<<<<< HEAD
console.log('Ò»ºÅÒ²½øÐÐÐÞ¸ÄÁË!')
=======
console.log('¶þºÅÎÒÀ´¸öÐÔÁË£¡');
>>>>>>> a600e113d2d139efc73eee2052ad509fa95d16e3
}

19) [Ò»ºÅ]ÊÖ¹¤½â¾ö³åÍ»ÎļþÄÚÈÝ

public class Admin() {
console.log('¶àÈËЭ×÷²âÊÔ!:')
console.log('Ò»ºÅÒ²½øÐÐÐÞ¸ÄÁË!')
console.log('¶þºÅÎÒÀ´¸öÐÔÁË£¡');
}

20) ÔÙ´ÎÖ´ÐÐÌá½»ºÍ·þÎñÆ÷ÍÆËÍ

git commit -a -m "3 Update Admin.js File"
git push origin brh

ÏÖÔÚÒѾ­³É¹¦µÄÓɱ¾µØµÄ³åÍ»À©³äµ½ÁËÔ¶³ÌµÄ³åÍ»£¬ÏàÐÅͨ¹ýһϵÁеĴúÂë´ó¼ÒÒ²¿ÉÒÔ¸üºÃµÄÀí½â·ÖÖ§µÄ²Ù×÷ÎÊÌâ¡£

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

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

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

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí