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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
dzÂÛMavenºÍGitµÄÔ­Àí¼°Õ¹Ê¾ÆäÓëEclipseµÄ¼¯³É
 
×÷ÕߣºÓãÓã²»¹Ô À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-9-11
  3748  次浏览      27
 

±¾²©ÎIJ»Í¬ÓÚÍøÉÏËæ´¦¿É¼ûµÄ¡¶MavenʹÓý̡̳·¡¶GitʹÓý̡̳·µÈÖ®ÀàµÄÎÄÕ¡£ÎÒ²¢²»»á´ÓÈí¼þµÄ°²×°ºÍ»ù±¾µÄÃüÁʼ½²Æð£¬¶øÊÇͨ¹ý̽ÌÖËûÃǰüº¬ÁËÄÄЩÉè¼ÆÕÜѧºÍÄÜΪÎÒÃÇ´øÀ´Ê²Ã´ÑùµÄÏîÄ¿¹ÜÀíÌåÑ飬Èôó¼ÒÄÜÔÚ×î¶ÌµÄʱ¼äÄÚͨ¹ýһƪ²©¿ÍÉÏÊÖMavenºÍGit¡£

MavenÊÇÒ»¸öÓÅÐãµÄJavaÏîÄ¿¹ÜÀí¹¤¾ß¡£ÔÚÓÃJava×öÏîĿʱ£¬ÏîÄ¿µÄ´´½¨¡¢±àÒë¡¢²âÊÔ¡¢´ò°üºÍ°²×°²¿Êð¶¼ÐèÒªÇÃÈë²»ÉÙµÄÃüÁ¶øÇÒÔÚ±àÒëºÍÔËÐÐJava³ÌÐòʱ£¬±ØÐëÄÜ´ÓCLASSPATHÖÐÕÒµ½¸ÃÏîÄ¿ÒÀÀµµÄjar°ü£¬·ñÔò±àÒëÎÞ·¨Ë³Àû½øÐУ¬¸ü²»¿ÉÄܳɹ¦ÔËÐС£Îª½â¾öÕâЩÎÊÌ⣬MavenÓ¦Ô˶øÉú¡£

MavenµÄÌØµã£º

1.¿ÉÒÔ¸ù¾ÝÄ£°å´´½¨ÏîÄ¿£¬Ò²¿ÉÒÔ´ÓÒÑÓеÄÏîÄ¿Éú³ÉÄ£°å£¬ÕâÀïµÄÄ£°å£¬MavenÊõÓï½Ðarchetype£»

2.×Ô¶¯¹ÜÀíÒÀÀµµÄjar£»

3.ÅäÖÃÎļþ·Ç³£¼ò¶Ì£»

4.¿ÉÒÔÓзdz£·á¸»µÄ²å¼þ£¬¶Ô´ó²¿·ÖÈËÀ´Ëµ£¬Ê¹Óòå¼þ·Ç³£¼òµ¥£¬²»ÐèÒªÁ˽â²å¼þÔõô±àд£¬¶øÇÒ²å¼þµÄÏÂÔØºÍ¹ÜÀí¶¼ÊÇ×Ô¶¯µÄ¡£

Maven¹Ø¼ü´Ê£ºconvention; phase; archetype; groupId; artifactId; plugin; task; dependency; repository

ÒÔÏÂÊÇÎÒ¶ÔMavenµÄÀí½â¡£

Maven¹ÜÀíÒ»¸öÏîĿʱ£¬»áÔÚÏîÄ¿µÄĿ¼Ï·ÅÒ»¸öpom.xmlÅäÖÃÎļþ£¬¸ÃÅäÖÃÎļþ·Ç³£¼ò¶Ì¡£Ö®ËùÒÔÄܹ»×öµ½ÈÃÅäÖÃÎļþ·Ç³£¼ò¶Ì£¬ÊÇÒòΪMaven¹ÜÀíÏîÄ¿µÄʱºò×ñÑ­µÄÊÇÒ»ÖÖ¹ßÀý£¨convention£©£¬MavenÏîÄ¿µÄĿ¼½á¹¹»ù±¾Êǹ̶¨µÄ£¬¶øÇÒ¶ÔÏîÄ¿¹ÜÀíÖеĸ÷¸ö½×¶Î£¨phase£©µÄ¶¨ÒåÒ²Êǹ̶¨µÄ£¬ËùÒÔ¼´Ê¹²»ÔÚpom.xmlÅäÖÃÎļþÖÐ×öÈκÎÌØÊⶨÒ壬Ҳ¿ÉÒÔʹÓÃMavenµÄ±ê×¼ÃüÁîmvn compile¡¢mvn test¡¢mvn package¡¢mvn install×Ô¶¯½øÐÐÏîÄ¿µÄ±àÒë¡¢²âÊÔ¡¢´ò°ü¡¢°²×°¡£

¶ÔÓÚ¸´ÔÓµÄÈÎÎñÔòÊÇͨ¹ý²å¼þ£¨plugin£©À´Íê³É£¬¶¨ÒåÔÚ²å¼þÖеIJÙ×÷³ÆÎªÈÎÎñ£¨task£©£¬Ê¹ÓõĸñʽΪmvn plugin:task¡£Ê¹ÓÃMaven´´½¨Ò»¸öÐÂÏîÄ¿¾ÍÊÇͨ¹ýarchetype²å¼þµÄgenerateÈÎÎñ×öµ½µÄ£¬ÃüÁî¸ñʽΪmvn archetype:generate¡£Í¬Ñù£¬¿ÉÒÔΪMaven¹ÜÀíµÄÏîÄ¿Éú³ÉEclipseµÄÏîÄ¿Îļþ£¬ÃüÁîΪmvn eclipse:eclipse¡£²å¼þºÍÒÀÀµÏîÒ»Ñù£¬Ò²ÊÇ×Ô¶¯ÏÂÔØºÍ¹ÜÀíµÄ£¬²»ÐèÒªÓû§¸ÉÔ¤¡£

