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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈçºÎÔÚGitÖÐÖØÖᢻָ´£¬·µ»Øµ½ÒÔǰµÄ״̬
 
  9163  次浏览      46
 2018-8-16 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ô51cto£¬ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«´øÄãÁ˽âÈçºÎÈ¥ÖØÖᢻָ´ºÍÍêÈ«»Øµ½ÒÔǰµÄ״̬£¬×öµ½ÕâЩֻÐèÒª¼¸¸ö¼òµ¥¶øÓÅÑÅµÄ Git ÃüÁî¡£

Óüò½à¶øÓÅÑÅµÄ Git ÃüÁî³·Ïú²Ö¿âÖеĸı䡣

ʹÓà Git ¹¤×÷ʱÆäÖÐÒ»¸öÏÊΪÈËÖª£¨ºÍûÓÐÒâʶµ½£©µÄ·½Ãæ¾ÍÊÇ£¬ÈçºÎÇáËɵطµ»Øµ½ÄãÒÔǰµÄλÖà ¡ª¡ª Ò²¾ÍÊÇ˵£¬ÔÚ²Ö¿âÖÐÈçºÎºÜÈÝÒ×µØÈ¥³·ÏúÄÇÅÂÊÇÖØ´óµÄ±ä¸ü¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«´øÄãÁ˽âÈçºÎÈ¥ÖØÖᢻָ´ºÍÍêÈ«»Øµ½ÒÔǰµÄ״̬£¬×öµ½ÕâЩֻÐèÒª¼¸¸ö¼òµ¥¶øÓÅÑÅµÄ Git ÃüÁî¡£

ÖØÖÃ

ÎÒÃÇ´Ó Git µÄ reset ÃüÁʼ¡£È·Êµ£¬ÄãÓ¦¸ÃÄܹ»ÈÏΪËü¾ÍÊÇÒ»¸ö ¡°»Ø¹ö¡± ¡ª¡ª Ëü½«Äã±¾µØ»·¾³·µ»Øµ½Ö®Ç°µÄÌá½»¡£ÕâÀïµÄ ¡°±¾µØ»·¾³¡± Ò»´Ê£¬ÎÒÃÇÖ¸µÄÊÇÄãµÄ±¾µØ²Ö¿â¡¢ÔÝ´æÇøÒÔ¼°¹¤×÷Ŀ¼¡£

ÏÈ¿´Ò»ÏÂͼ 1¡£ÔÚÕâÀïÎÒÃÇÓÐÒ»¸öÔÚ Git ÖбíʾһϵÁÐÌá½»µÄʾÒâͼ¡£ÔÚ Git ÖÐÒ»¸ö·ÖÖ§¼òµ¥À´Ëµ¾ÍÊÇÒ»¸öÃüÃûµÄ¡¢Ö¸ÏòÒ»¸öÌØ¶¨µÄÌá½»µÄ¿ÉÒÆ¶¯Ö¸Õë¡£ÔÚÕâÀÎÒÃÇµÄ master ·ÖÖ§ÊÇÖ¸ÏòÁ´ÖÐ×îÐÂÌá½»µÄÒ»¸öÖ¸Õë¡£

ͼ 1£ºÓвֿ⡢ÔÝ´æÇø¡¢ºÍ¹¤×÷Ŀ¼µÄ±¾µØ»·¾³

Èç¹û¿´Ò»ÏÂÎÒÃÇµÄ master ·ÖÖ§ÊÇʲô£¬¿ÉÒÔ¿´Ò»Ïµ½Ä¿Ç°ÎªÖ¹ÎÒÃDzúÉúµÄÌá½»Á´¡£

$ git log --oneline
b764644 File with three lines
7c709f0 File with two lines
9ef9173 File with one line

Èç¹ûÎÒÃÇÏë»Ø¹öµ½Ç°Ò»¸öÌá½»»á·¢ÉúÊ²Ã´ÄØ£¿ºÜ¼òµ¥ ¡ª¡ª ÎÒÃÇÖ»ÐèÒªÒÆ¶¯·ÖÖ§Ö¸Õë¼´¿É¡£Git ÌṩÁËΪÎÒÃÇ×öÕâ¸ö¶¯×÷µÄ reset ÃüÁî¡£ÀýÈ磬Èç¹ûÎÒÃÇÖØÖà master Ϊµ±Ç°Ìá½»»ØÍËÁ½¸öÌá½»µÄλÖã¬ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏÂÖ®Ò»µÄ·½·¨£º

