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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÔÚXcodeÖÐʹÓÃGit½øÐÐÔ´Âë°æ±¾¿ØÖÆ
 
×÷Õߣºµ¶µ¶Óã À´Ô´£ºÐÂÀ˲¥¿Í ·¢²¼ÓÚ 2015-1-15
  4162  次浏览      27
 

ÔÚÓ¦ÓóÌÐò¿ª·¢¹ý³ÌÖУ¬ºÜÖØÒªµÄÒ»²¿·Ö¹¤×÷¾ÍÊÇÈçºÎ½øÐÐÔ´ÂëµÄ°æ±¾¿ØÖÆ¡£µ±´úÂë³öÏÖÎÊÌâʱ£¬ÎÒÃǾÍÐèÒª½«´úÂë»Ö¸´µ½Ô­ÏÈÕý³£µÄ°æ±¾¡£Èç¹ûÊǶà¸öÈ˹²Í¬¿ª·¢Ò»¸öÏîÄ¿£¬ÄÇô´úÂëµÄ¿ØÖƾͻá·Ç³£¸´ÔÓ¡£ÐÒÔ˵ÄÊÇ£¬¿ª·¢Õß²»ÐèÒª×Ô¼º¿ØÖÆÕâЩ£¬ÒòΪÓÐרÃŵÄÈí¼þÀ´¸ºÔ𣬽Ð×ö°æ±¾¿ØÖÆÏµÍ³¡£

°æ±¾¿ØÖÆÏµÍ³£¬»òÕß˵Ð޸ĿØÖÆÏµÍ³£¬Êµ¼ÊÉÏÊÇÒ»ÖÖ¼ì²âÔ´ÎļþµÄ¸Ä±ä²¢½«Æä±£´æÁô×÷ÒÔºó²Î¿¼Ê¹ÓõĻúÖÆ£¨Èí¼þ£©¡£´ËÍ⣬Ëü»¹ÄܼǼÆäËûÓÐÓÃÐÅÏ¢£¬±ÈÈçÊÇÄĸö¿ª·¢ÕßÐÞ¸ÄÁË´úÂ룬ºÎʱÐ޸ĵģ¬ÐÞ¸ÄÁËÄÄÒ»²¿·Ö£¬ÒÔ¼°ÆäËûÀúÊ·ÐÅÏ¢¡£°æ±¾¿ØÖÆÏµÍ³¿ÉÒԱȽϲ»Í¬°æ±¾´úÂëµÄ²»Í¬£¬ÓбØÒªÊ±Äָܻ´Õû¸öÏîÄ¿µ½ÒÔǰµÄ°æ±¾£¬×·×ÙÓк¦´úÂë´Ó¶ø¼õÉÙ²úÆ·µÄ´íÎó¡£

ͨ¹ý°æ±¾¿ØÖÆÏµÍ³£¬¿ª·¢Õß¿ÉÒÔÔÚÒ»¸öÏîÄ¿µÄ²»Í¬·ÖÖ§ÉϹ¤×÷£¬µ±ÏîÄ¿µÄ¸÷¸ö²¿·Ö¿ª·¢Í걸ʱ£¬½«ËüÃǷŵ½Ò»ÆðÐγÉ×îÖյİ汾£¬Õâ¸ö¹ý³Ì±»³ÆÎªºÏ²¢¡£ÊÂʵÉÏ£¬ÕâÖÖ×ö·¨ÔÙÍŶӺÍÈí¼þ¹«Ë¾ÖÐÏ൱³£¼û£ºÃ¿¸öÈ˸ºÔðÏîÄ¿µÄÒ»²¿·Ö£¬×îÖÕËùÓв¿·Ö±»ÕûºÏµ½Ò»ÆðÐγÉ×îÖÕ²úÆ·¡£

¶ÔÓÚ¸öÈË¿ª·¢ÕßÀ´Ëµ£¬°æ±¾¿ØÖÆÏµÍ³²¢²»ÊDZØÐèµÄ£¬µ«ÊÇÎÒÃÇÈÔȻǿÁÒÍÆ¼ö¿ª·¢ÕßʹÓÃËü£¬ÒòΪËü¿ÉÒÔʹ´úÂë·½±ãµÄÔÚÓдíÎóµÄ°æ±¾ºÍ¿ÉÒÔ¹¤×÷µÄ°æ±¾Ö®¼äת»»¡£ÊÂʵÉÏ£¬ºÜ¶à¿ª·¢Õß´ÓÀ´²»Ê¹ÓÃÀàËÆµÄ¹¤¾ß£¬ËûÃÇ»áÔÚÏîÄ¿Ìí¼ÓÐµĹ¦ÄÜʱÊÖ¶¯±£´æÔ­ÏȵÄÏîÄ¿¡£ÕâÆäʵÊÇÒ»¸öºÜ²»ºÃµÄϰ¹ß£¬ÒòΪ°æ±¾¿ØÖÆÈí¼þ¿ÉÒÔ¸üºÃ¸ü¸ßЧµØÍê³ÉÕâÏîÈÎÎñ¡£

GitÊÇÒ»¸ö³£¼ûµÄ°æ±¾¿ØÖÆÏµÍ³£¬Ëü×ʼÊÇÓÉLiunxÖ®¸¸Linus Torvalds¿ª·¢µÄ£¬GitʹÓÃÐéÄâĿ¼£¬ÓÖ³ÆÎªrepositories£¬À´¹ÜÀíÒ»ÇÐÊÂÎï¡£Git¿ÉÒÔͨ¹ýÃüÁîÐе÷Óã¬Ò²ÓÐרÃÅΪËüÉè¼ÆµÄ×ÀÃæÓ¦ÓÃÈí¼þ¡£Èç¹ûGit¶ÔÄãÀ´ËµºÜİÉú£¬ÎÒ½¨ÒéÄãÔÚÍøÉϲ鿴һЩËüµÄÏà¹ØÐÅÏ¢¡£¹ØÓÚGit¸üÉî²ã´ÎµÄÄÚÈݶ¼²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§Ö®ÄÚ¡£

´ÓXcode5¿ªÊ¼ÒýÈëÁËʹÓÃgitµÄһЩÐÂÌØÐÔ¡£Ëü½«gitµÄ¸÷ÏÄÜÕûºÏµ½Ò»¸ö²Ëµ¥ÖУ¬²¢Ìṩ×Ӳ˵¥À´½øÐÐÈí¼þºÏ²¢µÄ¿ØÖÆ¡£ÔÚ½ÓÏÂÀ´µÄÔĶÁÖÐÄã»á·¢ÏÖ£¬Ê¹ÓÃgitÀ´½øÐа汾¿ØÖÆÏ൱µÄ¼òµ¥¿ì½Ý¡£

ÎÒÃǽÓÏÂÀ´µÄÈÎÎñ¾ÍÊÇѧϰÈçºÎÔÚXcodeÖÐʹÓÃgit£¬ÒÔ¼°XcodeÊÇÈçºÎÕûºÏGitµÄ¸÷ÏÄÜ¡£Èç¹ûÄã¾õµÃ¶ÔÕâЩºÜİÉú£¬ÎÒ½¨ÒéÄãÏÈÉÏÍøËÑË÷Ò»ÏÂÏà¹ØµÄÄÚÈÝ¡£ÔÚ½ÓÏÂÀ´µÄ½Ì³ÌÖУ¬ÎÒ»á¼Ù¶¨ÄãÒѾ­Á˽âÁ˰汾¿ØÖÆÏµÍ³ºÍgitÊÇʲô£¬²¢½«×¢ÒâÁ¦¼¯ÖÐÔÚXcodeÈçºÎ¹ÜÀíËüÉÏ¡£

GIT Demo¸ÅÊö£¨GIT Demo Overview£©

ÓëÆäËû½Ì³ÌÖеÄdemo app²»Í¬£¬Õâ´ÎÎÒÃDz»»áȥʵÏÖÒ»¸öÓ¦ÓÃÀ´ÑÝʾijһÏîiOS SDKÌØÐÔ£¬×îÖÕÎÒÃÇÒ²²»»á²úÉúÒ»¸öʾÀý²úÆ·¡£Êµ¼ÊÉÏ£¬ÎÒÃÇ»áн¨Ò»¸ödemo¹¤³Ì£¬Ð´¼¸ÐдúÂ룬ȻºóÀûÓÃÕâ¸ö¹¤³ÌÀ´ÑÝʾXcodeÌṩµÄ°æ±¾¹ÜÀí¹¦ÄÜ¡£»»¾ä»°Ëµ£¬ÎÒÃǻἯÖÐ×¢ÒâÀïÓÚIDEÉÏ£¬¶ø²»ÊÇiOS±¾Éí¡£