×Ô¶¯ÏÂÔØµÄÒÀÀµÏîºÍ²å¼þ¶¼´æ·ÅÔÚ±¾µØ²Ö¿â£¨repository£©ÖУ¬¸Ã²Ö¿âÒ»°ãλÓÚÓû§Ä¿Â¼µÄ.m2Ŀ¼Ï¡£ÎÒÃÇ×Ô¼ºµÄÏîĿִÐÐmvn installʱ£¬Ò²Ä¬Èϰ²×°µ½¸Ã²Ö¿âÖС£Ã¿Ò»¸öÏîÄ¿¶¼ÐèÒªÓÃgroupId¡¢artifactIdºÍversionÀ´±êʶ£¬°üÀ¨ÎÒÃÇ×Ô¼ºµÄÏîÄ¿¡¢ÒÀÀµÏî¡¢²å¼þ¡¢´´½¨ÐÂÏîĿҪÓõ½µÄÄ£°åµÈ¶¼ÊÇÈç´Ë¡£Ê¹ÓÃmvn archetype:generate´´½¨ÐÂÏîĿʱÐèÒªÖ¸¶¨archetypeGroupIdºÍarchetypeArtifactId¡£groupId´ú±í¸ÃÏîÄ¿ËùÔÚµÄС×飬±ÈÈçorg.apache.maven£¬ÕâÊÇJavaÊÀ½çµÄÃüÃûÕÜѧ£¬ÔÚÕâÀï²»ÏêϸÐðÊö£¬artifactIdÔòÖ»ÐèÒª¼òµ¥Ö¸¶¨Ò»¸öÏîÄ¿µÄÃû×Ö¼´¿É£¬´ò°ü³ÉjarÎļþµÄʱºò£¬»áÉú³ÉÃû×ÖΪartifactId-version.jarµÄÎļþ¡£

ÏÂÃæ¿´¾ßÌåʾÀý¡£Èç¹ûÒª´´½¨Ò»¸ö¿ÕÏîÄ¿£¬Ê¹ÓÃÈçÏÂÃüÁ

mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=com.xkland.maven-example \
-DartifactId=maven-example

Èç¹ûÒªÉú³ÉÒ»¸ö¿Õ°×µÄWebÏîÄ¿£¬Ê¹ÓÃÈçÏÂÃüÁ

mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp \
-DgroupId=com.xkland.maven-web-example \
-DartifactId=maven-web-example

´ÓÉÏÃæÃüÁî¿ÉÒÔ¿´³ö£¬Òª´´½¨²»Í¬ÀàÐ͵ÄÏîÄ¿£¬Ö»ÐèÒªÖ¸¶¨²»Í¬µÄarchetype¼´¿É¡£ÏÂÃæÎÒÃÇ¿´¿´ÓÃÒÔÉÏÃüÁîÉú³ÉµÄÏîÄ¿µÄÎļþ½á¹¹¡£

ÔÙÒÔSpringSide4ΪÀý¡£ÏÈ´ÓGithubÉϽ«SpringSide4¿Ë¡ÏÂÀ´¡££¨ÉÔºó»á½²µ½Git£©ÃüÁîÈçÏ£º

git clone https://github.com/springside/springside4.git

½øÈëspringside4Ŀ¼£¬¿ÉÒÔ¿´µ½ÀïÃæÓÐÈý¸öÖ÷ÒªµÄĿ¼£¬·Ö±ðΪexamples¡¢modules¡¢supports¡£½øÈëµ½modulesĿ¼£¬ÔËÐÐmvn install¾Í¿ÉÒÔ½«SpringSide4°²×°µ½±¾µØ²Ö¿âÁË£¬¾ÍÕâô¼òµ¥¡£²»¹ý£¬Õâ¸ö²Ù×÷Òª»¨µÄʱ¼ä±È½Ï³¤£¬ÒòΪÐèÒªÏÂÔØºÜ¶àÒÀÀµµÄ¿â¡£

°²×°ºÃSpringSide4ºó£¬Òª´´½¨»ùÓÚSpringSideµÄÏîÄ¿£¬ÏȽøÈësupport/maven-archetypeĿ¼£¬ÔËÐÐmvn install°²×°SpringSideµÄarchetype£¬È»ºóÖ»ÐèÒªÈçÏÂÃüÁî¼´¿É£º

mvn archetype:generate \ 
-DarchetypeGroupId=org.springside.examples \
-DarchetypeArtifactId=quickstart-archetype \
-DarchetypeVersion=4.1.1-SNAPSHOT \
-DgroupId=com.xkland.springside-sample \
-DartifactId=springside-example

¸ÃÃüÁîÉæ¼°µ½µÄ֪ʶ²»³¬¹ýÎÒ֮ǰµÄÂÛÊö¡£ÎÒÕâÀïûÓн²µ½pom.xmlÎļþµÄÅäÖÃÓï·¨£¬´ó¼Ò¿ÉÒԲο¼¹Ù·½Îĵµ£¬ºóÃæ£¬ÎÒÃÇ»á½øÈëIDEʱ´ú¡£

Èí¼þ¿ª·¢¹ý³ÌÖУ¬»¹ÓÐÁíÍâÒ»¸öÎÊÌâÐèÒª½â¾ö£¬ÄǾÍÊÇÔ´´úÂëµÄ°æ±¾¿ØÖƺͶàÈËЭ×÷¡£ÏÖÔÚ×îÁ÷ÐеÄÊǰ汾¿ØÖÆÈí¼þÊÇGit£¬Ô½À´Ô½¶àµÄ¿ªÔ´Èí¼þ´ÓSubversionÇ¨ÒÆµ½ÁËGit¡£

GitµÄÌØµã£º

