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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Git ¹ÜÀíʵս£¨Èý£©£º·ÖÖ§¹ÜÀí²ßÂÔ
 
  4237  次浏览      27
 2019-1-21
 
±à¼­ÍƼö:

±¾ÎÄÀ´×Ôhahack£¬ÎÄÕÂÌÖÂÛÏÂÎÒÃÇÔÚ¿ª·¢¹ý³ÌÖг¢ÊԵĸ÷ÖÖ·ÖÖ§¹ÜÀí²ßÂÔ£¬ÔÚÃæ¶Ô¸÷ÖÖ¸´ÔÓ³¡¾°Ï³ÊÏÖµÄÓÅÊÆÓë²»×㣬ÒÔ¼°ÎÒÃǵÄÍ×ЭºÍºóÐøÆÚÍû¡£

˵µ½°æ±¾¿ØÖÆ£¬¾Í²»µÃ²»Ìáµ½·ÖÖ§¹ÜÀí²ßÂÔ¡£¾ÍÏñѧ¿ª³µ±ØÐëѧѧ½»Í¨¹æÔò¡£·ÖÖ§¹ÜÀí²ßÂÔÊÇ´úÂë°æ±¾¿ØÖƵĻù´¡×é³É²¿·Ö¡£ÎªÍŶӶ¨ÖÆÒ»Ì׺ÏÊʵķÖÖ§¹ÜÀí²ßÂÔ£¬¾ÍºÃ±ÈÖÆ¶¨ÁËÒ»Ì׺ÏÀíµÄ½»Í¨¹æÔò£¬¿ÉÒÔÈÃÍŶӵĴúÂëµÄ¸ü¼ÓÓÐÐòµØÑݽø£¬¾¡¿ÉÄܽµµÍ¶à·ÖÖ§´øÀ´µÄ¸´ÔÓ¶È£¬²¢±ÜÃâÓÉÓÚ·ÖÖ§»ìÂÒÒý·¢µÄ¸÷ÖÖ¡°³µ»ö¡±¡£±¾ÎĽ«¼òµ¥ÌÖÂÛÏÂÎÒÃÇÔÚ¿ª·¢¹ý³ÌÖг¢ÊԵĸ÷ÖÖ·ÖÖ§¹ÜÀí²ßÂÔ£¬ÔÚÃæ¶Ô¸÷ÖÖ¸´ÔÓ³¡¾°Ï³ÊÏÖµÄÓÅÊÆÓë²»×㣬ÒÔ¼°ÎÒÃǵÄÍ×ЭºÍºóÐøÆÚÍû¡£

Github-Flow

×÷Ϊ Github µÄÖØ¶ÈÓû§£¬ÎÒÊ×ÏÈ¿¼Âǵĵ±È»ÊÇ Github-Flow ¡£

Github-Flow ÊÇÒ»Öַdz£¼òµ¥µÄ·ÖÖ§¹ÜÀí·½°¸¡£ËüµÄÁ÷³ÌÖ»ÓÐÈçϼ¸²½£º

À­³öÒ»¸öзÖÖ§£»

ÔÚзÖÖ§ÉϽøÐÐÐ޸쬲¢Ìá½»ºÍÍÆËÍÄãµÄ¸Ä¶¯£»

·¢ÆðÒ»¸ö Pull Request £¬Ïò´úÂë¹ÜÀíÔ±ÉêÇ뽫ÄãÌá½»µÄ·ÖÖ§ºÏ²¢µ½Ô­À´µÄ·ÖÖ§£»

ÌÖÂÛ²¢½ÓÊÜ Code Review¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬ÄãÒÀÈ»¿ÉÒÔ¼ÌÐøÍÆËÍеĴúÂëµ½ÄãµÄ¿ª·¢·ÖÖ§ÉÏ£¬²¢ÇÒеÄÌá½»ÔÚÍÆËͺó»á³öÏÖÔÚδÍê³ÉºÏ²¢µÄ Pull Request Ò³ÃæÖУ»