$ git reset 9ef9173

£¨Ê¹ÓÃÒ»¸ö¾ø¶ÔµÄÌá½» SHA1 Öµ 9ef9173£©

»ò£º

$ git reset current~2

£¨ÔÚ ¡°current¡± ±êǩ֮ǰ£¬Ê¹ÓÃÒ»¸öÏà¶ÔÖµ -2£©

ͼ 2 չʾÁ˲Ù×÷µÄ½á¹û¡£ÔÚÕâÖ®ºó£¬Èç¹ûÎÒÃÇÔÚµ±Ç°·ÖÖ§£¨master£©ÉÏÔËÐÐÒ»¸ö git log ÃüÁÎÒÃǽ«¿´µ½Ö»ÓÐÒ»¸öÌá½»¡£

$ git log --oneline

9ef9173 File with one line

ͼ 2£ºÔÚ reset Ö®ºó

git reset ÃüÁîÒ²°üº¬Ê¹ÓÃһЩѡÏ¿ÉÒÔÈÃÄã×îÖÕÂúÒâµÄÌá½»ÄÚÈÝÈ¥¸üб¾µØ»·¾³µÄÆäËü²¿·Ö¡£ÕâЩѡÏî°üÀ¨£ºhard ÔÚ²Ö¿âÖÐÈ¥ÖØÖÃÖ¸ÏòµÄÌá½»£¬ÓÃÌá½»µÄÄÚÈÝÈ¥Ìî³ä¹¤×÷Ŀ¼£¬²¢ÖØÖÃÔÝ´æÇø£»soft ½öÖØÖòֿâÖеÄÖ¸Õ룻¶ø mixed£¨Ä¬ÈÏÖµ£©½«ÖØÖÃÖ¸ÕëºÍÔÝ´æÇø¡£

ÕâЩѡÏîÔÚÌØ¶¨Çé¿öÏ·dz£ÓÐÓ㬱ÈÈ磬git reset --hard <commit sha1 | reference> Õâ¸öÃüÁ¸²¸Ç±¾µØÈκÎδÌá½»µÄ¸ü¸Ä¡£Êµ¼ÊÉÏ£¬ËüÖØÖÃÁË£¨Çå³ýµô£©ÔÝ´æÇø£¬²¢ÓÃÄãÖØÖõÄÌá½»ÄÚÈÝÈ¥¸²¸ÇÁ˹¤×÷ÇøÖеÄÄÚÈÝ¡£ÔÚÄãʹÓà hard Ñ¡Ïî֮ǰ£¬Ò»¶¨ÒªÈ·±£ÕâÊÇÄãÕæÕýµØÏëÒª×öµÄ²Ù×÷£¬ÒòΪÕâ¸öÃüÁî»á¸²¸ÇµôÈκÎδÌá½»µÄ¸ü¸Ä¡£

»Ö¸´

git revert ÃüÁîµÄʵ¼Ê½á¹ûÀàËÆÓÚ reset£¬µ«ËüµÄ·½·¨²»Í¬¡£reset ÃüÁĬÈÏ£©ÊÇÔÚÁ´ÖÐÏòºóÒÆ¶¯·ÖÖ§µÄÖ¸ÕëÈ¥¡°³·Ïú¡±¸ü¸Ä£¬revert ÃüÁîÊÇÔÚÁ´ÖÐÌí¼ÓÒ»¸öеÄÌύȥ¡°È¡Ïû¡±¸ü¸Ä¡£Ôٴβ鿴ͼ 1 ¿ÉÒԷdz£ÇáËɵؿ´µ½ÕâÖÖÓ°Ïì¡£Èç¹ûÎÒÃÇÔÚÁ´ÖеÄÿ¸öÌá½»ÖÐÏòÎļþÌí¼ÓÒ»ÐУ¬Ò»ÖÖ·½·¨ÊÇʹÓà reset ʹÄǸöÌá½»·µ»Øµ½½öÓÐÁ½ÐеÄÄǸö°æ±¾£¬È磺git reset HEAD~1¡£