1.GitÊÇ·Ö²¼Ê½µÄ°æ±¾¿ØÖÆÏµÍ³£¬ËüûÓÐÖÐÐÄ·þÎñÆ÷µÄ¸ÅÄËäȻʵ¼Ê¿ª·¢ÖпÉÒÔ½¨Ò»¸öÖÐÐÄ·þÎñÆ÷£©£¬Ã¿Ò»Ì¨¿ª·¢»úÆ÷É϶¼±£´æÍêÕûµÄÀúÊ·¼Ç¼£»µ«ÊÇËüÓб¾µØ´úÂë²Ö¿âºÍÔ¶³Ì´úÂë²Ö¿âµÄ¸ÅÄ²»È»Ôõô¶àÈËЭ×÷£¿£©£¬¶øÇÒ¿ÉÒÔ×·×Ù¶à¸öÔ¶³Ì²Ö¿â£»

2.GitÄܹ»·Ç³£¿ìµØ½¨Á¢·ÖÖ§ºÍºÏ²¢·ÖÖ§£¬²¢¾ßÓÐÇ¿´óµÄ¸ú×Ù·ÖÖ§ºÍÇл»·ÖÖ§µÄÄÜÁ¦¡£

ÒÔÉÏÁ½¸öÌØµã¾ö¶¨ÁËʹÓÃGit¹¤×÷µÄÁ÷³Ì¡£¹ØÓÚGitµÄʹÓú͹¤×÷Á÷³Ì£¬ÎÒ½«ÔÚºóÃæÏêϸÐðÊö¡£ÏÈÀ´¿´¿´ÒªÀí½âGitÐèÒªÀí½âÄÄЩ¹Ø¼ü´Ê¡£

GitµÄ¹Ø¼ü´Ê£ºworking directory; repository; stage; commit; remote; branch; merge

ÏÂÃæÊÇÎÒµÄÀí½â¡£

ÿһ¸öÏîÄ¿¶¼Ó¦¸ÃÓÐÒ»¸ö¹¤×÷Ŀ¼£¨Working directory£©£¬ÎÒÃÇ¿ÉÒÔ×Ô¼º½¨Ò»¸öĿ¼£¨Õâ²»ÊÇ·Ï»°Â𣿱𼱣¬ÏÂÃæ»¹ÓС££©£¬È»ºó°ÑÕâ¸öĿ¼ÀïÃæµÄ´úÂëÓÃGit¹ÜÀíÆðÀ´£¨Ê¹ÓÃgit initÃüÁîºÍgit addÃüÁºóÃæÏêÊö£©£¬Ò²¿ÉÒÔͨ¹ýgit cloneÃüÁî´Ó±ðµÄµØ·½¿Ë¡һ¸öÏîÄ¿¹ýÀ´×Ô¶¯Éú³ÉÒ»¸ö¹¤×÷Ŀ¼¡£ÔÚ¹¤×÷Ŀ¼ÖеÄÎļþ¾ÍÊǵ±Ç°±à¼­ºÍÐ޸ĵÄÎļþ£¬Èç¹ûÊÇн¨Á¢µÄĿ¼»òÐÂcloneÀ´µÄĿ¼£¬¹¤×÷Ŀ¼ÖеÄÎļþ¾ÍÊǸÃÏîÄ¿×îеÄ״̬¡£GitÊÇÔÚ±¾µØ±£´æÓÐËùÓеÄÀúÊ·¼Ç¼ºÍ·ÖÖ§¼Ç¼µÄ£¬ÕâЩÄÚÈݶ¼ÔÚ¹¤×÷Ŀ¼µÄ.gitĿ¼ÖУ¬³ÆÖ®Îª±¾µØ²Ö¿â£¨local repository£©¡£µ±Çл»·ÖÖ§»ò²é¿´ÒÔǰµÄÀúÊ·°æ±¾Ê±£¬¹¤×÷Ŀ¼ÖеÄÎļþ×Ô¶¯¸Ä±ä£¨Õâ²ÅÊÇÖØµã£¬¹¤×÷ÎÞÐèÇл»Ä¿Â¼£¬Ä¿Â¼ÖеÄÎļþ»á×Ô¶¯Çл»£©¡£¹¤×÷Ŀ¼ÖеÄÎļþÓÐÈýÖÖ״̬£ºÒÑÐ޸ġ¢ÒÑÔݴ棨stage£©¡¢ÒÑÌá½»¡£Ð޸ĺóµÄÎļþ¿ÉÒÔÏȼÓÈëÔÝ´æÇøÓò£¬Ò»´Î¹¤×÷½áÊøºóÒ»ÆðÌá½»¡£

GitÊÇ·Ö²¼Ê½µÄ£¬Ã»ÓÐÖÐÐÄ·þÎñÆ÷µÄ¸ÅÄµ«Êµ¼Ê¹¤×÷ÖÐÈÔÈ»¿ÉÒÔ°Ñ´úÂë²Ö¿â·Åµ½Ò»Ì¨´ó¼Ò¶¼¿ÉÒÔ·ÃÎʵķþÎñÆ÷ÉÏ£¬×öʵ¼ÊµÄÖÐÐÄ·þÎñÆ÷ʹÓ㨽öÔÚСÍŶÓʱʹÓô˹¤×÷Á÷³Ì£¬Ô­ÒòºóÃæÏêÊö£©¡£ÔÚ±¾µØ»úÆ÷ÉϹ¤×÷Íêºó£¬Ê¹ÓÃgit pushÃüÁî°Ñ²Ö¿âÍÆË͵½·þÎñÆ÷ÉÏ£¬»»Ò»¸öµØ·½»»Ò»Ì¨»úÆ÷ºó£¬Ö»ÐèÒªgit cloneһϣ¬ÓÖ¿ÉÒÔ»ñµÃËùÓеĴúÂ루°üº¬ËùÓеÄÀúÊ·¼Ç¼¼°·ÖÖ§£©¼ÌÐø¹¤×÷¡£·þÎñÆ÷¹ÊÕÏҲûÎÊÌ⣬ÒòΪÿһ¸ö¹¤×÷µÄ»úÆ÷É϶¼±£´æÓÐÍêÕûµÄ´úÂë²Ö¿â£¬ËùÒÔ´Ó²»Óõ£ÐÄ´úÂ붪ʧ¡£Ã»ÓÐÍøÂçҲûÓйØÏµ£¬ÔÚ±¾µØ»úÆ÷ÉÏÕÕÑù¿ÉÒÔÌá½»£¨git commit£©£¬ÒòΪÕû¸ö²Ö¿â¾ÍÔÚ×Ô¼ºµÄ»úÆ÷ÉÏ£¬µ±ÓÐÍøÂçʱ£¬pushһϾͿÉÒÔÁË¡£