ÎÒ½¨ÒéÄã¸ú×ÅÎÒÒ»ÆðÒ»²½Ò»²½ÊµÏÖÕâ¸öʵÀýÏîÄ¿£¬ÔÚÏàÓ¦µÄµØ·½ÊÖ¶¯Ìí¼Ó´úÂ룬²»Óõ£ÐÄ£¬´úÂëÁ¿²»ÊǺܶࡣ¸ú׎̵̳IJ½Ö裬ÎÒÃǽ«Ö´ÐжàÖÖÖØ¸´µÄ°æ±¾¿ØÖÆÏà¹ØµÄ²Ù×÷£¬²¢ÇÒÎÒÃDZØÐëʵʱ¿´µ½½á¹û¡£Èç¹ûÎÒÖ»ÊÇÌṩÁËÒ»¸ö¾ß±¸ËùÓвÙ×÷µÄµÄÓ¦Óã¬ÄÇôÄãÎÞ·¨Ìå»áµ½ÕâЩ¸Ä±ä¡£

ºÃÁË£¬·Ï»°²»¶à˵ÁË£¬ÈÃÎÒÃÇ×Ðϸ¿´¿´Ê¹ÓÃXcode½øÐа汾¿ØÖƵÄÒªµã°É¡£

´´½¨Ò»¸öGitÔ´£¨Creating a Git repository£©

ÿ´ÎÔÚXcodeÖд´½¨Ð¹¤³ÌµÄʱºò£¬¶¼»áÌáʾ¿ª·¢ÕßÊÇ·ñ½«ÏîÄ¿×÷Ϊһ¸ö±¾µØµÄgitÔ´¡£ÔÚ´´½¨¹¤³ÌµÄ×îºóÒ»²½Xcode»áÓÐÒ»¸ö¸´Ñ¡¿ò£¬Èç¹ûÑ¡ÔñÁËËü£¬gitÔ´¾Í»á±»Ìí¼Óµ½¹¤³ÌĿ¼ÖС£Í¨³£Õâ¸öÑ¡Ïî»á±»ºöÊÓ£¬»òÊDZ»ÈÏΪÊÇXcodeµÄÁíÍâÒ»¸öûÓõŦÄÜ£¬ÓÈÆäÊÇ´ÓδÓùýgitµÄ¿ª·¢Õߣ¬»òÊDZà³ÌÐÂÊÖ¡£

´ò¿ªXcode£¬´´½¨Ò»¸öÐµĹ¤³Ì¡£Ñ¡ÔñiOSÇøµÄ“Application”£¬ÔÚÓ¦ÓÃÄ£°åҳѡÔñ“Single View Application”¡£

Ñ¡ÔñÏÂÒ»²½£¬ÔÚÏîÄ¿ÃûÖÐÊäÈëGitDemo£¬È·±£ÏÂÃæµÄDevices²Ëµ¥Ñ¡ÔñiPhone£¬ÎÞÐèiPad»òÕßuniversal app¡£

µã»÷ÏÂÒ»²½£¬Ò²¾ÍÊÇ×îºóÒ»¸ö²½Ö裬ÔÚÕâÀïÏÈÑ¡ÔñÒ»¸öÒª±£³Ö¹¤³ÌµÄĿ¼£¬È»ºóÔÚ´°¿Úµ×²¿Ñ¡ÉÏCreate git repository on (My Mac ):

ĬÈÏÇé¿öÏ£¬Õâ¸öÑ¡ÏîÊDZ»Ñ¡Éϵģ¬Èç¹ûÄã²»ÏëʹÓÃgit£¬Äã¿ÉÒÔÈ¡ÏûËü£¬µ«ÊÇÎÒ²»½¨ÒéÕâô×ö¡£±¾½Ì³ÌÖУ¬ÄãÐèÒª½«Ëü¹´Ñ¡ÉÏ£¬È»ºóµã»÷´´½¨°´Å¥¡£

´´½¨ÍêÏîĿ֮ºó£¬´ò¿ªFinder£¬ÕÒµ½ÏîÄ¿´æ´¢µÄĿ¼£¬ÔÚĿ¼ÖУ¬ÓÐÒ»¸ö.gitµÄ×ÓĿ¼£¬Ê±XcodeΪ´æ´¢gitÔ´Ïà¹ØÊý¾Ý×Ô¶¯´´½¨µÄ¡£

Èç¹ûÄã¿´²»µ½.gitĿ¼£¬ÄãÐèÒªÈÃÒþ²ØµÄÎļþ¿É¼û¡£¾ßÌå×ö·¨¾ÍÊÇ´ò¿ªÒ»¸öTerminal´°¿Ú£¬ÊäÈëÒÔÏÂÃüÁ

defaults write com.apple.finder AppleShowAllFiles TRUE  

¶ÔÓÚÒÔǰµÄOS X°æ±¾£¬

efaults write com.apple.Finder AppleShowAllFiles TRUE  

ΪÁËÖØÆôFinderÓ¦Óã¬ÊäÈë

killall Finder 

Õâ¾ÍÊDZ¾ÏîÄ¿ÔÚ±¾µØgitÔ´±£´æµÄλÖá£Êµ¼ÊÉÏ£¬Èç¹ûÄãÑ¡ÉÏÁËÏàÓ¦µÄÑ¡ÏÕâ¸öĿ¼¾Í»á±»´´½¨¡£ÏàÓ¦µØ£¬ÔÚÄã´´½¨ÐÂÓ¦ÓÃʱ£¬.git×ÓĿ¼Ҳ»áһͬ±»´´½¨¡£

ÏÔȻʹÓÃXcode´´½¨Ò»¸ögitÔ´ºÁ²»·ÑÁ¦£¬È»¶ø£¬Èç¹ûÄãÔÚÏîÄ¿´´½¨Ê±Î´´´½¨gitÔ´£¬Ö®ºóÓÖÏë¼ÓÉÏÕâ¸ö¹¦ÄÜÔõô°ìÄØ£¿ºÃ°É£¬ÆäʵÄã¿ÉÒÔÔÚÈκÎʱºòΪÄãµÄÏîÄ¿´´½¨Ô´£¬µ«ÊDz»ÊÇʹÓÃXcode¡£¾¡¹ÜÕâÖÖÇé¿öºÜÉÙ·¢Éú£¬ÎÒ»¹ÊÇ»á¸æËßÄã¸ÃÔõô×ö¡£

Èç¹ûÄãÔ¸ÒâµÄ»°£¬Äã¿ÉÒÔÖ±½ÓÌøµ½±¾½Ì³ÌµÄÏÂÒ»²¿·Ö¡£ÎÒ½¨ÒéÄã½Ó×ŶÁÏÂÈ¥£¬ÒòΪ½ÓÏÂÀ´ÕâЩÐÅÏ¢»¹ÊǺÜÓÐÓõġ£

ÔÚ½øÐÐÑÝʾǰ£¬ÄãÐèÒªÊ×ÏÈͨ¹ýXcodeÏÂÔØCommand Line Tools£¬ÒòΪÎÒÃÇÒªÔÚTerminalϲÙ×÷£¬²¢ÇÒÐèҪһЩ¶îÍâµÄ¹¤¾ß¡£Èç¹ûÄ㻹ûÓÐÏÂÔØ£¬ÄǾÍÈ¥Xcode>Preferences…²Ëµ¥£¬Ñ¡ÔñDownloadÑ¡Ï£¬Õ¹¿ªComponentsÇø£¬µã»÷Commond Line ToolsÓÒ±ßÏÂÔØ°´Å¥¡£ÏÂÔØÍê³Éºó£¬Ò»¸ö¶Ô¹´·ûºÅ»áÈ¡´úÏÂÔØ°´Å¥¡£

ÏÖÔÚ£¬ÎªÕâ¸öÀý×ÓÔÙ´´½¨Ò»¸ö¹¤³Ì£¬Íêʺó¿ÉÒÔɾÁËËü¡£ÔÚ´´½¨Ê±È¡ÏûÄǸö´´½¨gitÔ´µÄÑ¡Ïî¡£Õâ´ÎÎÒÃDz»ÏëÈÃXcodeΪÎÒÃÇ×¼±¸Ò»¸öÔ´¡£°ÑÕâ¸ö¹¤³ÌÃüÃûΪNoGitExample£¬±£´æµ½×ÀÃæ£¬È»ºóÄã¿ÉÒÔ¸úÎÒ½ÓÏÂÀ´ÊäÈëµÄÃüÁîÒ»Ñù¡£

Ò»ÇÐ×¼±¸Í×µ±ºó£¬´ò¿ªTerminal´°¿Ú£¨Èç¹ûÄã֮ǰ´ò¿ªÁËÒ»¸ö£¬ÄǾÍÏȹصôËüÔÙÖØÆô£¬´Ó¶øÊ¹ÎÒÃǰ²×°µÄÃüÁîÐй¤¾ßÉúЧ£©¡£ÏÂÃæÇл»µ½ÐÂÏîÄ¿µÄĿ¼£º

cd /Users/YOUR-USERNAME/Desktop/NoGitExample  

 Õâ»á³õʼ»¯Ò»¸ö¿ÕµÄÔ´£¬Èç¹ûÄãÔÚFinderÀïÃæ²é¿´»òÊÇÊäÈëlsÃüÁÄã»á¿´µ½.git×ÓĿ¼ÒѾ­±»´´½¨£¬ºÜºÃ£¬½ÓÏÂÀ´ÊäÈ룺