ÁíÒ»¸ö·½·¨ÊÇÌí¼ÓÒ»¸öеÄÌύȥɾ³ýµÚÈýÐУ¬ÒÔʹ×îÖÕ½áÊø±ä³ÉÁ½Ðеİ汾 ¡ª¡ª ʵ¼ÊЧ¹ûÒ²ÊÇÈ¡ÏûÁËÄǸö¸ü¸Ä¡£Ê¹ÓÃÒ»¸ö git revert ÃüÁî¿ÉÒÔʵÏÖÉÏÊöÄ¿µÄ£¬±ÈÈ磺

$ git revert HEAD

ÒòΪËüÌí¼ÓÁËÒ»¸öеÄÌá½»£¬Git ½«ÌáʾÈçϵÄÌá½»ÐÅÏ¢£º

Revert "File with three lines"

This reverts commit b764644bad524b804577684bf74e7bca3117f554.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# modified: file1.txt
#

ͼ 3£¨ÔÚÏÂÃæ£©Õ¹Ê¾ÁË revert ²Ù×÷Íê³ÉºóµÄ½á¹û¡£

Èç¹ûÎÒÃÇÏÖÔÚÔËÐÐÒ»¸ö git log ÃüÁÎÒÃǽ«¿´µ½Ç°ÃæµÄÌύ֮ǰµÄÒ»¸öÐÂÌá½»¡£

$ git log --oneline
11b7712 Revert "File with three lines"
b764644 File with three lines
7c709f0 File with two lines
9ef9173 File with one line

ÕâÀïÊǹ¤×÷Ŀ¼ÖÐÕâ¸öÎļþµ±Ç°µÄÄÚÈÝ£º

$ cat <filename>
Line 1
Line 2

ͼ 3 revert ²Ù×÷Ö®ºó

»Ö¸´»òÖØÖÃÈçºÎÑ¡Ôñ£¿

ΪʲôҪÓÅÏÈÑ¡Ôñ revert ¶ø²»ÊÇ reset ²Ù×÷£¿Èç¹ûÄãÒѾ­½«ÄãµÄÌá½»Á´ÍÆË͵½Ô¶³Ì²Ö¿â£¨ÆäËüÈË¿ÉÒÔÒѾ­À­È¡ÁËÄãµÄ´úÂë²¢¿ªÊ¼¹¤×÷£©£¬Ò»¸ö revert ²Ù×÷ÊÇÈÃËûÃÇÈ¥»ñµÃ¸ü¸ÄµÄ·Ç³£ÓѺõķ½Ê½¡£ÕâÊÇÒòΪ Git ¹¤×÷Á÷¿ÉÒԷdz£ºÃµØÔÚ·ÖÖ§µÄÄ©¶ËÌí¼ÓÌá½»£¬µ«Êǵ±ÓÐÈË reset ·ÖÖ§Ö¸ÕëÖ®ºó£¬Ò»×éÌá½»½«ÔÙÒ²¿´²»¼ûÁË£¬Õâ¿ÉÄÜ»áÊÇÒ»¸öÌôÕ½¡£

µ±ÎÒÃÇÒÔÕâÖÖ·½Ê½Ê¹Óà Git ¹¤×÷ʱ£¬ÎÒÃǵĻù±¾¹æÔòÖ®Ò»ÊÇ£ºÔÚÄãµÄ±¾µØ²Ö¿âÖÐʹÓÃÕâÖÖ·½Ê½È¥¸ü¸Ä»¹Ã»ÓÐÍÆË͵ĴúÂëÊÇ¿ÉÒԵġ£Èç¹ûÌá½»ÒѾ­ÍÆË͵½ÁËÔ¶³Ì²Ö¿â£¬²¢ÇÒ¿ÉÄÜÆäËüÈËÒѾ­Ê¹ÓÃËüÀ´¹¤×÷ÁË£¬ÄÇôӦ¸Ã±ÜÃâÕâÐ©ÖØÐ´Ìá½»ÀúÊ·µÄ¸ü¸Ä¡£