GitÓÐÔ¶³Ì²Ö¿â£¨remote repository£©µÄ¸ÅÄ¶øÇÒ¿ÉÒÔ¹ÜÀíºÜ¶à¸öÔ¶³Ì²Ö¿â£¬Ô¶³Ì²Ö¿â¿ÉÒÔÊÇ·þÎñÆ÷£¬Ò²¿ÉÒÔÊDZðÈ˵ĸöÈ˼ÆËã»ú£¨µ«Ò»°ãûÓÐÈËÕâôÓã©£¬Ã¿Ò»¸öÔ¶³Ì²Ö¿â¶¼ÓÐÒ»¸ö¼ò¶ÌµÄÃû×ÖºÍÒ»¸öµØÖ·£¬×ʼclone´úÂëµÄÄǸöÔ¶³Ì²Ö¿â±ðÃûÍùÍùĬÈÏΪorigin£¬×Ô¼ºÌí¼ÓµÄÔ¶³Ì²Ö¿â¿ÉÒÔËæÒâÖ¸¶¨±ðÃû£¬µ±È»ËùÓеÄÔ¶³Ì²Ö¿â¶¼¿ÉÒÔËæÒâÐ޸ıðÃû¡£¿ÉÒÔ´ÓÔ¶³Ì²Ö¿â»ñÈ¡´úÂ루git fetchÃüÁî»ògit pullÃüÁ£¬Ò²¿ÉÒÔ°Ñ×Ô¼ºµÄ´úÂëÍÆË͵½Ô¶³Ì²Ö¿â£¨git pushÃüÁÐèҪдȨÏÞ£©¡£

¼ÈÈ»Git¼´¿ÉÒÔËæ±ã´ÓÔ¶³Ì²Ö¿â»ñÈ¡´úÂ룬ÓÖ¿ÉÒÔ°Ñ×Ô¼ºµÄ´úÂëÍÆË͵½Ô¶³Ì²Ö¿â£¬ÄÇôµ±¶àÈËЭ×÷ʱ£¬Æñ²»»áÂÒÌ×Â𣿽â¾öÕâ¸öÎÊÌâµÄ£¬¾ÍÊÇGitµÄ±ØÉ±Ö®¼¼¡ª¡ª´´½¨·ÖÖ§¼°·ÖÖ§ºÏ²¢¡£ÏÂÃæÒªÓÃͼ±íÀ´ËµÃ÷ÎÊÌâÁË¡£ÏÂÃæÒ»ÏµÁÐͼƬÀ´×ÔGit¹Ù·½ÍøÕ¾Éϵĵç×ÓÊé¡¶Pro Git¡·¡£

Ê×ÏÈ£¬Ëæ×ÅÒ»´Î´ÎµÄÌá½»£¬ÔÚ±¾µØ´úÂë¿âÖÐÐγÉÒ»¸öÖ÷·ÖÖ§£¬ÈçÏÂͼ£º

ÓÐʱΪÁË¿ª·¢ÐÂÌØÐÔ£¬ËæÊ±¿ÉÒÔ¿ªÒ»¸öзÖÖ§£¬ÈçÏÂͼ£º

зÖÖ§ºÍÖ÷·ÖÖ§Ö®¼ä¿ÉÒÔËæÒâÇл»£¬Ëæ×Å·ÖÖ§µÄ·¢Õ¹£¬ÐÎʽÈçÏÂͼ£º

Ö÷·ÖÖ§Ò²¿ÉÒÔÏòǰ·¢Õ¹£¬ÈçÏ£º

×îÖÕ£¬µ±Ð·ÖÖ§´úÂëºÜÎȶ¨ÒԺ󣬿ÉÒÔ½«ÆäºÏ²¢µ½Ö÷·ÖÖ§£¬ÈçÏÂͼ£º

¶øÄܹ»·ÀÖ¹¶àÈËЭ×÷ʱ³öÏÖ»ìÂҵĹؼü¾ÍÔÚÓÚ£¬µ±´ÓÔ¶³Ì²Ö¿âclone´úÂë¿âµ½±¾µØ»òfetch´úÂë¿âµ½±¾µØÊ±£¬Ô¶³Ì·ÖÖ§µÄ±ê¼Ç²¢²»µÈÓÚ±¾µØ·ÖÖ§µÄ±ê¼Ç¡£´ÓÔ¶³ÌcloneÒ»¸ö´úÂë¿âµ½±¾µØºó£¬Æämaster·ÖÖ§ÓÐÁ½¸ö±ê¼Ç£¬Ò»¸ö±ê¼ÇΪorigin/master±íʾԶ³Ì¿âÖеÄmaster·ÖÖ§£¬Ò»¸ö±ê¼ÇΪmaster£¬±íʾ±¾µØµÄmaster·ÖÖ§¡£ÈçÏÂͼ£º

¿ÉÒÔÏëÏó£¬ÓÉÓÚ±ðÈ˵Ť×÷£¬Ô¶³Ì²Ö¿âÖеÄmaster·ÖÖ§¿Ï¶¨»áÏòǰ¼ÌÐøÒÆ¶¯£¬µ«ÊÇÔÚÏ´ÎÁªÍøÖ®Ç°£¬¸Ãorigin/master±ê¼Ç²»»áÒÆ¶¯¡£¶ø±¾µØµÄmaster±ê¼Ç¼ÌÐøÏòÇ°ÒÆ¶¯¡£