ºÏ²¢ºÍ·¢²¼¡£Review ͨ¹ýºó£¬´úÂë¹ÜÀíÔ±½«¸Ã·ÖÖ§ºÏ²¢µ½Ô­À´µÄÖ÷·ÖÖ§ÉÏ¡£

ÔÚ Gitlab ÖÐͬÑù¿ÉÒÔʹÓà Github-Flow£¬Î¨Ò»µÄÇø±ðÊǽз¨´Ó Pull Request ±ä³ÉÁË Merge Request ¡£ÏÂͼÊÇÒ»¸ö±»³É¹¦ºÏ²¢µÄ Merge Request£º

Github-Flow ÓÐÈçϼ¸¸öÈÃÈË×ÅÃÔµÄÓŵ㣺

¼òµ¥ºÃ²Ù×÷¡£Ö»ÓÐÖ÷·ÖÖ§ºÍ¿ª·¢·ÖÖ§¡£²»Ïñ Git-Flow ÄÇÑùÐèÒªÒýÈëÒ»¶ÑµÄ¸¨Öú·ÖÖ§¡£

ÍÆ¶¯ Code Review ¡£Í¨¹ý Pull Request µÄ·½Ê½£¬Ê¹µÃ Code Review ³ÉΪÁËÈÕ³£¿ª·¢µÄ±Ø¾­Á÷³Ì£¬ÓÐÖúÓÚ¡£

È·±£¿É±àÒë¡£ËùÓÐ Pull Request ¶¼»á´¥·¢³ÖÐø¼¯³É²âÊÔ£¬Ö»ÓÐͨ¹ý²âÊԵIJÅÔÊÐí²¢ÈëÖ÷·ÖÖ§¡£Õâ¾Í¶Å¾øÁË´úÂë±àÒë²»¹ýµÄÇé¿ö¡£

È»¶ø£¬Ãæ¶Ô¸´ÔÓµÄÏîÄ¿£¬Github-Flow ±©Â¶³öÁËÈçϵIJ»×㣺

½â¾ö³åÍ»À§ÄÑ¡£¶àÈËЭ×÷µÄÏîÄ¿ÄÑÃâ»á³öÏÖ³åÍ»£¬Ò»µ©Óöµ½³åÍ»£¬Merge Request ¾Íû·¨±»Ö±½Ó±»ºÏ²¢ÁË¡£Õâ¸öʱºòÖ»ÄÜÔÙ´ÓÄ¿±ê·ÖÖ§À­³öÒ»¸ö·ÖÖ§¡úºÏ²¢Õâ¸ö·ÖÖ§¡ú½â¾öÍê³åÍ»¡úÍÆÉÏÔ¶³Ì²Ö¿âÔٴη¢Æð Merge Request ¡£¶ÔÓÚ´ó¶àÊýϰ¹ßÁËÓà Merge Request ºÏ²¢·ÖÖ§µÄÈËÀ´Ëµ£¬Õâ¸ö¹ý³ÌÒ»ÏÂ×Ó¸´ÔÓÁËÆðÀ´¡£

Code Review ÈÝÒ×Á÷ÓÚÐÎʽ¡£ËäÈ» Github-Flow ¼ÓÈëÁË Code Review µÄ¹ý³Ì£¬µ«ÕâÒÀȻȡ¾öÓÚË«·½¶Ô´ý Code Review µÄ»ý¼«ÐÔ¡£Èç¹ûûÓгä·ÖµÄÌÖÂÛ´úÂëµÄϸ½Ú£¬ÈÔÈ»ÎÞ·¨±£Ö¤´úÂëµÄÖÊÁ¿¡£Êµ¼ÊÍŶӿª·¢ÖУ¬ÎÒÃÇ·¢ÏÖÔÚÏß½øÐÐµÄ Code Review ²¢²»ÈçÃæ¶ÔÃæÌÖÂÛ¸ßЧ¡£¸üÑÏÖØµÄÊÇÒ»µ©Ë«·½Ã»ÓÐ keep moving µÄÒâʶ£¬´óÁ¿ Merge Request ±»»ýѹ£¬¶øÕâЩ Merge Request »á²»¶Ï°üº¬Ð嵀 commit ½øÀ´£¬Õâ¾Í»áʹµÃ Merge Request ¸ü¼ÓÄÑÒԺϲ¢¡£