×ÜÖ®£¬Èç¹ûÄãÏë»Ø¹ö¡¢³·Ïú»òÕßÖØÐ´ÆäËüÈËÒѾ­ÔÚʹÓõÄÒ»¸öÌá½»Á´µÄÀúÊ·£¬µ±ÄãµÄͬÊÂÊÔͼ½«ËûÃǵĸü¸ÄºÏ²¢µ½ËûÃÇÀ­È¡µÄԭʼÁ´ÉÏʱ£¬ËûÃÇ¿ÉÄÜÐèÒª×ö¸ü¶àµÄ¹¤×÷¡£Èç¹ûÄã±ØÐë¶ÔÒѾ­ÍÆËͲ¢±»ÆäËûÈËÕýÔÚʹÓõĴúÂë×ö¸ü¸Ä£¬ÔÚÄã×ö¸ü¸Ä֮ǰ±ØÐëÒªÓëËûÃǹµÍ¨£¬ÈÃËûÃÇÏȺϲ¢ËûÃǵĸü¸Ä¡£È»ºóÔÚÕâ¸öÇÖÈë²Ù×÷ûÓÐÐèÒªºÏ²¢µÄÄÚÈÝÖ®ºó£¬ËûÃÇÔÙÀ­È¡×îеĸ±±¾¡£

Äã¿ÉÄÜ×¢Òâµ½ÁË£¬ÔÚÎÒÃÇ×öÁË reset ²Ù×÷Ö®ºó£¬Ô­Ê¼µÄÌá½»Á´ÈÔÈ»ÔÚÄǸöλÖá£ÎÒÃÇÒÆ¶¯ÁËÖ¸Õ룬Ȼºó reset ´úÂë»Øµ½Ç°Ò»¸öÌá½»£¬µ«Ëü²¢Ã»ÓÐɾ³ýÈκÎÌá½»¡£»»¾ä»°Ëµ¾ÍÊÇ£¬Ö»ÒªÎÒÃÇÖªµÀÎÒÃÇËùÖ¸ÏòµÄԭʼÌá½»£¬ÎÒÃÇÄܹ»Í¨¹ý¼òµ¥µÄ·µ»Øµ½·ÖÖ§µÄԭʼÁ´µÄÍ·²¿À´¡°»Ö¸´¡±Ö¸Õëµ½Ç°ÃæµÄλÖãº

git reset <sha1 of commit>

µ±Ìá½»±»Ìæ»»Ö®ºó£¬ÎÒÃÇÔÚ Git ÖÐ×öµÄ´óÁ¿ÆäËü²Ù×÷Ò²»á·¢ÉúÀàËÆµÄÊÂÇé¡£ÐÂÌá½»±»´´½¨£¬ÓйصÄÖ¸Õë±»ÒÆ¶¯µ½Ò»¸öеÄÁ´£¬µ«ÊÇÀϵÄÌá½»Á´ÈÔÈ»´æÔÚ¡£

񄯗

ÏÖÔÚÎÒÃÇÀ´¿´Ò»¸ö·ÖÖ§±ä»ù¡£¼ÙÉèÎÒÃÇÓÐÁ½¸ö·ÖÖ§£ºmaster ºÍ feature£¬Ìá½»Á´ÈçÏÂͼ 4 Ëùʾ¡£master µÄÌá½»Á´ÊÇ C4->C2->C1->C0 ºÍ feature µÄÌá½»Á´ÊÇ C5->C3->C2->C1->C0¡£

ͼ 4£ºmaster ºÍ feature ·ÖÖ§µÄÌá½»Á´

Èç¹ûÎÒÃÇÔÚ·ÖÖ§Öп´ËüµÄÌá½»¼Ç¼£¬ËüÃÇ¿´ÆðÀ´Ó¦¸ÃÏñÏÂÃæµÄÕâÑù¡££¨ÎªÁËÒ×ÓÚÀí½â£¬C ±íʾÌá½»ÐÅÏ¢£©

$ git log --oneline master
6a92e7a C4
259bf36 C2
f33ae68 C1
5043e79 C0