Ö±µ½Ï´ÎÁªÍø£¬Ê¹ÓÃgit fetchÃüÁԶ³Ì²Ö¿âµÄÄÚÈÝÈ¡»Ø±¾µØ£¬origin/master±ê¼Ç²Å»á¸Ä±äλÖã¬Õâʱ£¬¿´ÆðÀ´¾ÍÏñÊÇÁ½¸ö·ÖÖ§£¬ÈçÏÂͼ£º

×îºó£¬½«origin/master·ÖÖ§ºÏ²¢µ½master·ÖÖ§ÖУ¨Ê¹ÓÃget mergeÃüÁ£¬±¾µØ´úÂë¿âÓÖÒ»´Î±ä³ÉÁËÒ»¸öµ¥Ò»µÄmaster·ÖÖ§£¬¼ÌÐøÏòǰ¿ª·¢£¬²¢¿ÉÒÔ½«Ëüpushµ½Ô¶³Ì²Ö¿â£¬¹©±ðÈËʹÓá£

Git³åÍ»µÄ´¦ÀíÍêÈ«¿¿È˹¤Íê³É¡££¨´ÓÂß¼­ÉϽ²£¬»úÆ÷Ò²²»¿ÉÄÜÍêÃÀ´¦Àí³åÍ»¡££©±ÈÈçÒ»¸öСÐÍÍŶÓÒ»Æð¹¤×÷£¬ËûÃÇ¿ÉÒÔÉèÖÃÒ»¸ö·þÎñÆ÷ÓÃÓÚ±£´æÔ¶³ÌGit²Ö¿â£¬È»ºóÿ¸öÈ˹¤×÷֮ǰÏÈ´Ó¸ÃÔ¶³Ì²Ö¿âfetch´úÂ룬½Ó׏¤×÷£¬¹¤×÷Íê³Éºó£¬ÏÈÔÚ±¾µØÌá½»£¬×îºópushµ½Ô¶³Ì²Ö¿â¡£µ«Êǵ±Ò»¸öÈËpushµÄʱºò£¬ÒѾ­ÓÐÈËÔÚËû֮ǰpushÁË£¬Èç¹ûËûÃǹ¤×÷ÔÚͬһ¸ö·ÖÖ§£¬¾Í»á³öÏÖ³åÍ»¡£½â¾ö³åÍ»µÄ°ì·¨¾ÍÊÇÏȰѱðÈËpushµÄÄÚÈÝÔÙ´ÎfetchÏÂÀ´£¬ºÏ²¢·ÖÖ§£¬È»ºóÔÙpush¡£

ͨ¹ý֮ǰ¶ÔgitÔ­ÀíµÄÁ˽⣬¿ÉÒÔ·ÖÎöµÃ³öʹÓÃGitʱÓÐÒÔϼ¸ÖÖ¹¤×÷Á÷³Ì£º

1.Ò»¸öÈ˵¥¸É£¬²»ÐèÒª¿¼ÂdzåÍ»£¬ËæÊ±¿ÉÒÔ¿ª·ÖÖ§¡¢ºÏ²¢·ÖÖ§ºÍÇл»·ÖÖ§£¬ËæÊ±¿ÉÒÔ±¾µØÌá½»¡£Èç¹ûΪÁË·ÀÖ¹´úÂ붪ʧ£¬¿ÉÒÔ¿ªÒ»¸ö·þÎñÆ÷£¬Ã¿´Î¹¤×÷Íê³É¾Ípushµ½·þÎñÆ÷ÉÏ£»

2.СÐÍÍŶӺÏ×÷£¬ÈçǰËùÊö£¬¿ªÒ»¸ö·þÎñÆ÷±£´æ´úÂë²Ö¿â£¬È»ºóËùÓеÄÈ˰Ѹ÷þÎñÆ÷µ±³ÉÔ¶³Ì²Ö¿â£¬¹¤×÷֮ǰÏÈfetch£¬¹¤×÷Ö®ºóÔÙpush¡£Èç¹ûÓгåÍ»£¬ÔòÏÈfetch£¬ºÏ²¢·ÖÖ§½â¾ö³åÍ»ºóÔÙpush¡£Èç¹ûÍŶÓÈËÊýÌ«¶à£¬Ã¿¸öÈ˶¼Ïò¸Ã·þÎñÆ÷push£¬ÄdzåÍ»¸ÃÊÇÓжàÉÙ£¿ÓпÉÄÜÒ»¸ö¿ª·¢ÕßµÚÒ»´ÎÏò·þÎñÆ÷pushµÄʱºò£¬ÓÐÈËÔÚËû֮ǰÒѾ­push¹ýÁË£¬ËûÖ»ºÃÏÈfetch£¬ÊÖ¹¤ºÏ²¢½â¾ö³åÍ»£¬¿ÉµÈËûÔÙ´ÎpushµÄʱºò£¬·¢ÏÖÓÖÓÐÈËÔÙËû֮ǰÒѾ­pushÁË£¬ÓÚÊÇËûÖ»ºÃÔÙ×öÒ»´Î½â¾ö³åÍ»µÄÁ÷³Ì£¬¿ÉÊÇÈç¹ûÔÚËû¹¤×÷µÄʱºò£¬ÓÖÓÐÈËpushÁËÄØ£¿ÕâÒ²ÊÇ֮ǰ½²µÄ¸Ã¹¤×÷Á÷³ÌÖ»ÊʺÏСÐÍ¿ª·¢ÍŶӵÄÔ­Òò¡£