³ÖÐø¼¯³É²âÊÔÎÞ·¨±£Ö¤×ÓÄ£¿é¿É±àÒë¡£³ÖÐø¼¯³É¿ÉÒÔ×÷Ϊ Merge Request µÄ×¼ÈëÌõ¼þ£¬µ«Õâ½ö½öÖ»ÊÇÖ÷¹¤³ÌµÄ¡°¸£Àû¡±¡£¶øÈçÉÏһƪÎÄÕÂËù˵£¬×ÓÄ£¿éµÄ³ÖÐø¼¯³ÉÔ¶±ÈÖ÷¹¤³Ì¸´Ôӵö࣬ÄÑÒÔÖ±½ÓÔÚ Merge Request Ò³ÃæÖиø³ö³ÖÐø¼¯³É²âÊÔ½á¹û¡£¶ø¶ÔÓÚÎÒÃǵÄÏîÄ¿£¬Ö÷¹¤³Ì»ù±¾Ã»ÓжàÉÙÒµÎñ´úÂ룬´ó²¿·ÖµÄ¹¦ÄÜ¿ª·¢¶¼ÊÇÔÚ×ÓÄ£¿éÉÏ£¬Õâ¾ÍʹµÃ Merge Request µÄ³ÖÐø¼¯³É¹¦ÄÜÏԵü¦ÀßÁË¡£

»¹ÓÐһЩ Gitlab µÄ½»»¥ÎÊÌâ¡£ÔÚ Gitlab ÖУ¬Ä¬Èϵĺϲ¢Ä¿±ê·ÖÖ§ÊÇ master ·ÖÖ§£º

µ±Ä㻨ÉÏÒ»·ÖÖÓÌîÍêºÏ²¢ÃèÊö£¬Ñ¡ÍêÖ¸ÅÉÈ˺󣬷¢ÏÖÄ¿±ê·ÖÖ§ÍüÁ˸ġ£´Ëʱ¾ÍÖ»Äܵã»÷Ò³ÃæÏ·½µÄ ¡°Change Branches¡± Á´½Ó½øÈë·ÖÖ§Ñ¡ÔñÒ³ÖØÐÂÑ¡Ôñ·ÖÖ§¡£»ØÀ´ºóÄã»á·¢ÏÖÄãËùÌîдµÄËùÓÐÄÚÈÝ£¬°üÀ¨Ö¸ÅÉÈ˶¼±»Çå¿ÕÁË£º

²»Ï¸ÐĵÄÈËÍùÍùûעÒâµ½Õâ¸öÎÊÌ⣬ÓÚÊÇÌá½»ÁËÒ»¸öûÓÐÖ¸ÅÉÈ赀 Merge Request £¬Õâ´øÀ´µÄºó¹ûÊÇÕâ¸ö Merge Request ÓÀԶûÈ˹Ø×¢ºÍºÏ²¢¡£

×ÛÉÏËùÊö£¬Github-Flow ¸üÊÊÓÃÓÚÄÇЩֻÒÔ master ·Ö֧ΪÖ÷·ÖÖ§£¬¸ü×¢ÖØÑ¸ËÙ·¢²¼µÄ¼òµ¥ÏîÄ¿¡£ÕâʹÆä·Ç³£ÊʺÏÓÃÔÚά»¤ Github ÉϵÄÕâЩ¼¯ÊÐÐ͵ĵĿªÔ´ÏîÄ¿£¬¶ø²»ÊÊÓÃÓÚ´ó½ÌÌÃÐÍµÄÆóÒµ¼¶ÏîÄ¿¡£ÕýÈç Github µÄ Scott Chancon ´óÉñËù˵£º

For teams that have to do formal releases on a longer term interval (a few weeks to a few months between releases), and be able to do hot-fixes and maintenance branches and other things that arise from shipping so infrequently, git-flow makes sense and I would highly advocate it¡¯s use.