$ git log --oneline feature
79768b8 C5
000f9ae C3
259bf36 C2
f33ae68 C1
5043e79 C0

ÎÒ¸æËßÈËÃÇÔÚ Git ÖУ¬¿ÉÒÔ½« rebase ÈÏΪÊÇ ¡°½«ÀúÊ·ºÏ²¢¡±¡£´Ó±¾ÖÊÉÏÀ´Ëµ£¬Git ½«Ò»¸ö·ÖÖ§ÖеÄÿ¸ö²»Í¬Ìá½»³¢ÊÔ¡°ÖØ·Å¡±µ½ÁíÒ»¸ö·ÖÖ§ÖС£

Òò´Ë£¬ÎÒÃÇʹÓûù±¾µÄ Git ÃüÁ¿ÉÒÔ±ä»ùÒ»¸ö feature ·ÖÖ§½øÈëµ½ master ÖУ¬²¢½«ËüÆ´Èëµ½ C4 ÖУ¨±ÈÈ磬½«Ëü²åÈëµ½ feature µÄÁ´ÖУ©¡£²Ù×÷ÃüÁîÈçÏ£º

$ git checkout feature
$ git rebase master

First, rewinding head to replay your work on top of it...
Applying: C3
Applying: C5

Íê³ÉÒÔºó£¬ÎÒÃǵÄÌá½»Á´½«±ä³ÉÈçÏÂͼ 5 µÄÑù×Ó¡£

ͼ 5£ºrebase ÃüÁîÍê³ÉºóµÄÌá½»Á´

½Ó×Å£¬ÎÒÃÇ¿´Ò»ÏÂÌá½»ÀúÊ·£¬ËüÓ¦¸Ã±ä³ÉÈçϵÄÑù×Ó¡£

$ git log --oneline master
6a92e7a C4
259bf36 C2
f33ae68 C1
5043e79 C0

$ git log --oneline feature
c4533a5 C5
64f2047 C3
6a92e7a C4
259bf36 C2
f33ae68 C1
5043e79 C0

×¢ÒâÄǸö C3' ºÍ C5'¡ª ÔÚ master ·ÖÖ§ÉÏÒÑ´¦ÓÚÌá½»Á´µÄ¡°¶¥²¿¡±£¬ÓÉÓÚ²úÉúÁ˸ü¸Ä¶ø´´½¨ÁËÐÂÌá½»¡£µ«ÊÇҲҪעÒâµÄÊÇ£¬rebase ºó¡°Ô­Ê¼µÄ¡± C3 ºÍ C5 ÈÔÈ»ÔÚÄÇÀï ¡ª Ö»ÊÇÔÙûÓÐÒ»¸ö·ÖÖ§Ö¸ÏòËüÃǶøÒÑ¡£

Èç¹ûÎÒÃÇ×öÁËÕâ¸ö±ä»ù£¬È»ºóÈ·¶¨Õâ²»ÊÇÎÒÃÇÏëÒªµÄ½á¹û£¬Ï£ÍûÈ¥³·ÏúËü£¬ÎÒÃÇ¿ÉÒÔ×öÏÂÃæÊ¾ÀýËù×öµÄ²Ù×÷£º

$ git reset 79768b8

ÓÉÓÚÕâ¸ö¼òµ¥µÄ±ä¸ü£¬ÏÖÔÚÎÒÃǵķÖÖ§½«ÖØÐÂÖ¸Ïòµ½×ö rebase ²Ù×÷֮ǰһģһÑùµÄλÖà ¡ª¡ª ÍêÈ«µÈЧÓÚ³·Ïú²Ù×÷£¨Í¼ 6£©¡£

ͼ 6£º³·Ïú rebase ²Ù×÷Ö®ºó