git init 

ÕâÑù£¬µ±Ç°Ä¿Â¼ËùÓеÄÄÚÈݾͱ»Ìí¼Óµ½Ô´ÀïÃæÈ¥ÁË£¬×îºó£¬ÊäÈëÒÔÏÂÃüÁ

git commit -m 'Initial commit'   

½ÓÏÂÀ´»á³öÏÖÒ»¸ö±¾µØgitÔ´ËùÖ´ÐеĸıäÁÐ±í£¬ÈçÏÂͼËùʾ£º

ÏÖÔÚgitÔ´¾Í½¨ºÃÁË£¬µ«ÊÇÈç¹ûÄã»Øµ½Xcode£¬´ò¿ªSource Control²Ëµ¥£¬Äã»á·¢ÏÖÒ»ÇÐÈÔÈ»ÊDZ»½ûÓá£

ÕâÊÇÒòΪµ±ÎÒÃÇʹÓÃÃüÁîÐй¤¾ß´´½¨gitԴʱ£¬Xcode²¢Î´±»Í¨Öª£¬ÏÂÃæµã»÷Xcode>Quit Xcode£¬È»ºóÖØÐÂÆô¶¯Ëü£¬ÔÚNoGitExampleÏîÄ¿ÖУ¬Èç¹ûÄãÔٴδò¿ªSource Control²Ëµ¥£¬Äã»á·¢ÏÖËùÓеÄÑ¡ÏîÒѾ­±»Ê¹ÄÜÁË£¬¾ÍÏñÒ»¿ªÊ¼¹´Ñ¡ÉÏ´´½¨gitÔ´Ò»Ñù¡£

ÏÖÔÚÕâ¸öÏîÄ¿µÄʹÃüÒѾ­½áÊø£¬Äã¿ÉÒÔÔÚ×ÀÃæÉÏɾ³ýËü¡£

ÏÖÔÚÄãÖªµÀÈçºÎΪÄãËùÓеÄÏîÄ¿Ìí¼ÓgitÔ´ÁË£¬¼´Ê¹ÄãÔÚ´´½¨Ê±Ã»ÓÐÌí¼Ó£¬ÄãÒ²¿ÉÒÔÔÚÒÔºóÈκÎʱºòΪËüÊÖ¶¯Ìí¼ÓÔ´¡£

Ìá½»¸ü¸Ä£¨Committing Changes£©

Ìá½»¸ü¸ÄÖ¸µÄÊÇ´¢´æÒ»¸ö°üº¬ËùÓиü¸ÄµÄа汾¡£Ò»°ãÀ´Ëµ£¬µ±ÎÒÃÇ×öÁËһЩÓÐÒâÒåµÄ¹¤×÷£¬²¢ÇÒÏîÄ¿´¦ÓÚijһ¸öÎȶ¨×´Ì¬Ê±£¬¾Í¿ÉÒÔÌá½»Ò»´Î¸ü¸Ä¡£È»¶ø¾ßÌåʲôʱºòÌá½»¸ü¸Ä²¢Ã»ÓÐÓ²ÐԵĹ涨¡£ÎҵĽ¨ÒéÊÇ£º´ÓÉÏ´ÎÌá½»¸ü¸ÄÖ®ºó£¬Èç¹ûÄãÅ»¨·Ñ´óÁ¿Ê±¼äºÍ¾«Á¦×öµÄй¤×÷±»ÎóɾºÜÄѻָ´£¬Äã¾ÍÐèÒªÌá½»¸ü¸ÄÁË¡£

ĬÈÏÇé¿öÏ£¬XcodeÔÚÏîÄ¿´´½¨Ö®³õ»áÌá½»Ò»´Î¸ü¸Ä£¬ÕâÊÇΪÁ˱£´æÏîÄ¿³õʼ״̬¡£ÕâÏ×÷»áÔÚºǫ́Íê³É£¬²»»á´òÈÅÄã»òÕßÒªÇóÄã½øÐÐÈ·ÈÏ¡£Èç¹ûÄãÔÚÏîÄ¿´´½¨Ê±Ã»ÓÐÌí¼ÓgitÔ´£¬µ«ÊÇÖ®ºóÄãÊÖ¶¯Ìí¼ÓÁË£¬Äã¿ÉÒÔͨ¹ýÎÒÃÇÏÈǰʹÓùýµÄÃüÁîÀ´½øÐÐÌá½»£ºgit commit -m ‘Initial commit’

ʵ¼ÊÉÏ£¬ÄãÈç¹ûÈ¥Source Control>History…²Ëµ¥£¬Äã¾Í»á¿´µ½³õ´ÎÌá½»¸ü¸ÄµÄ¼Ç¼£¬ÒÔºóÿ´ÎÌá½»¸ü¸Ä£¬¶¼»áÔÚÕâÀïÓÐËù¼Ç¼¡£

½ÓÏÂÀ´ÈÃÎÒÃÇС·ùÐÞ¸ÄÒ»ÏÂÎÒÃǵŤ³Ì£¬ÔÚViewController.mÎļþÖУ¬Ìí¼ÓÒÔÏÂÊôÐÔÉùÃ÷£º

@interface ViewController ()  
 
@property (nonatomic) int sum;  
 
@end  

½ÓÏÂÀ´£¬ÏñÏÂÃæÕâÑùÐÞ¸ÄviewDidLoad·½·¨£º

- (void)didReceiveMemoryWarning  
{  
    [super didReceiveMemoryWarning];  
    // Dispose of any resources that can be recreated.  
 
    int a = 5;  
    int b = 10;  
 
    self.sum = a + b;  
 
    NSLog("The result is: %d", self.sum);  
} 

¿´Ò»ÏÂProject navigatorÃæ°å£¬Äã»á·¢ÏÖÔÚViewController.mÎļþÅԱߣ¬Ìí¼ÓÁËÒ»¸öM×Öĸ£¬ÏñÏÂÃæÕâÑù£º

ÕâÒâζ×ÅÄǸöÎļþÒѾ­±»Ð޸ģ¬Ïà±ÈÉÏÒ»´ÎÌá½»¸ü¸Ä£¬ÎļþÓÐËù¸Ä±ä¡£Ò»°ãÀ´Ëµ£¬Äãÿ´Î¸Ä±äÎļþ£¬¶¼»á³öÏÖÕâ¸öM×Öĸ£¬ÌáÐÑÄãÓÐδÌá½»µÄ¸ü¸Ä¡£

ÏÂÃæ¿´¿´ÈçºÎÌá½»¸ü¸Ä£¬Æäʵ·Ç³£¼òµ¥£¬Ö»ÐèÒª´ò¿ªSource Control>Commit²Ëµ¥£¬ÏÂÃæ´°¿Ú¾Í»á³öÏÖ£º

ÈÃÎÒÃÇÒ»²½²½¿´¿´Ëü¸æËßÎÒÃÇÁËʲô¡£ÔÚ×ó±ß£¨±ê1µÄÇøÓò£©£¬ÁгöÁËËùÓб»¸ü¸ÄµÄÎļþ£¬ÔÚÕâ¸öÀý×ÓÖУ¬Ö»ÓÐViewController.mÕâ¸öÎļþ±»¸Ä±ä£¬Òò´ËÁбíÖÐÖ»ÓÐËü±»ÏÔʾ¡£Èç¹ûÄã×Ðϸ¹Û²ì£¬Äã»á·¢ÏÖÎļþ×ó±ßÓÐÒ»¸öÑ¡Ôñ¿ò£¬Ä¬ÈÏÇé¿öÏÂÊDZ»Ñ¡Öеģ¬Èç¹ûÄãÈ¡ÏûËü£¬Õâ¸öÎļþµÄ¸ü¸Ä¾Í²»»á±»Ìá½»¡£

ÔÚ´°¿ÚµÄÖмäÇøÓò£¬ÓÐÁ½¸öÔ¤ÀÀ´°¿Ú£¬×ó±ßÄǸöÊÇÎļþµ±Ç°°æ±¾£¬ÓÒ±ßÊÇÎļþÉÏÒ»´ÎÌá½»¸ü¸ÄµÄ°æ±¾¡£ÒòΪÎÒÃÇĿǰֻÊÇ´´½¨Ê±Ìá½»¹ýÒ»´Î¸ü¸Ä£¬Òò´ËÓÒ±ßÏÔʾµÄÊÇÎļþµÄ³õʼ״̬¡£

×ó±ß´°¿ÚÀ¶É«ÇøÓò±ê³öµÄ¾ÍÊǸü¸ÄµÄÄÚÈÝ£¬ÕâÑùµÄ±íʾÈÃÎÒÃÇ¿ÉÒÔÇå³þµØ¿´³öËùÓеÄÐ޸ġ£Èç¹ûÄã×Ðϸ¿´£¬»á·¢ÏÖÔÚÁ½¸ö´°¿ÚÖ®¼ä»¹ÓÐÒ»¸ö´øÊý×ÖµÄС±êÇ©£¬Õâ¸öÊý×ÖÒ»Ò»±íʾÁ˸÷Ïî¸ü¸Ä¡£ÔÚÊý×ÖÅԱߣ¬Ä¬ÈÏÇé¿öÏÂÓÐÒ»¸öС¶Ô¹´£¬±íʾ±¾¸ü¸Ä»á±»Ìá½»£¬Èç¹ûÄãµã»÷ÓұߵÄС¼ýÍ·£¬»áµ¯³öÒ»¸öÑ¡Ïî²Ëµ¥£¬Äã¿ÉÒÔÑ¡Ôñ²»Ìá½»Õâ¸ö¸ü¸Ä»òÊǺöÂÔËü¡£