For teams that have set up a culture of shipping, who push to production every day, who are constantly testing and deploying, I would advocate picking something simpler like GitHub Flow.

Scott Chancon, Issues with git-flow

Git-Flow

Git-Flow ÊÇÓÉ Vincent Driessen ÔÚËûµÄһƪÎÄÕÂÖÐÌá³öµÄ·ÖÖ§¹ÜÀí²ßÂÔ¡£

Óë Github-Flow Ïà±È£¬Git-Flow ÓµÓиü¶àµÄ·ÖÖ§£º

master£º¿ÉÒÔÌṩ¸øÓû§Ê¹ÓõÄÕýʽ°æ±¾£»

develop£ºÓÃÀ´Éú³É´úÂëµÄ¸ôÒ¹°æ±¾£¨nightly£©£»

feature£ºÓÃÓÚ¿ª·¢Ä³¸ö¹¦ÄÜ£»

hotfix£ºÓÃÓÚÐÞ¸´ÏßÉÏ´úÂëµÄ bug£»

release£ºÓÃÓÚÕýʽ·¢²¼°æ±¾Ç°µÄ²âÊÔ·ÖÖ§¡£

Git-Flow Ìá³öµÄ·ÖÖ§¹ÜÀí²ßÂÔÍêÕû¶øÊµÓã¬ËüÉõÖÁÒѾ­³ÉΪÁËÒ»¸öͨÓÿª·¢Á÷³Ì±ê×¼¡£¿ª·¢ÕßÃÇ¿ÉÒÔÔÚ¶à¸öÍŶӺÍÏîÄ¿ÖÐ×ñÊØÍ¬Ò»Ì×Á÷³Ì¡£µ« Git-Flow Ò²²»ÊÇÍò½ðÓÍ¡£Óöµ½¸´ÔÓµÄÏîÄ¿£¬ËüҲδ±ØÄÜÍêÈ«ÊÊÓãº

ÈÝÒ׳öÏÖ³åÍ»¡£Git-Flow Éè¼ÆÁ˶à¸ö·ÖÖ§¸÷˾ÆäÖ°£¬µ«¶à·ÖÖ§´øÀ´µÄ¿àÄÕÊÇÈÝÒ׳öÏÖ³åÍ»¡£×î³£¼ûµÄÎÊÌâÊÇ£¬ÓÉÓÚÎÒÃÇʵÏÖÁË×ÓÄ£¿é commit id µÄ×Ô¶¯¸üУ¬Ö÷·ÖÖ§Ó뿪·¢·ÖÖ§µÄ×ÓÄ£¿é commit id ¾­³£±ä¶¯£¬µ¼Ö develop ·ÖÖ§Ïò master ·ÖÖ§ºÏ²¢µÄʱºò³öÏÖ´óÁ¿³åÍ»£¬×èÈû·¢°æ½ø¶È¡£

¶à²úÆ·ÏßµÄÎÊÌâ¡£

ÎÒÃǵÄÖ÷¹¤³Ì´æÔÚ¶àÌõ²úÆ·Ïߣºmaster ·ÖÖ§½ö½öά»¤Ò»¸ö»ù´¡Ä£°å£¬¶ø jilin ¡¢taishan µÈ·ÖÖ§²ÅÊÇÓÃÓÚ²ú³öÕæÕý²úÆ·µÄ·ÖÖ§¡£Ã¿Ìõ²úÆ·Ïߵĸ÷×ÔÓÐÒ»Ì× Git-Flow ·ÖÖ§Ìåϵ£¬²¢ÓÃÇ°×ºÇø·Ö²úÆ·Ïß¡£ÀýÈç jilin µÄ develop ·ÖÖ§¾Í½Ð jilin-dev ¡£¶ø×ÓÄ£¿é¼È¿ÉÄܺÍÖ÷¹¤³ÌÒ»Ñù¶à¸ö²úÆ··ÖÖ§£¬Ò²¿ÉÄÜÊÇÒ»¸öͨÓÃÄ£¿é¡£¶ÔÓÚͨÓÃÄ£¿é£¬Ö»ÐèҪά»¤Ò»Ì× Git-Flow ·ÖÖ§Ìåϵ¡£ÀýÈç common ×ÓÄ£¿é¾ÍÖ»Óбê×¼µÄ master¡¢dev µÈ·ÖÖ§¡£