ÒÔÉÏÁ÷³Ì¾­¹ýÊʵ±ÐÞ¸ÄÒ²¿ÉÒÔ¹©´óÐÍÍŶÓʹÓã¬ÄǾÍÊǽ«ÍŶӷÖ×飬ÿ¸ö×éµÄ³ÉÔ±¹²ÓÃÒ»¸ö·þÎñÆ÷µ±Ô¶³Ì²Ö¿â£¬×鳤ºÏ²¢Á˸Ã×éµÄ¹¤×÷³É¹ûºó£¬ÔÙpushµ½ÁíÒ»¸ö·þÎñÆ÷µ±×ܵÄÔ¶³Ì²Ö¿â£¬ÕâÑù¾Í¿ÉÒÔ´ó´ó¼õÉÙ³åÍ»µÄÊýÁ¿£¬¼õÉÙ¹¤×÷Á¿¡£

3.¿ªÔ´ÏîÄ¿µÄºÏ×÷£¬ÔÚÕâÖÖÇé¿öÏ£¬Ã¿¸öÈ˶¼°Ñ×Ô¼ºµÄ²Ö¿â±©Â¶ÔÚ»¥ÁªÍøÉÏ¡£¿ªÔ´ÏîÄ¿µÄ×éÖ¯Õß»ò¸ºÔðÈ˽«ËùÓÐÈ˵IJֿâÉèΪԶ³Ì²Ö¿â£¬²¢°ÑÓÐÒâÒåµÄ¹¤×÷ºÏ²¢µ½Ö÷·ÖÖ§£¬È»ºó·¢²¼¹Ù·½µÄGit²Ö¿â¡£Ã¿¸ö¿ª·¢Õß´Ó¹Ù·½²Ö¿âfetch´úÂëºó£¬Íê³É×Ô¼ºµÄ¹¤×÷£¬È»ºóÔÙ°ÑËüpushµ½»¥ÁªÍøÉÏ×Ô¼ºµÄ²Ö¿â£¬µÈ×ÅÏîÄ¿¸ºÔðÈ˽«×Ô¼ºµÄ¹¤×÷ÕûºÏµ½¹Ù·½²Ö¿âÖС£Èç¹ûÏîÄ¿¸ºÔðÈ˲»¸ÉÁË£¬¸ÄÈËÁË£¬Ö»Òª»¹ÓÐÈ˼ÌÐø¿ª·¢£¬¸ÃÏîÄ¿¾Í¿ÉÒÔ¼ÌÐøÏÂÈ¥¡£Åöµ½ÍŶӱȽϴóµÄÇé¿ö£¬Ò²¿ÉÒÔ½øÐзÖ×é¡£

·þÎñÆ÷µÄ½¨ÉèÒ²Ï൱¼òµ¥£¬ÒòΪGitÖ§³ÖÒÔSSH¡¢HTTPµÈЭÒé´«ÊäÊý¾Ý£¬Èç¹ûÐèÒª¶Ô·þÎñÆ÷ÓÐдȨÏÞ£¬¾Í¿ªÍ¨SSH·þÎñ°É£¬ÉèÒ»¸öÕË»§¹©ËùÓÐÈË·ÃÎÊGit²Ö¿â¼´¿É¡£Èç¹ûÖ»ÐèÒªÖ»¶ÁȨÏÞ£¬Ê¹ÓÃÈκÎÒ»¸öHTTP·þÎñÆ÷¾ù¿É¡£¹ØÓÚGit·þÎñÆ÷µÄ½¨É裬Çë×ÔÐвο¼¹Ù·½Îĵµ¡£Èç¹ûÊǸöÈ˵ġ¢¿ªÔ´µÄÏîÄ¿£¬¿ÉÒÔʹÓÃGithubÍøÕ¾ÌṩµÄ·þÎñ£¬Ö±½Ó´æ´¢ÔÚ»¥ÁªÍøÉÏ¡££¨Github˽È˲ֿâÊÇÒªÊÕÇ®µÄ¡££©

¿´À´Òª°ÑGit½²Çå³þ²¢²»ÈÝÒ×£¬ÓÃÁËÕâô¶àƪ·ù¡£ÏÂÃæ°ÑGit³£ÓõÄÃüÁî»Ø¹Ëһϣº

git config ÅäÖÃGit£¬Ò»°ãʹÓò»ÐèÒªÌØ±ðÅäÖ㬵«ÖÁÉÙÒªÉèÖÿª·¢ÕßµÄÃû×ÖºÍÓÊÏä

git initºÍgit add ´´½¨Ò»¸öвֿ⣬²¢¸ú×Ù¹¤×÷Ŀ¼ÏµÄÎļþ

git clone ´ÓÔ¶³Ì¿Ë¡һ¸öÏîÄ¿£¬°üÀ¨¹¤×÷Ŀ¼ºÍ²Ö¿â

git add ½«Ð޸ĺóµÄÎļþ·ÅÈ뻺´æÇøÓò£¨staging area£©£¬»òÕâ±íʾ³åÍ»ÒѾ­½â¾ö

git status ÏÔʾÎļþ״̬£¬ÊÇÒÑÐ޸ϹÊÇÒÑ»º´æ»¹ÊÇÒÑÌá½»

git commit Ìá½»ÏîÄ¿

git remote ¹ÜÀíÔ¶³Ì²Ö¿â

git fetchºÍgit pull ´ÓÔ¶³Ì²Ö¿âץȡÊý¾Ý

git push ÏòÔ¶³Ì²Ö¿âÍÆËÍÊý¾Ý

git branchºÍgit merge ´´½¨·ÖÖ§¼°ºÏ²¢·ÖÖ§

git checkout Çл»·ÖÖ§

git»¹ÓÐÒ»¸ö¿ÉÊÓ»¯¹¤¾ßgitk£¬Ê¹ÓÃËü£¬¿ÉÒÔÒÔͼÐλ¯µÄ·½Ê½²é¿´Ìá½»µÄÀúÊ·¡¢·ÖÖ§¼°ºÏ²¢·ÖÖ§µÈÐÅÏ¢¡£ÏÂͼÊÇÎÒÔÚspringside4Ŀ¼ÏÂÖ´ÐÐgitkµÄ½ØÍ¼£º

¿ÉÒÔ¿´µ½ÕâÀïÓÐÒ»¶Î¸´ÔӵĿª·ÖÖ§¡¢ºÏ·ÖÖ§µÄ¼Ç¼¡£

