ÎÒÔÚÇ°Ãæ¼¸ÆªÎÄÕÂÖÐÏêϸ½éÉÜÁËGitÃüÁîÐеÄʹÓá¶GitѧϰÔý¼Ç¡·¡¶GitѧϰÔý¼Ç¡ª¡ª½ø½×¡·£¬ÒÔ¼°Ê¹ÓÃXcodeÖÐ×Ô´øµÄGit¿ÉÊÓ»¯¹¤¾ßµÄʹÓá¶XcodeÖÐgitµÄʹÓ÷½·¨½éÉÜÓë"Please
tell me who you are"ÎÊÌâµÄ½â¾ö·½°¸¡·¡£¶ÔÓÚGitµÄ³õѧÕߣ¬¸öÈ˽¨ÒéÏÈѧϰGitÃüÁîÐУ¬È»ºóÔÙȥʹÓÃͼÐλ¯¹¤¾ß£¬ÕâÑù²Å»á¶ÔÕû¸öGitµÄ¹¤×÷Á÷ÓÐÒ»¸öÍêÕûµÄÁ˽⡣½ñÌìÎÒÃÇÒªÀ´Ñ§Ï°µÄ¹¤¾ßÊÇSourceTree£¬Ò»¿î·Ç³£ºÃÓõÄGit¿ÉÊÓ»¯¹¤¾ß¡£ÎÒ½ñÌìµÄ²Ù×÷¶¼½«ÔÚMacÉϽøÐУ¬²¢ÇÒÒÔiOSÏîÄ¿×÷ΪÑÝʾ¡£ÒòΪ¶ÔÓÚʹÓÃGitµÄ¹«Ë¾£¬SourceTree»¹ÊǷdz£Á÷Ðеġ£¶ÔÓÚGit»¹²»Á˽âµÄ¿ª·¢Õߣ¬½¨ÒéÏÈ¿´¿´ÎÒÉÏÃæµÄ¼¸Æª²©¿Í¡£
£¨1£©ÔÚÕâÀÎÒÃǰÑÔ¶³Ì²Ö¿â´î½¨ÔÚGithubÉÏÃæ£¬ÏÖÔÚÎÒµÄÔ¶³Ì²Ö¿âΪ£º https://github.com/chenyufeng1991/UseSourceTree
¡£
£¨2£©´ò¿ªSourceTree£¬µã»÷New Repository-->Clone from URL,
È»ºó¸´ÖÆ²Ö¿âµØÖ· https://github.com/chenyufeng1991/UseSourceTree.git
µ½SourceTreeÖеÄSource URLÖУ¬±¾µØ²Ö¿âµÄλÖúÍÃû³Æ¿ÉÒÔËæÒâÐ޸ġ£Èçͼ£ºµã»÷clone¼´¿É¡£ÕâÑù¾ÍÄܰÑÔ¶³Ì²Ö¿âÖеÄÏîÄ¿cloneµ½±¾µØÁË¡£

£¨3£©cloneÏîÄ¿Íê³Éºó£¬SourceTreeÖп´µ½ÈçÏ£º
ÉÏÃæµÄÈÎÎñÀ¸·Ö±ðÓÐcommit£¨Ìá½»£©¡¢Pull£¨¸üдúÂ룩¡¢Push£¨ÍÆËÍ´úÂ룩¡¢Fetch£¨×¥È¡´úÂ룩£¬Branch£¨Ð½¨·ÖÖ§£©¡¢Merge£¨ºÏ²¢´úÂ룩¡¢Stash£¨ÔÝ´æ´úÂë״̬£©¡£
×ó²àÖеÄWORKSPACE±íʾ±¾µØµÄ¹¤×÷Çø£¬file statusÖпÉÒÔ¿´µ½±¾µØÎļþµÄ¸Ä±ä״̬£¬HistoryÖÐÊÇcommitÀúÊ·¡£ÏÂÃæµÄBRANCHESÏÔʾµÄÊDZ¾µØµÄ·ÖÖ§¡£REMOTESÏÔʾµÄÊÇÔ¶³ÌµÄ·ÖÖ§¡£
Ï·½µÄ״̬À¸ÏÔʾ±¾´ÎÌá½»µÄÐÞ¸ÄÎļþ¡£ÒÔ¼°ÐÞ¸ÄÎļþÖÐÐ޸ĵĴúÂë¡£