¶ÔÓÚ¶à²úÆ··ÖÖ§µÄÖ÷¹¤³ÌºÍ×ÓÄ£¿é£¬µ±¸Ä¶¯ÁËij¸ö·ÖÖ§µÄ´úÂ룬Äã¾ÍÒª·Ç³£É÷ÖØµÄ¿¼ÂÇÕⲿ·Ö¸Ä¶¯ÊÇ·ñͨÓã¬ÊÇ·ñÐèÒª²¢ÈëÆäËû²úÆ·ÏߵķÖÖ§¡£¶ø Git-Flow ²¢Ã»ÓÐ̽ÌÖ¶à¸ö²úÆ·Ïß²¢´æÇé¿öϵĴúÂëºÏ²¢·½°¸¡£

¶ÔÓÚͨÓõÄ×ÓÄ£¿é£¬À­ release ·Ö֧ʱÓÖ´æÔÚËøµÄÎÊÌâ¡£±ÈÈ磬¸ºÔð jilin ²úÆ·ÏßµÄͬʼ´½«·¢°æ£¬ÓÚÊÇ°Ñ common ×ÓÄ£¿éÀ­³öÁËÒ»¸ö release ·ÖÖ§¡£ÆäËû²úÆ·ÏßµÄͬÊÂÒÀÈ»¿ÉÒÔ¼ÌÐøÎª common ×ÓÄ£¿éµÄ develop ·ÖÖ§Ìá½» feature ¡£µ«»¹Ã»µÈ jilin ²úÆ·ÏßÍê³É·¢°æ¡£taishan ²úÆ·ÏßµÄͬÊÂÒ²×¼±¸·¢°æÁË£¬´Ëʱ release ·ÖÖ§ÔçÒѾ­±» jilin µÄͬÊÂÀ­³öÀ´£¬¶øÕâ¸ö release ·Ö֧ȴûÓÐ taishan ²úÆ·ÏßÒª·¢°æÐèÒªµÄ feature ¡£Õâ¾Í×è°­ÁË taishan ²úÆ·Ïߵķ¢°æ¡£

Í×ЭÓëÆÚÍû

ΪÁË»¯·±Îª¼ò£¬ÎÒÃÇ×öÁËЩÍ×Э£º

²úÆ·ÏßÈ¡Ïû develop ·ÖÖ§¡£Ã¿Ìõ²úÆ·ÏßÈ¡Ïû develop ·ÖÖ§£¬²¢·Å¿ª²úÆ·ÏßµÄÖ÷·ÖÖ§µÄÌύȨÏÞ¡£ÕâÖÖ·½°¸´ó·ù¼õÉÙÁ˺ϲ¢³åÍ»µÄ¿àÄÕ£¬±ÜÃâ·¢°æÊÜ×裬¶øÎȶ¨ÐÔÒÀÈ»¿ÉÒÔͨ¹ý feature ·ÖÖ§À´±£Ö¤¡£ÎÒÃÇÏàÐÅÖ»ÒªÈÕºóÎÒÃǵÄÄ£°å×ã¹»ÍêÉÆ£¬²úÆ·ÏߵĿª·¢³É±¾»áÔ½À´Ô½µÍ£¬Îȶ¨ÐÔÒ²»áÔ½À´Ô½Ç¿¡£

Óà cherry-pick À´Í¬²½¶àÌõ²úÆ·ÏߵĴúÂë¸Ä¶¯¡£¶ÔÓÚͨÓõĸ͝£¬¿ÉÒÔʹÓà cherry-pick À´½«¸Ä¶¯Í¬²½µ½ÆäËû·ÖÖ§ÉÏ¡£ÎÒÃÇÀ©Õ¹ÁË fmanager µÄ¹¦ÄÜ£¬ÎªÆäʵÏÖÒ»¸ö cherry-pick ÃüÁ