ÕâÆª²©ÎÄÀïûÓÐдMaven¡¢Git¡¢EclipseµÄ°²×°£¬ÒòΪÔÚÎÒµÄϵͳÖÐÖ»ÐèÒªÒ»¸ösudo apt-get install maven git eclipse¾Íͳͳ¸ã¶¨£¬OpenJDKÉñÂíµÄ£¬×÷ΪÒÀÀµÏȻÊÇ×Ô¶¯°²×°ÁË¡£¶Ô£¬Äãû²Â´í£¬ÎÒÓõÄÊÇUbuntu¡£²Ù×÷ϵͳ°æ±¾Ubuntu 13.10£¬maven 3.0.4¡¢git 1.8.3.2¡¢eclipse 3.8¡£Í¬Ê±¸øeclipse°²×°ÉÏm2e¼°EGit²å¼þ¡£

Èç¹ûÖ»ÊÇ·º·ºµØÐ´MavenºÍGitµÄÓ÷¨£¬ÄǾͲ»ÊÇÎҵķç¸ñÁË£¬ÏÂÃæµ±È»ÊÇshowͼƬÁË¡£Ã»ÓпíÆÁÏÔʾÆ÷µÄÅóÓÑÃǶԲ»ÆðÁË¡£²»¹ý¿ÉÒÔͨ¹ýCtrl+Êó±ê¹öÂÖ½«ÍøÒ³ËõСºó²é¿´¡£

ÏÂͼ£¬ÎÒµÄUbuntu×ÀÃæ£º

ÏÂͼ£¬ÔÚÐéÄâ¿ØÖÆÌ¨£¨gnome-terminal£©ÖÐʹÓüò½à¶ø¹¦ÄÜÇ¿´óµÄÉϹÅÉñÆ÷Vim±à¼­Æ÷£¬ÅäºÏ°ë͸Ã÷±³¾°£¬¿á±ÐÁË£º

ÏÂͼ£¬ÎҵŤ×÷½çÃæ£¬Í¬Ê±Ê¹ÓÿØÖÆÌ¨ºÍEclipse£¬·½±ã¸ßЧ£º

µ±ÔÚEclipseÖÐÑ¡Ôñн¨ÏîÄ¿µÄʱºò£¬¿ÉÒÔÑ¡Ôñ½¨Á¢MavenÏîÄ¿»òMavenÄ£¿é£¬ÈçÏÂͼ£º

µãÏÂÒ»²½£¬¿ÉÒÔ¿´µ½ÈÃÑ¡Ôñarchetype£¬ÈçÏÂͼ£º

ÔÙµãÏÂÒ»²½£¬·¢ÏÖÒªÌîдµÄÄÚÈÝÒ²²»³¬¹ý֮ǰÌáµ½µÄ֪ʶ·¶Î§£º

µãFinish£¬¾Í¿ÉÒÔÍê³ÉÒ»¸öMavenÏîÄ¿µÄ´´½¨¡£

µ±È»£¬Ò²¿ÉÒÔµ¼ÈëÒÑÓеÄMavenÏîÄ¿£¬ÈçÏÂͼ£º

¿´¿´pom.xmlÅäÖÃÎļþµÄ¿ÉÊÓ»¯±à¼­Æ÷£¬ÕâÒ²ÊÇÎÒ֮ǰ²»½²pom.xmlÅäÖÃÓï·¨µÄÔ­Òò£¬ÈçÏÂͼ£º

ÒªÔËÐÐMavenÏîÄ¿£¬Çë¿´Run As²Ëµ¥£º

»ñµÃÒ»¸öÓÃGit¹ÜÀíµÄÏîĿҲÊÇÓÐÁ½ÖÖ;¾¶£¬Ò»ÖÖΪʹÓÃEclipseµÄFile->Import²Ëµ¥£¬µ¼ÈëÒ»¸öÒѾ­°üº¬Git²Ö¿âµÄÏîÄ¿£»ÁíÒ»ÖÖ·½·¨¾ÍÊÇΪһ¸öÒÑ´æÔÚµÄÏîÄ¿´´½¨Ò»¸öGit²Ö¿â¡£

ÓÃImportµ¼ÈëÏîĿʱ£¬Ò²¿ÉÒÔ´ÓGithub¿Ë¡¡£²»¹ýÎÒµÄEgit²å¼þËÆºõÓеãÎÊÌ⣬ʹÓòå¼þ×Ô´øµÄËÑË÷¹¦Äܲ»ÄÜ´ÓGithubÉÏÕÒµ½ÏîÄ¿£¬µ«ÊÇÖ±½ÓÖ¸¶¨URL¿ÉÒÔ¡£

»¹ÊÇÒÔSpringSideΪÀý¡£Ñ¡ÔñFile->Import£¬µ¯³öÈç϶Ի°¿ò£¬ÈçÏÂͼ£º

µ«ÊÇÔÚÕâÀïÖ»ÄÜÑ¡ÔñProjects from Git£¬Ñ¡ÔñÏÂÃæµÄRepositories from GitHubÊÇËѲ»µ½ÏîÄ¿µÄ¡£

ÏÂÒ»²½£¬ÈçÏÂͼ£º

Ñ¡ÔñURI£¬¼ÌÐøÏÂÒ»²½£¬ÈçÏÂͼ£º

ÊäÈëSpringSide4ÏîÄ¿¿âµÄµØÖ·¡£¿´Çå³þ£¬ÊÇhttpsЭÒéŶ¡£¼ÌÐøÏÂÒ»²½£¬ÈçÏÂͼ£º

Ö»ÓÐÖ÷·ÖÖ§¿ÉÑ¡£¬Èç¹û²»ÊÇÕâÑù£¬¾ÍÑ¡ÔñËùÓзÖÖ§¡£È»ºóÏÂÒ»²½£¬ÈçÏÂͼ£º