£¨4£©Èç¹ûÉÏÊöÊDZðÈ˵ÄÒ»¸öÏîÄ¿£¬ÄÇô´ËʱÄã¾Í¿ÉÒÔÔÚ±¾µØ½øÐпª·¢ÁË¡£µ«ÊÇÈç¹ûÊÇÄã×Ô¼ºÒªÔÚÔ¶³Ì´´½¨×Ô¼ºµÄÏîÄ¿£¬ÄÇôÏÂÃæÄãÒªÔÚ±¾µØÏÈ´´½¨Ò»¸öÏîÄ¿¡£ÎÒÒÔXcode´´½¨Ò»¸öiOSÏîĿΪÀý£¬ÎÒ´´½¨µÄÏîÄ¿Ãû³ÆÎªUseSourceTree_iOS.
È»ºó°Ñ¸ÃÏîÄ¿ÍÏÈëµ½cloneÏÂÀ´µÄ±¾µØ²Ö¿âÖС£ÍÏÈëÍê³Éºó£¬SourceTree¾ÍÏÔʾÈçÏ£º 
¿ÉÒÔÔÚSourceTreeÖпÉÒÔ¿´µ½¹¤×÷ÇøÖеĸı䣬±ÈÈçÄÄЩÎļþ±»Ð޸ģ¬ÒÔ¼°Ð޸ĵÄÄÚÈÝ¡£
£¨5£©±¾µØ×öÁËÐ޸ĺ󣬿ÉÒÔ¿´µ½Îļþ¶¼»¹ÊÇÔÚUnstaged filesÖУ¬¹´Ñ¡ÄãÒªÌá½»µÄÎļþ£¬È»ºóÎļþ¾Í»áµ½Staged
fileÖУ¬Õâ¸ö²Ù×÷¶ÔÓ¦µÄÃüÁî¾ÍÊÇgit add ,¼´°ÑÎļþ´Ó¹¤×÷Çø·Åµ½ÔÝ´æÇø¡£²Ù×÷Íê³Éºó£¬ÈçÏÂËùʾ£º 
£¨6£©´Ëʱ¾Í¿ÉÒÔ½øÐÐcommit²Ù×÷ÁË¡£µã»÷×óÉϽǵÄcommit¡£ÔÚcommitµÄʱºòÇ¿ÁÒÍÆ¼öдÉÏ×¢ÊÍ¡£ 
Íê³ÉcommÖ®ºó£¬Ìá½»ÀúÊ·¾Í»á±ä³ÉÈçÏÂËùʾ¡£1 ahead±íʾ±¾µØÌá½»±ÈÔ¶³ÌÌá½»ÁìÏÈÒ»´Îcommit¡£ 
À´µ½²»Í¬µÄ·ÖÖ§£¬±ÈÈçmaster·ÖÖ§£¬µã»÷²»Í¬µÄcommit History£¬¿ÉÒԲ鿴µ½ÎļþµÄÐ޸ģ¬·Ç³£µÄ·½±ã¡£¿ÉÊÓ»¯¹¤¾ß¶ÔÓÚcode
review·Ç³£ÓÐÀû¡£ 
£¨7£©±¾µØÍê³ÉcommitÖ®ºó£¬¾ÍÐèÒªÏòÔ¶³Ì²Ö¿âÌá½»´úÂëÁË¡£¸öÈ˽¨Ò飬ÔÚPush֮ǰ£¬ÏȽøÐÐPull¡£
µ«ÊÇҪעÒ⣬pull = fetch + merge£¬ÄãÀÈ¡´úÂëµÄʱºòÑ¡ÔñµÄÊÇpull»¹ÊÇfetch£¬»¹ÊÇʹÓÃrebase£¬Õâ¸öÒª¸ù¾ÝÄãµÄ¸öÈËϰ¹ß£¬×îÖ÷ÒªµÄÊÇÒª¸ù¾ÝÄãÍŶӵÄGit¹¤×÷Á÷À´²Ù×÷¡£¸öÈ˵Ľ¨ÒéÊÇÓÃgit
pull --rebaseÃüÁÏ൱ÓÚʹÓÃgit fetch + git rebaseÃüÁ¶ø²»ÊÇʹÓÃmerge£¬ÕâÖ÷ÒªÊÇΪÁ˱£³ÖÊ÷½á¹¹ºÍÀúÊ·µÄ¸É¾»£¨ÍƼöÈ¥Á˽âÒ»ÏÂgit
merge ºÍgit rebaseµÄÇø±ð£©¡£
µã»÷ÉÏ·½µÄPullÀÈ¡´úÂë¡£ 
ÔÚ½øÐÐPUllµÄʱºò£¬¿ÉÒÔÑ¡ÔñÔ¶³ÌµÄ·ÖÖ§£¬Í¬Ê±Èç¹û¹´Ñ¡ÁË×îºóÒ»¸ö¡°Rebase instead of
merge¡±£¬±íʾʹÓÃrebaseÃüÁ¶ø²»ÊÇmerge¡£
£¨8£©Íê³É¸üдúÂëºó £¬¾Í¿ÉÒÔÏòÔ¶³ÌÌá½»´úÂëÁË¡£µã»÷ÉÏ·½µÄPush£¬µ¯³öÈç϶Ի°¿ò¡£ 
ÔÚÌá½»µÄʱºò£¬Ñ¡ÔñÒªÌá½»µÄ·ÖÖ§¼´¿É¡£´Ëʱ¿ÉÄÜÐèÒªÄãÊäÈëGithub»òÕ߯äËûµÄÔ¶³ÌµÄÓû§ÃûºÍÃÜÂ룬ÊäÈë¼´¿É¡££¨×¢Ò⣺´ËʱÊäÈëµÄÓû§ÃûºÍÃÜÂëÓë.gitÅäÖÃÀïÃæµÄnameºÍemail²»ÊÇͬһ¸ö¸ÅÄî¡£´ËʱҪÄãÊäÈëµÄÓû§ÃûºÍÃÜÂëÖ»ºÍÄãµÄÔ¶³Ì·þÎñÆ÷Óйأ¬ºÍgitÎ޹أ¬ÒòΪÄãÒªÏò·þÎñÆ÷ÍÆËÍ´úÂ룬±ØÈ»ÒªÓÐȨÏÞ£¬Õâ¸öÓû§ÃûºÍÃÜÂëÏ൱ÓÚȨÏÞ¡£µ«ÊÇ.gitÀïÃæµÄnameºÍemailÖ»ÊÇ×÷ΪÄãgitÕâ¸ö¹¤¾ß±ê¼Ç¶øÒÑ£¬ºÍÔ¶³Ì·þÎñÆ÷ûÓйØÏµ¡££© 
£¨9£©PushÍê´úÂëºó£¬¿ÉÒÔÔÚÌá½»ÀúÊ·Öп´µ½×Ô¼ººÍ±ðÈ˵ÄÌá½»¡£Èçͼ£º 
´Ëʱ£¬±¾µØºÍÔ¶³ÌÒѾ±£³ÖÁËͬ²½£¬ËùÒÔÔÀ´µÄ1 aHead¾ÍÏûʧÁË¡£À´µ½GithubÖУ¬·¢ÏÖ´úÂëÒѾ³É¹¦Ìá½»ÁË¡£ 
£¨10£©´Ëʱ£¬Èç¹ûÆäËû¿ª·¢ÕßÏòÔ¶³Ì²Ö¿âÌá½»ÁË´úÂ룬ÄÇôÔÚÄãµÄSourceTreeÖоͻáÏÔʾÈçÏ£¬ 
ÔÚÄã±¾µØµÄmaster·ÖÖ§Ï£¬¿ÉÒÔ¿´µ½1 behind£¬±íʾÄã±¾µØµÄ·ÖÖ§ÒѾÂäºóÓÚÔ¶³Ì·ÖÖ§1 commitÁË¡£¿ÉÒÔÑ¡ÔñPullÀ´¸üдúÂë¡£
£¨11£©Èç¹ûÔ¶³Ì²Ö¿âÓÐÆäËûµÄ·ÖÖ§£¬ÄÇôÎÒÐèÒªcheckout£¨¼ì³ö£©Ô¶³Ì·ÖÖ§µ½±¾µØ£¬Èçͼ£¬Ô¶³ÌÓÐdev·ÖÖ§£¬Ë«»÷×ó²àÔ¶³ÌµÄdev·ÖÖ§£¬¼´¿É¼ì³ö¡£¼ì³öµÄʱºò»¹¿ÉÒÔÖØÃüÃû±¾µØ¸Ã·ÖÖ§µÄÃû×Ö£º 
checkoutÍê³Éºó£¬±¾µØÒ²¾ÍÓÐdev·ÖÖ§ÁË£º 
£¨12£©ÔÚSourceTreeÖо³£»á³öÏÖtrackÕâ¸ö´Ê£¬±íʾ¡°¸ú×Ù¡±£¬±íʾ±¾µØÄ³¸ö·ÖÖ§¸ú×ÙÔ¶³Ìij¸ö¶ÔÓ¦µÄ·ÖÖ§¡£ËùÒÔ£¬ÅжÏÊÇahead»¹ÊÇbehind
commitµÄʱºò£¬¶¼ÊÇÈ¥ºÍtrackµÄÄǸö·ÖÖ§½øÐбȽϵġ£Ë«»÷±¾µØµÄij¸ö·ÖÖ§¼´¿ÉÍê³É·ÖÖ§Çл»¡£
£¨13£©µ±ÄãÔÚ±¾µØÐ½¨Ä³¸ö·ÖÖ§µÄʱºò£¬Ò²¿ÉÒÔÍÆË͵½Ô¶³Ì£¬È»ºóÔ¶³Ì¾Í»áÓи÷ÖÖ§ÁË¡£ÈçÏÂËùʾ£¬ÎÒÔÚSourceTreeÖÐн¨ÁËrelease·ÖÖ§£¬µ«ÊÇÔ¶³ÌûÓÐrelease·ÖÖ§¡£ÎҰѸ÷ÖÖ§½øÐÐPush£º 
È»ºó¾Í·¢ÏÖÔ¶³ÌÒ²ÓÐrelease·ÖÖ§ÁË£ºÄãҪȷ¶¨ÊÇ·ñÓÐij¸ö·ÖÖ§£¬ÄãÒ²¿ÉÒÔÈ¥Github»òÕ߯äËûÔ¶³Ì·þÎñÆ÷²é¿´¡£ 
£¨14£©µ±È»ÄãÒ²¿ÉÒÔÔÚSourceTreeÖÐɾ³ý±¾µØ»òÕßÔ¶³ÌµÄÒ»¸ö·ÖÖ§£¬É¾³ý·ÖÖ§ÊǸöºÜ½÷É÷µÄ²Ù×÷£¬ÐèÒªÉ÷ÖØ¡£ 
×ܽáÏ£¬GitÊÇÒ»¸ö·Ö²¼Ê½µÄ°æ±¾¿ØÖƹ¤¾ß£¬¹¦Äܷdz£Ç¿´ó£¬ÍƼö´ó¼ÒÏȺúÃÕÆÎÕÃüÁîÐУ¬ÔÙȥʹÓÃGUI£¬¾Í»á·¢ÏÖÌØ±ð¼òµ¥¡£Í¼ÐβÙ×÷ºÍÃüÁîÐÐÒ²ÊÇÄܹ»Ò»Ò»¶ÔÓ¦µÄ¡£ÎÒ½ñÌì½²µ½µÄSourceTree¹¦ÄÜ£¬Ò²Ö»ÊÇÆäÖÐÒ»²¿·Ö£¬µ«ÊÇÕâÒ»²¿·ÖÒ²ÊÇ×îΪ³£Óõġ£ÊìÁ·Ê¹Óû¹ÊÇÐèÒªÔÚÍŶÓÐ×÷ÖÐÈ¥ÕÆÎÕ¡£ÏÂÃæµÄÌù³öµÄGit¹©´ó¼Ò²éѯºÍ±È¶Ô¡£

|