Èç¹ûÄãÑ¡ÔñÁËDon’t CommitÕâ¸öÑ¡ÏС¶Ô¹´¾Í»á±»Ò»¸öÍ£Ö¹±ê־ȡ´ú£¬ÕâÏî¸ü¸Ä¾Í²»»á±»±£´æµ½Ô´ÖС£

Èç¹ûÄãÑ¡ÔñÁËDiscard ChangeÕâ¸öÑ¡Ï»áµ¯³öÒ»¸öÈ·ÈÏ´°¿Ú£¬ÌáʾÄãËù×öµÄ¸ü¸Ä»á±»»Ö¸´£¬²¢ÇÒÎÞ·¨È¡ÏûÕâ¸ö²Ù×÷¡£

Èç¹ûÄãµã»÷ÁËOK°´Å¥£¬ËùÑ¡ÇøÓòµÄ¸Ä±ä¾Í»áÏûʧ£¬¾ÍÏñËûÃÇ´Óδ³öÏÖ¹ýÒ»Ñù¡£

Èç¹ûÄã×Ðϸ¹Û²ìÉÏÃæÕâ¸öÌá½»´°¿Ú£¬Äã»á¿´µ½ÄãËù×öµÄËùÓÐÐ޸ͼ»á±»Xcode¿´×ö¸Ä±ä£¬¼´Ê¹ÊÇÒ»¸ö¿ÕÐС£Êµ¼ÊÉÏ¿ÕÐÐÏ൱Óڻسµ£¬ÔÚÆÁÄ»ÉÏÊDz»¿É¼ûµÄ£¬Òò´Ë×÷Ϊ¸Ä±äÒ²ÊÇÀíËùµ±È»µÄ¡£

ÔÚ±¾Àý×ÓÖУ¬Äã²»ÓúöÂÔÈκÎÐ޸쬶øÊÇÔÊÐíÌá½»ËùÓиü¸Ä£¬Òò´ËËùÓеĸıä±êÇ©ÅԱ߱ØÐë¶¼ÊÇС¶Ô¹´¡£

ÔÚÁ½¸ö´°¿ÚÏÂÃæÊÇÒ»¸ö¿Õ°×µÄÇøÓò£¬ÖмäÏÔʾÁËÌá½»¸ü¸ÄµÄÐÅÏ¢¡£Õâ¸öµØ·½¿ÉÒÔÌí¼ÓһЩ¹ØÓڴ˴θü¸ÄµÄ¼ò¶ÌÃèÊö£¬µã»÷Ëü£¬¼ÓÈëÈçÏÂÄÚÈÝ£º

ÊéдÓÐÒâÒåµÄÌá½»ÐÅÏ¢·Ç³£ÓÐÓã¬ÓÈÆäÊǵ±ÄãÆµ·±Ìá½»µÄʱºò¡£Òò´Ë£¬°ÑËüµ±×öÒ»¸ö±ØÒªµÄ²½Öè¡£

ÏÖÔÚÕâ¸ö´°¿ÚµÄ»ù±¾ÐÅÏ¢¿´µÄ²î²»¶àÁË£¬ÊÇʱºò×öÎÒÃǵÚÒ»´ÎµÄÌá½»ÁË¡£ÔÚÕâ¸ö´°¿ÚµÄÓÒϽţ¬ÓÐÒ»¸ö°´Å¥ÉÏÃæÐ´×Å£ºCommit 1 file¡£

Õâ¸ö°´Å¥»áÏÔʾÐèÒªÌá½»µÄÎļþ×ÜÊý¡£µã»÷ËüÖ®ºóÄãµÄµÚÒ»´ÎÌá½»¾ÍÍê³ÉÁË£¡´ò¿ªSource control > History£¬Äã»á·¢ÏÖËü»á±»ÏÔʾÔÚÁбíÖС£

´ÓÉÏͼÖпÉÒÔ¿´³ö£¬ÎÒÃDZàдµÄÐÅÏ¢ÒÔ¼°¸ü¸ÄµÄÎļþÊýÁ¿»á±»ÏÔʾ³öÀ´¡£XcodeÖ´ÐгõʼÌá½»£¬ËùÓÐÎļþ¶¼»á±»Ìύһϣ¬¶øÕâ´ÎÖ»ÓÐÎÒÃÇÐ޸ĵÄÄǸöÎļþ±»Ìá½»¡£

ÁíÍ⣬¹Ø±ÕÀúÊ·´°¿Ú£¬¿´Ò»ÏÂProject Navigator£¬Äã»á·¢ÏÖViewController.mÅԱߵÄM·ûºÅÒѾ­ÏûʧÁË¡£

ÏÖÔÚ£¬ÈÃÎÒÃÇ×¼±¸ÏÂÒ»´ÎÌá½»¡£Õâ´Î£¬ÎÒÃǸø¹¤³ÌÌí¼ÓһЩеÄÎļþ¡£Ìí¼ÓÎļþ×îºÃµÄ·½Ê½¾ÍÊÇ´´½¨¸öÐÂÀ࣬Òò´Ë£¬°´ÏÂCommand+N×éºÏ¼ü£¬Ìí¼ÓÒ»¸öObjective-CÀà¡£ÈÃÕâ¸öÀà¼Ì³ÐNSObjectÀ࣬ȡÃû½ÐTestClass£¬È»ºóÌí¼Óµ½¹¤³ÌÖС£

Íê³ÉÖ®ºó£¬×¢ÒâÒ»ÏÂProject Navigator£¬Äã»á·¢ÏÖÁ½¸öеÄÀàÎļþÅÔ±ßÓиöAµÄ×Öĸ±êʶ£¬ÕâÒâζ×ÅÕâЩÎļþÒѾ­±»Ìí¼Óµ½ÏîÄ¿ÖУ¬µ±È»£¬ËûÃÇ»¹Ã»Óб»Ìá½»¡£

´ò¿ªViewController.hÎļþ£¬µ¼ÈëÎÒÃǵÄÐÂÀࣺ

#import "TestClass.h"  

ÏÂÒ»²½£¬´ò¿ªViewController.mÎļþ£¬ÏñÏÂÃæÒ»ÑùÉùÃ÷Ò»¸ö˽ÓÐÊôÐÔ£º

@interface ViewController ()  
 
@property (nonatomic) int sum;  
 
@property (nonatomic, strong) TestClass *testClass;  
 
@end  

¿´Ò»ÏÂÏîÄ¿µ¼º½À¸£¬Õâ´ÎÓÐËĸöÎļþÓдýÌá½»¡£ÈÃÎÒÃÇ´ò¿ªSource Control > Commit²Ëµ¥£¬½«ËüÃÇÌá½»¡£

ÐèÒªÌá½»µÄÒ»¹²ÓÐ5¸öÎļþ¡£³ýÁË֮ǰÐ޸ĵÄËĸöÖ®Í⣬»¹ÓÐÒ»¸öÏîÄ¿ÅäÖÃÎļþ¡£Xcode»áÔÚÐÂÀà±»Ìí¼Óµ½ÏîÄ¿ÖÐÖ®ºó×Ô¶¯ÐÞ¸ÄÕâ¸öÎļþ¡£Èç¹ûÄãÄã´ò¿ªTestClass.h»òTestClass.mÎļþ£¬×ó±ßµÄ´°¿ÚûÓÐÈκÎÏÔʾ£¬ÈçÏÂͼËùʾ¡£

ÕâÊÇÒòΪÔÚÕâ¸öÎļþÔÚ֮ǰûÓб»Ìá½»µÄ¼Ç¼£¬Òò´ËûÓÐÒ»¸ö¿ÉÒԱȽϵİ汾£¬ÔÚÓÒ±ßÖ»ÏÔʾÁËFile was added¡£

ÔÚÏûÏ¢ÇøÐ´ÉÏÕâÑùÒ»¸öÃèÊö£ºTestClass was added to project.. Ö®ºóµã»÷Commit 5 files°´Å¥¼´¿É¡£

ÕâÑùµÚ¶þ´ÎÊÖ¶¯Ìá½»¾Í³É¹¦ÁË¡£Äã¿ÉÒÔµ½Source Control > History ²Ëµ¥²é¿´Ìá½»µÄ¼Ç¼¡£

°æ±¾Ö®¼äµÄ±È½Ï£¨Comparing Versions£©