ÔÚÕâÀïÐèҪǿµ÷һϣ¬Ò»¶¨ÒªÑ¡ÔñµÚÈý¸ö£ºImport as general project¡£Ô­Òò¾ÍÊÇÒòΪSpringSideµÄ¹¤×÷Ŀ¼ÄÚûÓÐEclipseÏîÄ¿ËùÐèÒªµÄ.projectÎļþ¡£Èç¹ûÊÇÓÃEclipse´´½¨µÄÏîÄ¿£¬±¾Éíº¬ÓÐ.projectÎļþ£¬¾Í¿ÉÒÔʹÓõÚÒ»ÏImport existing projects¡£ºÃÁË£¬µãFinish£¬springsideÏîÄ¿³É¹¦µ¼Èë¡£ËùÓÐÓйØGitµÄ²Ù×÷¶¼¿ÉÒÔÔÚ¿ì½Ý²Ëµ¥µÄTeam²Ëµ¥ÏîÖÐÕÒµ½£¬ÈçÏÂͼ£º

Èç¹ûÑ¡ÔñShow in history£¬¾Í¿ÉÒÔ¿´µ½ÕâÑùµÄÀúÊ·¼Ç¼£º

´ÓGithubµ¼ÈëÏîÄ¿¾Íչʾµ½ÕâÀÆäËüµÄ¹¦ÄÜÔÚIDE»·¾³Ï´ó¼Ò×Ô¼ºÂýÂýÃþË÷£¬Ó¦¸ÃÊǺܼòµ¥µÄ¡£ÏÂÃæ¿´¿´ÎªÒ»¸öÒѾ­´æÔÚµÄÏîÄ¿´´½¨Git²Ö¿â¡£

ÈçÏÂͼ£¬ÔÚmaven-exampleÏîÄ¿µÄ¿ì½Ý²Ëµ¥ÖÐÑ¡ÔñTeam->Share project£º

µ¯³öÈç϶Ի°¿ò£º

µ±È»ÊÇÑ¡ÔñGit¶ø²»ÊÇCVSÁË¡£ÏÂÒ»²½£¬ÈçÏÂͼ£º

µ½ÕâÀï¾ÍҪעÒâÁË£¬Õâ¸ö¶Ô»°¿òÖÐÓÐÒ»¸öUse or creat repository in parent folder of projectµÄµ¥Ñ¡¿ò£¬Èç¹û°ÑÊó±ê·ÅÔÚÉÏÃæ£¬»¹ÓÐÌáʾ¡£Ìáʾ˵¹´Ñ¡Õâ¸öµ¥Ñ¡¿òÊDz»ÍƼöµÄ£¬ÒòΪ»áÔÚEclipseµÄ¹¤×÷Ŀ¼Öд´½¨Git²Ö¿â¡£¶øÔÚEclipse¹¤×÷Ŀ¼Öд´½¨Git²Ö¿â¿ÉÄÜ»á³öijЩÎÊÌâ¡£¾ßÌåÊÇʲôÎÊÌ⣬EGit User GuideÀïÃæÓÐ˵Ã÷¡£

ΪÁË·½±ãÆð¼û£¬»¹Êǹ´Ñ¡Õâ¸öµ¥Ñ¡¿ò¡£¹´Ñ¡ºó£¬¶Ô»°¿ò±ä³ÉÏÂÃæÕâÑù£º

µãCreate Repositoryºó£¬µãFinish¾Í¿ÉÒÔÍê³ÉGit²Ö¿âµÄ´´½¨ÁË¡£

´´½¨Git²Ö¿âºó£¬ÏîÄ¿ÖеÄÎļþ»¹Ã»Óб»Git¸ú×Ù£¬ËùÒÔÏÔʾµÄÊÇÎʺűê¼Ç£¬ÈçÏÂͼ£º

µã¿ì½Ý²Ëµ¥Team->Add to indexºó£¬Îļþ¼ÓÈë×·×Ù£¬ÏÔʾµÄÊÇ+ºÅ±ê¼Ç£¬ÈçÏÂͼ£º

Ìá½»¹¤×÷µÄ¶Ô»°¿ò£¬ÈçÏÂͼ£º

Ìá½»ºó£¬ÏîÄ¿ÖеÄÎļþ±ê¼ÇÈçÏÂͼ£º

ºÃÁË£¬¾ÍдÕâô¶à°É¡£½ØÍ¼Ò²ÊÇÒ»¸öºÜÀÛÈ˵Ť×÷¡£Õ¹Ê¾Õâô¶àͼƬ¿É²»ÊÇΪÁËÈ¡´ú¹Ù·½½Ì³Ì£¬Ö»ÊÇΪÁËչʾһÏÂЧ¹û¡£Èôó¼ÒÖªµÀÕâ¸öIDE»¹ÊǺܺúÜÇ¿´óµÄ£¬×îÖØÒªµÄÊÇ£¬¹¤×÷½çÃæÊÇºÜÆ¯ÁÁµÄ¡£

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

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
ÏîÄ¿¹ÜÀí:MavenÈÃÊÂÇé±äµÃ¼òµ¥
³ÖÐø¼¯³É¹¤¾ßhudson
³ÖÐø¼¯³É
MavenȨÍþÖ¸ÄÏ
³ÌÐò¼¯(UMLÖеİü)Ö®¼äÑ­»·


²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±


º£º½¹É·Ý ÖØ¹¹¼°³ÖÐø¼¯³É
µçÑлªÔ´ Éè¼ÆÔ­Àí¡¢½¨Ä£ÓëÖØ¹¹
Èí¼þÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
ÖйúÈí¼þÑз¢ÖÐÐÄ µ¥Ôª²âÊÔÓëÖØ¹¹
µ¥Ôª²âÊÔ¡¢Öع¹ºÍ³ÖÐø¼¯³Éʵ¼ù
ÂÞ¿ËΤ¶û C++µ¥Ôª²âÊÔ+ÖØ¹¹+Gtest