$ fmanager cherry-pick <commit id> <·ÖÖ§Áбí>

ÀýÈ磬¼ÙÈçÏ£Íû°Ñ weihai ·ÖÖ§ÉϵÄÒ»¸öÌύͬ²½µ½ÆäËû·ÖÖ§£¬¿ÉÒÔʹÓÃÈçÏÂÃüÁ

$ fmanager cherry-pick 023e937d master,jilin,taishan

ͨÓõÄ×ÓÄ£¿é·¢°æÊ±£¬Ê¼ÖÕÀ­³ö²úÆ· release ·ÖÖ§¡£

ÀýÈ磬jilin ²úÆ·ÏßÐèÒª·¢°æÁË£¬ÓÚÊÇ´Ó common Ä£¿éµÄ master_dev À­³öÁË jilin-release ·ÖÖ§£º

À­³ö·ÖÖ§ºó£¬Óë jilin ·ÖÖ§ÓйصÄÁÙʱ¸Ä¶¯¿ÉÒÔÔÚ jilin-release ÖнøÐС£Í¬Ê± common Ä£¿éÒÀÈ»¿ÉÒÔ¸ø¸ºÔðÆäËû²úÆ·ÏßµÄͬÊÂÌύРfeature ¡£´Ëʱ taishan ²úÆ·ÏßµÄͬÊÂÈç¹ûÒª·¢°æ£¬¿ÉÒÔÀ­³ö taishan-release ·ÖÖ§£º

Ö®ºó£¬Èç¹û jilin ²úÆ·ÏßµÄͬÊÂÐÞ¸ÄÁËÒ»¸öͨÓÃµÄ bug£¬Í¬Ñù¿ÉÒÔ½«Õâ¸öÌá½» cherry-pick µ½ÆäËû·ÖÖ§£º

Æäʵ£¬ÓëÆä˵ÊÇ Github-Flow ºÍ Git-Flow µÄÎÊÌ⣬²»Èç˵ÊÇÏÖ½×¶ÎÎÒÃǵIJúÆ·¼Ü¹¹µÄÎÊÌâ¡£Ó÷ÖÖ§À´ÊµÏÖ²úÆ·ÏߵIJîÒ컯ʹµÃÒ»¸ö²Ö¿â³öÏÖÁ˶à¸öÖ÷·ÖÖ§£¬¶øÕâÖÖ¸´ÔÓµÄģʽÒѾ­³¬³öÁËͨÓõķÖÖ§¹ÜÀíÁ÷³ÌËùÄܽâ¾öµÄ·¶³ë¡£ÁíÍ⣬ÏÖ½×¶Î×ÓÄ£¿éµÄ²»Îȶ¨Ò²µ¼Ö¿ª·¢¹ý³ÌÖв»¶ÏÐèÒª¿ç²úÆ·Ïßͬ²½´úÂ룬¸ø²úÆ·ÏߵĿª·¢Ôì³É¸ºµ£¡£

ÈÕºóÎÒÃÇÏ£Íû¶Ô¹¤³ÌµÄ¼Ü¹¹½øÐе÷Õû£¬Í¨¹ýÅäÖÃÎļþÀ´ÊµÏÖ²úÆ·²îÒ컯£¬¶ø²»ÔÙ´´½¨²úÆ··ÖÖ§¡£ÁíÍ⣬×ÓÄ£¿éÒ²»áÔ½À´Ô½Îȶ¨£¬¿ÉÒԵͳɱ¾½ÓÈëµ½¸÷¸ö²úÆ·ÏßÖУ¬¶ø²»ÔÙÐèҪƵ·±µü´ú¡£µ½ÁËÄÇÒ»Ì죬ÎÒÃǵÄÏîÄ¿¾ÍÄܹ»ÖØÐ»ع鵽ÑϸñµÄ Git-Flow £¬½« »¯·±Îª¼ò ×öµ½¼«Ö¡£

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

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

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

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