µ±ÄãÌá½»ÁËͬһ¹¤³ÌµÄ²»Í¬°æ±¾Ö®ºó£¬ÔÚËûÃÇÖ®¼ä±È½Ï£¬×·×ÙÐÞ¸ÄÐÅÏ¢¾Í»á·Ç³£·½±ã¡£µ±ÐÂÌí¼ÓµÄ´úÂë²»ÄÜÔËÐÐʱ£¬ÕâʱÓëÖ®¼ä°æ±¾½øÐбȽϾͷdz£ÖØÒªÁË£¬Äã¿ÉÒÔ¿´³öа汾Ïà±ÈÉϸöÎȶ¨°æÓÐÁËÄÄЩ¸ü¸Ä¡£

Òª±È½Ïͬһ¸öÎļþµÄÁ½¸ö°æ±¾£¬Äã¿ÉÒÔʹÓÃView>Version Editor>Show version editor£¬»òÊǵã»÷¹¤¾ßÀ¸ÉϵÄVersion Editor°´Å¥£º

µã»÷Ö®ºó£¬±à¼­Æ÷»á·ÖΪÁ½À¸¡£×î³õ£¬Á½À¸»áÏÔʾÏàͬµÄÄÚÈÝ£¬µã»÷±à¼­Æ÷ÏÂÃæµÄÄǸöСʱÖÓͼ±ê£¬¿ÉÒÔÑ¡Ôñ֮ǰÒѾ­Ìá½»µÄ°æ±¾½øÐбȽϡ£

µã»÷Ö®ºó£¬Á½¸ö°æ±¾µÄÇø±ð»áÔڱ༭Æ÷ÖÐÏÔʾ³öÀ´¡£Í¨³££¬×ó±ßÏÔʾµÄÊǵ±Ç°°æ±¾µÄÎļþ£¬ÓÒ±ßÏÔʾµÄÊÇ֮ǰµÄ°æ±¾¡£À¶É«¸ßÁÁµÄÇøÓòÏÔʾÁ˱»¸ü¸ÄµÄ´úÂ룬Òò´Ë±È½Ï´úÂëµÄ±ä»¯·Ç³£ÈÝÒס£¼ÌÐøÑ¡ÔñÈκδËǰµÄ°æ±¾£¬²¢¹Û²ìÁ½À¸µÄÇø±ð¡£

Äã¿ÉÄÜ»á×¢Òâµ½£¬ÔÚÁ½¸ö±à¼­Æ÷Öм䣬»¹ÓÐÔÚÌá½»´°¿Ú¿´µ½µÄС±êÇ©¡£µã»÷Ïòϵݴť¿ÉÒÔÌø³öÈÃÄãºöÂÔ¸ü¸ÄµÄÑ¡Ïî¡£Èç¹ûÄãµã»÷Á˺öÂÔ¸ü¸Ä£¬Xcode»áÌáʾÄãÊÇ·ñͬÒâ¡£Èç¹ûÄãͬÒâºöÂÔ£¬ÕâЩ±»ºöÂԵĴúÂ뽫»áÓÀÔ¶Ïûʧ£¬ÎÞ·¨ÔÙÕÒ»ØÀ´¡£ËùÒÔҪעÒâ²»ÒªÎÞÒâÖкöÂÔÈκδúÂë¡£

³ýÁËÉÏÃæËµµ½µÄ·½·¨£¬»¹ÓÐÒ»ÖÖÄã»Øµ½Ö®Ç°°æ±¾µÄ·½·¨¡£Èç¹ûÄã×Ðϸ¹Û²ìÁ½¸ö±à¼­Æ÷ÏÂÃæµÄ¹¤¾ßÀ¸£¬ÔÚÖмäÓиö´ø¼ýÍ·µÄʱÖÓͼ±ê£º

µã»÷ËüÖ®ºó£¬Á½¸öÃæ°åÖ®¼äµÄ×ÝÁÐÄÚÈݾͷ¢ÉúÁ˸ı䣬±ä³ÉÁËһϵÁбíʾ֮ǰ¸ü¸ÄµÄʱ¼ä´Á¡£×¢Òâ²¢²»ÊÇËùÓеͼ´ú±íʵ¼ÊÌá½»¡£´ú±íÏÈǰ°æ±¾µÄÔ²½Ç¾ØÐεÄÊýÁ¿È¡¾öÓÚÌá½»µÄ´ÎÊý¡£ÔÚÕâ¸öÀý×ÓÖУ¬Ö»ÓÐÁ½¸öÕâÑùµÄͼÐΣ¬´ú±íÁËÁ½´ÎÌá½»¡£

ÔÚÕâÒ»ÁеÄÏÂÃæ£¬ÓÐÁ½¸ö¼ýÍ·¡£×ó±ßµÄÄǸöÊôÓÚ×ó±ßµÄÃæ°å£¬ÓұߵļýÍ·ÊôÓÚÓұߵÄÃæ°å¡£½«¼ýÍ·ÒÆ¶¯µ½ÈÎÒâ֮ǰµÄ°æ±¾£¬Äã»á¿´µ½ÔÚÏàÓ¦Ãæ°åÖеĸı䡣Èç¹ûÄãÏë±È½Ïµ±Ç°°æ±¾ºÍ֮ǰÈÎÒâ°æ±¾µÄÇø±ð£¬ÈÃÒ»¸ö¼ýÍ·Ö¸ÏòlocalÐУ¬È»ºóÒÆ¶¯µÚ¶þ¸ö¼ýÍ·¡£Ê±¼ä´Á´Óµ×²¿µ½¶¥²¿´ú±íÁË´Óе½¾ÉµÄ´úÂë¡£ÔÚbaseÐУ¬Äã»á¿´µ½ÉÏÒ»´ÎÌá½»µÄÄÚÈÝ¡£¼ÌÐøÏòÉÏÒÆ¶¯£¬Äã»á¿´µ½×î³õµÄÌá½»£¬ÈçÏÂͼËùʾ£º

ÏÖÔÚÄãÖªµÀÈçºÎ±È½Ï°æ±¾Ö®¼äµÄÇø±ðÁË¡£ÔÙ¼ÌÐøÉîÈë֮ǰ£¬°ÑÇ°ÃæÑ§Ï°µÄÁ·Ï°Ò»ÏÂÍæÍæ°É¡£

¾¿¾¹ÊÇË­µÄ´í£¿£¨Who’s Got the Blame£©

³ýÁ˱ȽÏÎļþµÄ°æ±¾Í⣬Xcode»¹¿ÉÒÔÈÃÄã×·×ÙÎļþµÄÌá½»Õߣ¬ÒÔ¼°ÊÇË­¸Ä±äÁËÄÄÒ»²¿·Ö´úÂë¡£ÔÚÒ»¸ö¶àÈ˵ÄÍŶÓÖУ¬Õâ·Ç³£ÓÐÓá£ÒªÊ¹ÓÃÕâ¸ö¹¦ÄÜ£¬µã»÷View > Version Editor > Show Blame View²Ëµ¥¡£»òÊǽ²Êó±ê·ÅÔÚ¹¤¾ßÀ¸µÄVersion editor °´Å¥ÉÏ£¬Ñ¡ÔñBlameÑ¡Ïî¡£Ò»¸öÓëÉÏÃæÀàËÆµÄ´°¿Ú½«»á³öÏÖ:

ÕýÈçÄã¿´µ½µÄ£¬µ±Ç°ÎļþÒÀ¾Ý²»Í¬µÄÌá½»±»Ë®Æ½Ï߷ֳɼ¸¶Î£¬Ã¿¸ö´úÂë¶ÎµÄ×÷Õߣ¬ÒÔ¼°Ìá½»ÐÅÏ¢ºÍÆäËûÐÅÏ¢ÏÔʾÔÚ´°¿ÚÓұߵÄÒ»¸öÌØÊâÃæ°åÖС£