Èç¹ûÄãÏë²»ÆðÀ´Ö®Ç°Ò»¸ö²Ù×÷Ö¸ÏòµÄÒ»¸ö·ÖÖ§ÉÏÌá½»ÁËʲôÄÚÈÝÔõô°ì£¿ÐÒÔ˵ÄÊÇ£¬Git ÃüÁîÒÀÈ»¿ÉÒÔ°ïÖúÄã¡£ÓÃÕâÖÖ·½Ê½¿ÉÒÔÐ޸Ĵó¶àÊý²Ù×÷µÄÖ¸Õ룬Git »á¼ÇסÄãµÄԭʼÌá½»¡£ÊÂʵÉÏ£¬ËüÊÇÔÚ .git ²Ö¿âĿ¼Ï£¬½«Ëü±£´æÎªÒ»¸öÌØ¶¨µÄÃûΪ ORIG_HEAD µÄÎļþÖС£ÔÚËü±»ÐÞ¸Ä֮ǰ£¬ÄǸö·¾¶ÊÇÒ»¸ö°üº¬ÁË´ó¶àÊý×îÐÂÒýÓõÄÎļþ¡£Èç¹ûÎÒÃÇ cat Õâ¸öÎļþ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ËüµÄÄÚÈÝ¡£

$ cat .git/ORIG_HEAD
79768b891f47ce06f13456a7e222536ee47ad2fe

ÎÒÃÇ¿ÉÒÔʹÓà reset ÃüÁÕýÈçÇ°ÃæËùÊö£¬Ëü·µ»ØÖ¸Ïòµ½Ô­Ê¼µÄÁ´¡£È»ºóËüµÄÀúÊ·½«ÊÇÈçϵÄÕâÑù£º

$ git log --oneline feature
79768b8 C5
000f9ae C3
259bf36 C2
f33ae68 C1
5043e79 C0

ÔÚ reflog ÖÐÊÇ»ñÈ¡ÕâЩÐÅÏ¢µÄÁíÍâÒ»¸öµØ·½¡£reflog ÊÇÄã±¾µØ²Ö¿âÖÐÏà¹ØÇл»»ò¸ü¸ÄµÄÏêϸÃèÊöÇåµ¥¡£Äã¿ÉÒÔʹÓà git reflog ÃüÁîÈ¥²é¿´ËüµÄÄÚÈÝ£º

$ git reflog
79768b8 HEAD@{0}: reset: moving to 79768b
c4533a5 HEAD@{1}: rebase finished: returning to refs/heads/feature
c4533a5 HEAD@{2}: rebase: C5
64f2047 HEAD@{3}: rebase: C3
6a92e7a HEAD@{4}: rebase: checkout master
79768b8 HEAD@{5}: checkout: moving from feature to feature
79768b8 HEAD@{6}: commit: C5
000f9ae HEAD@{7}: checkout: moving from master to feature
6a92e7a HEAD@{8}: commit: C4
259bf36 HEAD@{9}: checkout: moving from feature to master
000f9ae HEAD@{10}: commit: C3
259bf36 HEAD@{11}: checkout: moving from master to feature
259bf36 HEAD@{12}: commit: C2
f33ae68 HEAD@{13}: commit: C1
5043e79 HEAD@{14}: commit (initial): C0

Äã¿ÉÒÔʹÓÃÈÕÖ¾ÖÐÁгöµÄ¡¢Äã¿´µ½µÄÏà¹ØÃüÃû¸ñʽ£¬È¥ÖØÖÃÈκÎÒ»¸ö¶«Î÷£º

$ git reset HEAD@{1}

Ò»µ©ÄãÀí½âÁ˵±¡°Ð޸ġ±Á´µÄ²Ù×÷·¢Éúºó£¬Git ÊÇÈçºÎ¸ú×ÙԭʼÌá½»Á´µÄ»ù±¾Ô­Àí£¬ÄÇôÔÚ Git ÖÐ×öһЩ¸ü¸Ä½«²»ÔÙÊÇÄÇô¿ÉŵÄÊ¡£Õâ¾ÍÊÇÇ¿´óµÄ Git µÄºËÐÄÄÜÁ¦Ö®Ò»£ºÄܹ»ºÜ¿ìËÙ¡¢ºÜÈÝÒ׵س¢ÊÔÈκÎÊÂÇ飬²¢ÇÒÈç¹û²»³É¹¦¾Í³·ÏúËüÃÇ¡£

   
9163 ´Îä¯ÀÀ       46
Ïà¹ØÎÄÕÂ

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

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

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