Èç¹ûÄ㻹ûÓÐ×ö¹ý£¬ÄÇ×Ô¼º¶¯ÊÖ´ò¿ªÕâ¸öblameÊÓͼ£¬×¢ÒâÒ»ÏÂXcodeÕ¹ÏÖ´úÂë¶Î×÷Õߵķ½Ê½¡£ÔÚÕâ¸öÊÓͼÖУ¬¿ÉÒÔ·½±ãµØÕÒµ½Ä³Ò»´úÂëÔÚºÎʱ±»Ë­Ìá½»ÒÔ¼°ÆäËûÄãÏëÒªµÄÐÅÏ¢¡£½«Êó±ê·ÅÔÚblameÃæ°åÉÏ£¬½«»áÏÔʾÐ޸ĵÄһЩÆäËûÐÅÏ¢¡£µ±Ö¸ÕëÍ£ÔÚÌá½»¶ÎÉÏʱ£¬Ò»¸ö´øÍ¼Æ¬µÄС°´Å¥¾Í»á³öÏÖÔÚËüµÄÓұߡ£µã»÷Ñ¡ÖиöδúÂ룬¾Í»áµ¯³öÒ»¸ö¸½´øÌá½»ÐÅÏ¢´°¿Ú¡£ÔÚÕâ¸ö´°¿ÚÖУ¬Ä㻹¿ÉÒÔÌø×ªµ½±È½Ï´°¿Ú(indication #1)£¬ÒÔ¼°Ìض¨Ìá½»µÄÐÞ¸ÄÎļþ(indication #2)¡£

³ýÁ˱ȽÏÊÓͼºÍblameÊÔͼ£¬Æäʵ»¹ÓÐÒ»¸öÈÕÖ¾ÊÓͼ£¨Log view£©¡£Äã¿ÉÒÔͨ¹ýView > Version Editor > Show Log ViewÀ´´ò¿ªËü¡£»òÕßÈç¹ûÄãÔÚÕâÀï¾Í²»ÔÚÏêϸ˵ËüÁË¡£Äã¿ÉÒÔ×Ô¼ºÈ¥¿´¿´£¬±Ï¾¹Õâ¸öÓÃÆðÀ´Ò²Ã»ÄÇô¸´ÔÓ¡£

·ÖÖ§£¨Branches£©

ÊÔÏëһϣ¬ÄãÏÖÔڵŤ³ÌÓÐÒ»¸ö¼´½«·¢²¼µÄ°æ±¾£¬»òÊÇÒѾ­·¢²¼µÄ°æ±¾£¬ÄãͻȻÏëÌí¼ÓһЩеÄÌØÐÔ£¬ÈçºÎ·ÀÖ¹ÕâЩÐÂÌí¼ÓµÄ´úÂëÈÃÕû¸öÏîÄ¿ÏÝÈë̱»¾ÄØ£¿´ð°¸ºÜ¼òµ¥£ºÄãÐèҪʹÓ÷ÖÖ§¡£

ÈçºÎ¼òµ¥µÄÀí½â·ÖÖ§ÄØ£¿Äã¿ÉÒÔ°ÑÄãµÄÏîÄ¿ÏëÏó³ÉÒ»¿ÃÊ÷£¬Îȶ¨°æ±¾¾ÍÊÇÊ÷µÄÖ÷¸É¡£ÈκÎÌí¼Óй¦Äܵİ汾¶¼±ØÐëÊÇÊ÷¸ÉµÄÒ»²¿·Ö¡£·ÖÖ§£¬¾ÍÏñÊÇÊ÷µÄÖ¦¸É£¬Ëü´ÓÊ÷¸ÉÉú³¤³öÀ´£¬Ïò²»Í¬µÄ·½ÏòÉú³¤¡£ÔÚgitÖУ¬Äã¿ÉÒÔͨ¹ý´´½¨·ÖÖ§À´ÎªÄãµÄ´úÂëÉèÖÃÒ»¸öеķ¾¶À´ÊµÏÖÐÂÌØÐÔ£¬¶ø²»Óõ£ÐÄÔÚ¿ª·¢ÖÐÆÆ»µÖ÷¸É¡£

ʵ¼ÊÉÏ£¬ÔÚgitÖÐĬÈ϶¼»áÓÐÒ»¸ö·ÖÖ§£¬½Ð×ömaster¡£Xcode×Ô¶¯Ö´ÐеĵÚÒ»´ÎÌá½»Öоͷ¢ÉúÔÚÕâ¸ö·ÖÖ§ÖС£Í¨³££¬µ¥¶ÀµÄ¿ª·¢ÕßÖ»ÔÚmasterÕâ¸ö·ÖÖ§¿ª·¢£¬ÕâÆäʵ²»ÊÇÒ»¸öºÃϰ¹ß¡£ÎÞÂÛÄãÊǵ¥´ò¶À¶·»¹ÊÇ×éÍźÏ×÷£¬ÎÒÈÏΪÔÚ¶ÔÏîÄ¿×÷³öÖØ´ó¸Ä±ä»òÌí¼ÓÖØ´ó¹¦ÄÜʱ£¬Ê¹Ó÷ÖÖ§ÊÇÊ®·ÖÖØÒªµÄ£¬Ëü»áΪÄã±ÜÃâºÜ¶àÂé·³¡£µ±È»£¬ÔÚÍŶÓÏîÄ¿ÖУ¬ÎªÄã×Ô¼º¸ºÔ𲿷ֵĴúÂë¸ãÒ»¸ö·ÖÖ§¼¸ºõÊDZØÐëµÄ¡£

¹ØÓÚ·ÖÖ§£¬Äã±ØÐë¼ÇסÒÔÏÂÁ½µã£º
1. Ìá½»µ½App Store»ò¿Í»§µÄ×îÖÕ²úÆ·±ØÐëÊÇÏîÄ¿ÖеÄmaster·ÖÖ§ÏîÄ¿¡£
2. ÈκÎÔÚµÚ¶þ·ÖÖ§ÖÐʵÏֵĴúÂë»òÕß¹¦ÄÜ×îÖÕ¶¼±ØÐëºÏ²¢µ½master·ÖÖ§£¬ÕâÑùÕýʽ·¢²¼µÄÓ¦ÓóÌÐò²ÅÊÇÍêÕûµÄ¡££¨ÒÔºóÔÙ½²ÕâÒ»µã£©

µ±Ä㿪ʼһ¸öзÖ֧ʱ£¬Äãʵ¼ÊÉÏÊÇÒÔµ±Ç°¹¤×÷״̬×÷ΪÆðµã£¬¼´Ê¹ÄãÓÐÈκÎδÌá½»µÄ¸ü¸Ä¡£´ÓÕâ¸öʱºòÆð£¬ËùÓеĸı䶼»áÖ»ÌåÏÖÔÚ·ÖÖ§ÖС£

ÏÖÔÚÈÃÎÒÃǻص½Xcode£¬Òª´´½¨Ò»¸ö·ÖÖ§£¬µã»÷Source Control > GitDemo-master > New Brance…Õâ¸ö²Ëµ¥£¬È»ºó»áµ¯³öÈçϲ˵¥£º

ΪÕâ¸ö·ÖÖ§ÆðÒ»¸öÃû×Ö£¬ÎҾͰÑËüÆðÃûΪAnotherBranchºÃÁË¡£ÏÖÔÚÄãÔõô¸øËüÆðÃûÆäʵ¶¼ÎÞËùν¡£µã»÷OK°´Å¥£¬µÈÒ»ÏÂеķÖÖ§¾Í»á±»´´½¨£¬¶øµ±Ç°µÄ´úÂëÒ²»á¸´ÖƵ½Ð·ÖÖ§ÖÐÈ¥¡£

´ò¿ªSource Control²Ëµ¥£¬Äã¾Í¿ÉÒÔÇáËɵØÕÒ³ö»î¶¯·ÖÖ§ÊÇÄÄÒ»¸ö£ºËü¾ÍÔÚÏîÄ¿Ãû×ÖµÄÅԱߡ£

ÏÖÔÚ£¬ÈÃÎÒÃÇ×öÒ»´ÎеķÖÖ§µÄÌá½»¡£ÔÚÕâ֮ǰ£¬ÈÃÎÒÃÇÌí¼ÓһЩеĴúÂë¡£´ò¿ªÀàÎļþ£¬ÔÚ˽ÓÐÊôÐÔÇøÌí¼ÓÒÔÏ·½·¨ÉùÃ÷£º

@interface ViewController ()  
 
...  
 
-(void)sayHello;  
 
@end  

 È»ºóʵÏÖËü£º

-(void)sayHello{  
    NSLog("Hello");  
}  

×îºó£¬ÔÚviewDidLoadÖе÷ÓÃËü£º

- (void)didReceiveMemoryWarning  
{  
    ...      
 
    [self sayHello];  
}   

ÏÖÔÚ£¬µã»÷Source Control > Commit²Ëµ¥£¬°æ±¾±È½Ï´°¿Ú½«»á³öÏÖ£¬Äã»á¿´µ½Ö»ÓÐÒ»¸ö±»Ð޸ĹýµÄÎļþ--ViewController.mÎļþ£¬ÐÂÌí¼ÓµÄ²¿·Ö»á±»¸ßÁÁÏÔʾ¡£

ÊäÈëÏÂÒ»¸öÌá½»ÐÅÏ¢£ºFirst commit to a new branch£¬È»ºóµã»÷commit 1 file°´Å¥¡£ÏÖÔÚAnotherBrance·ÖÖ§µÄ¸Ä±ä¾Í»á±»Ìá½»ÁË¡£

´ò¿ªVersion Editor(menu View > Version Editor > Show Version Editor)£¬ÕÒµ½ÓÒ±ß±à¼­Ãæ°åÏÂÃæµÄ¹¤¾ßÀ¸£¬Äã»á¿´µ½±»Ñ¡ÖеķÖÖ§ÊÇAnotherBranch£¬µã»÷Ëü£¬Äã»á¿´µ½Õâ¸ö·ÖÖ§ºÍmaster·Ö֧ͬʱ³öÏÖ£¬´Ómaster·ÖÖ§ÖÐÑ¡ÔñÈÎÒâ°æ±¾£¬Xcode¶¼»á¸ßÁÁÏÔʾÁ½ÕßÖ®¼äµÄÇø±ð¡£Í¨¹ýÕâÑù£¬Äã¿ÉÒÔ·½±ãµØ¸ú×ÙËùÓзÖÖ§¼ä´úÂëµÄ¸Ä±ä¡£

×îºó£¬Çл»µ½ÁíÒ»¸ö·ÖÖ§£¬»òÊÇmaster·ÖÖ§£¬Äã¿ÉÒÔµã»÷Source Control > GitDemo –AnotherBranch > Switch to Branch…²Ëµ¥¡£

´ÓÕâ¸ö´°¿ÚÄã¿ÉÒÔÑ¡ÔñÏëÒªÌø×ªµÄ·ÖÖ§£¬ÔÚÕâÀïÈÃÎÒÃÇÌø»Ømaster·ÖÖ§£º

Ñ¡ÔñËü²¢µã»÷Switch°´Å¥£¬master·ÖÖ§¾Í»á³ÉΪµ±È»»î¶¯·ÖÖ§¡£Äã»á·¢ÏÖÔÚAnotherBranchÖÐ×ö³öµÄ¸Ä±ä²¢Ã»ÓгöÏÖÔÚmaster·ÖÖ§¡£ºÜºÃ£¬ÎÒÃÇÔÚ¹ÜÀí¹¤³ÌÍÆ½øµÄͬʱ£¬È´Ã»ÓÐÐÞ¸ÄÎȶ¨°æ±¾¡£

ºÏ²¢·ÖÖ§£¨Merging Branches£©

ÔÚ·ÖÖ§ÖнøÐпª·¢ÊÇÒ»ÖÖºÃϰ¹ß£¬È»¶ø£¬Èç¹û´úÂë¸Ä±äÒªÌåÏÖÔÚ·¢ÐаæÖУ¬ÄÇô·ÖÖ§¾Í±ØÐë±»ºÏ²¢µ½master·ÖÖ§ÖС£ÕâÒ»½ÚÎÒÃǽ«»á¸æËßÄãÔõÑùºÏ²¢ËüÃÇ¡£ÔÚXcodeÀ½«Á½¸ö·ÖÖ§ºÏ²¢³ÉÒ»¸ö·Ç³£¼òµ¥¡£

ÈÃÎÒÃÇ×öÒ»¸öСʵÑéÀ´¿´¿´ºÏ²¢ÊÇÔõÑù¹¤×÷µÄ¡£Ê×ÏÈ£¬È·±£master·ÖÖ§ÊÇÏÖÔڵĻ·ÖÖ§¡£Èç¹û²»ÊÇ£¬¸Ï½ô¸Ä¹ýÀ´£ºSource Control > GitDemo – AnotherBranch > Switch To Branch… menu£¬²¢´Óչʾ´°¿ÚÑ¡Ôñmaster·ÖÖ§¡£

ÏÂÒ»²½£¬´´½¨Ò»¸öеķÖÖ§£ºSource Control > GitDemo – master > New Branch… menu£¬ÃüÃûΪLastBranch

ÏÈÈÃXcode·ÉÒ»»á£¬È»ºó£¬µ½ViewController.mÎļþÖУ¬ÔÙ´´½¨Ò»¸ö˽Óз½·¨£¬Ê×ÏÈÉùÃ÷Ëü£º

@interface ViewController ()  
 
...  
 
 
-(void)sayByeBye;  
 
@end  

È»ºóʵÏÖËü£º


                      
-(void)sayByeBye{  
    NSLog("Bye - Bye");  
}  

×îºó£¬ÔÚViewDidLoad·½·¨Öе÷ÓÃËü£º

- (void)viewDidLoad  
{  
    ...      
 
    [self sayByeBye];  
}  

Ôںϲ¢Ö®Ç°£¬ÏÈÌá½»ÕâЩ¸ü¸Ä¡£Ê¹ÓÃSource Control > Commit²Ëµ¥À´Ö´ÐÐÌá½»¡£

ÖÕÓÚ»¹ÊÇÀ´µ½ÕâÒ»²½£¬¹ØÓÚ°ÑÁ½¸ö²»Í¬µÄ·ÖÖ§ºÏ²¢³ÉÒ»¸ö£¬ÄãÓÐÁ½ÖÖÑ¡Ôñ“
1. ´Ó·ÖÖ§ºÏ²¢£ºÓëÄãÑ¡ÔñµÄ·ÖÖ§Ïà¹ØµÄÈκθı䶼»á±»ºÏ²¢µ½ÏÖÔڻ·ÖÖ§ÖС£
2. ºÏ²¢µ½·ÖÖ§£ºµ±Ç°»î¶¯·ÖÖ§µÄÈκθı䶼»á±»ºÏ²¢µ½ÄãÑ¡ÔñµÄ·ÖÖ§ÖС£

ÕâÁ½ÖÖ·½Ê½Äã¶¼¿ÉÒÔÔÚSource Control > GitDemo ²Ëµ¥ÖÐÕÒµ½¡£×¢Òâµ±ÄãµÄ»î¶¯·ÖÖ§ÊÇmaster·Ö֧ʱ£¬µÚ¶þ¸öÑ¡ÏîÊDz»¿ÉÑ¡µÄ¡£

¼ÙÉèÒ»¸ö¿ª·¢ÕßÔÚAnotherbranch·Ö֧ʵÏÖÒ»¸ösayHello·½·¨£¬ÁíÍâÒ»¸ö¿ª·¢ÕßÔÚLastBranchÖд´½¨ÊµÏÖÁËsayByeBye·½·¨£¬ÏÖÔÚÄãÐèÒª½«Á½¸öÈ˵Ť×÷ºÏ²¢µ½ÏÂÒ»¸öÎȶ¨°æ±¾ÖУ¬ÏëÒ»ÏëÄãÐèÒªÔõô×ö£¿ºÜ¼òµ¥£¬°´ÒÔÏ·½·¨½«¸Ä±ä´ÓÁ½¸ö·ÖÖ§Öкϲ¢½øÀ´£º

Ê×ÏÈ£¬È·±£µ±Ç°»îÔ¾·ÖÖ§ÊÇmaster·ÖÖ§¡£

È»ºó£¬´ò¿ªSource Control > GitDemo – master > Merge From Branch…²Ëµ¥£¬Ñ¡ÔñAnotherBranchÈ»ºóµã»÷Merge°´Å¥¡£

½ÓÏÂÀ´»á³öÏÖÒ»¸ö±È½Ï´°¿Ú£¬ÔÚÀïÃæÄã»á¿´µ½ºÏ²¢Ö®ºó´úÂëµÄ¸ü¸Ä£¬¿´Ò»ÑÛ£¬¸Ð¾õ²î²»¶àÁ˾ÍÔÙµã»÷Merge°´Å¥¡£

Xcode»áѯÎÊÄãÊÇ·ñ±£´æÏîÄ¿µÄ¿ìÕÕ£¬µã»÷Enable°´Å¥¡£ÈÃXcode·ÉÒ»»á£¬È»ºó¾ÍºÃÀ²¡£AnotherBranchÀïÃæÌí¼ÓµÄÄÚÈÝÒѾ­ºÏ²¢µ½master·ÖÖ§ÖС£

ʹÓÃͬÑùµÄ·½·¨À´ºÏ²¢LastBranch¡£Äã»á·¢ÏÖÈç¹ûÄã²»Ìá½»¸ü¸Ä£¬Xcode²»»áÈÃÄãÔٴκϲ¢¡£ÓÚÊÇ£¬ÎÒÃÇÖ»ºÃÏÈÌύһϡ£ÔڱȽϴ°¿ÚÄã»á·¢ÏÖÒ»¸öºìÉ«µÄÇøÓòÏÔʾºÏ²¢Ö®ºóµÄ¸ü¸Ä£¬¶ø²»ÊÇ֮ǰµÄÀ¶É«¡£ÕâÒâζ×Å·ÖÖ§ÖеĴúÂ뽫»áÌæ»»Ô­ÏȻ·ÖÖ§ÖеĴúÂë¡£

Äã¿ÉÒÔÇáËɵرÜÃâÕâÖÖÏÖÏóµÄ·¢Éú¡£ÔÚ±à¼­Ãæ°åµÄÏÂÃæÓм¸¸öС°´Å¥£¬Äã¿ÉÒÔÊÔÊÔËûÃǶ¼ÓÐʲô×÷Óã¬ÎÒÑ¡Á˵ÚÒ»¸ö£¬ËüµÄÒâ˼ÊÇmaster·ÖÖ§µÄ´úÂë»á±»·ÅÔÚÉÏÃæ£¬ÁíÒ»¸ö·ÖÖ§µÄ´úÂë»á¸úÔÚËüºóÃæ¡£

´¦Àí½ÓÏÂÀ´ËùÓÐÐèÒª¸ü¸ÄµÄ´úÂ룬²»ÒªÓÐÒÅ©¡£Íêʺó¾Íµã»÷Merge°´Å¥¡£

¹§Ï²Ä㣡ÄãÒѾ­³É¹¦µÄѧ»á´Ó¶à¸ö·ÖÖ§ºÏ²¢ÁË´úÂ룬ÀàËÆµÄÇéÐÎÄãÒ²Ó¦¸Ã»áÁË¡£

ºöÂÔ¸ü¸Ä£¨Discarding Changes£©

·ÅÆú²»ÏëÒªµÄ´úÂë¸ü¸Ä¹¦Äܷdz£ÓÐÓã¬Ö»ÐèÇáÇáÒ»µã£¬×Ô´ÓÉÏÒ»´ÎÌá½»Ö®ºóµÄ¸ü¸Ä¶¼»á±»·ÅÆú¡£µ±ÄãÔÚ¿ª·¢¹ý³ÌÖз¢ÏÖ³öÁË´óÂÒ×Ó£¬ÄãÏë´ÓÉÏÒ»¸öÎȶ¨×´Ì¬ÖØÐ¿ªÊ¼Ê±£¬Õâ¸ö¹¦ÄܾÍÅÉÉÏÓó¡À²¡£×¢Òâ·ÅÆú¸ü¸ÄÕâ¸ö¹¦ÄÜûÓлØÍ·Â·£¬µãÍêÖ®ºóÄã¾ÍûÓа취ÔÙ³·ÏúÕâ¸ö²Ù×÷£¬ËùÒÔ£¬ÒªÐ¡ÐÄʹÓ𡣡

֮ǰ£¬µ±ÎÒÃÇÔÚÌÖÂÛ°æ±¾±È½Ïʱ£¬ÎÒÃÇѧ»áÁËÈçºÎºöÂÔijһ²¿·Ö¸ü¸ÄµÄ·½·¨£¬ÏÂÃæ£¬ÎÒÃÇҪѧһÏÂÈçºÎһϺöÂÔ×Ô´ÓÉÏÒ»´ÎÌá½»Ö®ºóµÄËùÓиü¸Ä¡£

ΪÁ˲âÊÔÕâ¸ö¹¦ÄÜ£¬Ê×ÏÈдһЩ´úÂë´ò¿ªViewController.h £¬Ìí¼ÓÒ»¸ö¹«¹²·½·¨ÉùÃ÷£º

@interface ViewController : UIViewController  
 
-(void)aVeryCoolMethod;  
 
@end  

ÏÖÔÚ£¬ÈÃÎÒÃÇÔÚViewController.mÖÐÌí¼ÓÒ»¸öÕâ¸ö·½·¨µÄʵÏÖ£¬¼òµ¥µã¾ÍÐУº

-(void)aVeryCoolMethod{  
    NSLog("I'm feeling that you'll discard me... Really?");  
}   

Èç¹ûÄã×¢Òâµ½Project Navigator£¬ÎÒÃǸոոü¸ÄµÄÎļþÅÔ±ßÓÐÁËÒ»¸öM±êʶ£¬ºÜºÃ£¬ÎÒÃÇÏë¿´¿´Èç¹ûºöÂÔÕâЩ¸ü¸Ä£¬ÕâЩÎļþÊÇ·ñ»á»Øµ½¸ü¸Ä֮ǰµÄ״̬¡£

ÕâÀïÓÐÒ»¸öÖØÒªµÄϸ½Ú£ºÄã¿ÉÒÔÑ¡ÔñºöÂÔËùÓÐÎļþµÄ¸ü¸Ä£¬Ò²¿ÉÒÔÑ¡ÔñºöÂÔµ¥¸öÎļþµÄ¸ü¸Ä£¬ÕâÍêȫȡ¾öÓÚÄã¡£Èç¹ûÄãÏëºöÂÔÒ»¸öÎļþµÄ¸ü¸Ä£¬Ê×ÏÈÑ¡¶¨Õâ¸öÎļþ¡£ÔÚÕâ¸öÀý×ÓÀÈç¹ûÄãֻѡÔñViewController.mÎļþÈ»ºó´ò¿ªSource Control²Ëµ¥£¬Äã»áÔÚViewController.mÖз¢ÏÖDidcard ChangesÕâ¸öÑ¡Ïî¡£ÀàËÆµÄ£¬Èç¹ûÄãֻѡÔñViewController.hÒ²ÊÇÒ»¸öµÀÀí¡£È»¶ø£¬Èç¹ûÄãÏëºöÊÓÕâÁ½¸öÎļþµÄ¸ü¸Ä£¨ÕâÀï¼Ù¶¨ÓÐÁ½¸öÒÔÉϵĸü¸Ä£©£¬¾ÍÔÚProject NavigatorÖÐÑ¡ÖÐËüÃÇ£¬È»ºóÔÙ´ò¿ªSource Control²Ëµ¥¡£ÏàÓ¦µÄλÖþͻáÏÔʾDiscard Changes in 2 Files£¬ÏñÏÂÃæÕâÑù£º

È»¶ø£¬Õâ´ÎÎÒÃDz»»áʹÓÃÕâ¸ö°´Å¥£¬ÎÒÃÇÒªÓÃDiscard All Changes¡£µã»÷ËüÖ®ºó£¬Ò»¸öÈ·¶¨Ìáʾ¿ò¾Í»á³öÏÖ£¬ÕâÊÇÕⲿ·ÖXcode·ÀÖ¹ÄãÎóɾ´úÂëµÄΨһ´ëÊ©¡£

µã»÷Discard All Changes, ÄÇÄã¸Õ²ÅдµÄÄǸö¹«¹²·½·¨¾ÍÓÀÔ¶ÊôÓÚ¹ýÈ¥ÁË¡£¿´µ½Á˰ɣ¬Ö»Ð輸²½¾Í¿ÉÒÔÈÃÄã´Óµ±Ç°¹¤×÷״̬»Ö¸´µ½Ö®Ç°µÄÌá½»£¬ËùÒÔÎÒÔÙÒ»´ÎÌáÐÑÄãÒªÔÚʹÓÃSource Control ÖÐСÐĵ㣬±ðÎóµãÁËÕâ¸ö°´Å¥¡£

×ܽá

ͨ¹ýÕâÆª½Ì³Ì£¬ÎÒ¾¡Á¦ÏêÊöÁËÔÚXcodeÖнøÐа汾¿ØÖƵķ½·¨¡£ÆäʵÔÚÄ»ºó£¬ÕæÕýÆð×÷ÓõÄÊÇgit----µØÇòÉÏÓ¦ÓÃ×î¶àµÄ°æ±¾¿ØÖÆÏµÍ³¡£Äã¿ÉÄÜ×¢Òâµ½ÎÒÔڽ̳ÌÖв¢Ã»Óйý¶àµÄÌáµ½GitHub»òÕßÈκÎXcodeµÄһЩ¹¦ÄÜ----ÆäʵÎÒÊǹÊÒâÕâÑùµÄ¡£ÎÒÏë°Ñ×¢ÒâÁ¦¼¯ÖÐÔÚʹÓÃXcode½øÐÐgit¹ÜÀíµÄÄÚÈÝÉÏ¡£Ö»Óе±Äã¶®µÃÁËÈçºÎ½øÐа汾¿ØÖÆÖ®ºó£¬²ÅÄÜÕæÕýµÄʹÓÃGitHub¡£ÎÒÏëÔÙÖØÉêһϣ¬Èç¹ûÄãÊÇÒ»¸öÍŶÓÔÚ¹¤×÷£¬Ê¹Óð汾¿ØÖƹ¤¾ßÊDZØÐëµÄ£¡Èç¹ûÄãÊǵ¥´ò¶À¶·£¬Ê¹Óð汾¿ØÖƹ¤¾ßÒ²ÊǺÜÓбØÒªµÄ£¬Ëü¿ÉÒÔΪÄ㻨´óÁ¿Ê±¼äºÍ¾«Á¦Ëù×öµÄ¹¤×÷Ìṩ±£ÕÏ£¬²¢ÇÒÔÚÄãÌí¼Óй¦ÄÜʱ¿É¼òµ¥µØ½øÐÐÀ©Õ¹¡£Õâ¸ö¹¤¾ß¾ÍÏñÓÐЩÈË˵µÄÄÇÑù£¬Ò»µ©ÓÃÁË£¬¾ÍÔÙÒ²»Ø²»È¥ÁË£¡×îºó£¬ÎÒÏ£ÍûÕâ¸ö½Ì³Ì»á¶ÔÄãÓÐÓá£

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

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

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

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

Èí¼þÅäÖùÜÀíµÄÎÊÌ⡢ĿµÄ
Èí¼þÅäÖùÜÀí¹æ·¶
CQWeb 7.1ÐÔÄܲâÊÔÓëµ÷ÓÅÖ¸ÄÏ
ΪʲôÐèҪʹÓÃClearCase
ClearCaseÓëRTCµÄ¼¯³É
ÀûÓÃClearQuest ½øÐвâÊÔ¹ÜÀí


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


ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
ͨºÅÔº ÅäÖùÜÀí¹æ·¶ÓëÓ¦ÓÃ
ÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¤·ð˹ ClearCaseÓëÅäÖùÜÀí
ÖйúÒÆ¶¯ Èí¼þÅäÖùÜÀí
ÖйúÒøÐÐ Èí¼þÅäÖùÜÀí
Ìì½ò»ªÒíÀ¶Ìì¿Æ¼¼ ÅäÖùÜÀíÓëPvcs