±à¼ÍƼö: |
±¾ÎÄÀ´×Ôcsdn£¬±¾ÎÄÖ÷Òª½éÉÜÒ»ÏÂGitÔÚʵ¼ÊÏîÄ¿¿ª·¢ÖеÄʹÓÃÁ÷³Ì£¬°üÀ¨¿Ë¡¡¢ÔÝ´æ¡¢Ìá½»¡¢ÍÆËÍ¡¢ÀÈ¡¡¢·ÖÖ§¡¢³åÍ»½â¾öµÈ£¬ÔÝʱ»¹²»°üÀ¨»ØÍË¡£ |
|
1¡¢Ê×ÏÈÐèÒª°²×°Git£¬ÏÂÒ»²½ÏÂÒ»²½¾ÍÐУ¬ÕâÀï¾Í²»ËµÁË¡£ÖµµÃÒ»ÌáµÄÊÇ£¬Èç¹ûGit°²×°³É¹¦£¬µ±ÄãÔÚij¸öÎļþ¼Ðϵã»÷Êó±êÓÒ¼üµÄʱºò£¬µ¯³öµÄ²Ëµ¥ÖлáÓÐÒ»ÏîÊÇGit
Bash Here£¬µã»÷ÕâÒ»Ïî¾Í¿ÉÒÔµ¯³öGitµÄ¿ØÖÆÌ¨£¬ÎÒÃǶÔGitµÄËùÓвÙ×÷¶¼»áÔÚÕâ¸ö¿ØÖÆÌ¨ÖнøÐУº
2¡¢È»ºóÎÒÃÇÐèÒªÔÚGitHub»òOSChinaÉÏ´´½¨Ò»¸öÏîÄ¿£¬ÕâÀïÎÒÊÇÔÚOSChinaµÄÂëÔÆÉÏ´´½¨ÁËÒ»¸öÏîÄ¿£¬ÃüÃûΪTestGit£º
ÕâÀïÐèҪǿµ÷µÄÊÇ£¬Èç¹ûÎÒÃÇÈÃÎÒÃǵı¾µØ²Ö¿âÁ¬½ÓÔ¶³Ì²Ö¿â£¬¾Í±ØÐëÓÐÒ»¸öSSH KEY¡£ÎÒÃÇ¿ÉÒÔÈ¥µçÄÔµ±Ç°Óû§Îļþ¼ÐÖв鿴ÓÐûÓÐÒ»¸ö
.ssh µÄÎļþ¼Ð£¬Èç¹ûûÓÐÔòÐèÒªÉú³ÉÒ»¸öSSH KEY£¬·½·¨ÈçÏ£º
£¨1£©ÔÚGit¿ØÖÆÌ¨ÖÐÊäÈë ssh-keygen -t rsa -C "xxx@xx.com"£¬ÒýºÅÀïÃæµÄÊÇÄãµÄÓÊÏ䵨ַ£¬»Ø³µºó¾Í´´½¨ÁËÒ»¸öSSH
KEY£¬´ËʱÄã¾Í¿ÉÒÔÔÚÄãµÄµ±Ç°Óû§Îļþ¼ÐÖп´µ½¶àÁËÒ»¸ö .ssh Îļþ¼Ð¡£Õâ¸öÎļþ¼ÐÖÐÓÐÁ½¸öÎļþ£ºid_rsa£¨Ë½Ô¿£©
ºÍid_rsa.pub£¨¹«Ô¿£©£¬ÎÒÃÇÐèÒªµÄÊÇ id_rsa.pub ¹«Ô¿Îļþ¡£
£¨2£©µÃµ½¹«Ô¿ÎļþÖ®ºó£¬´ò¿ªGitHub»òOSChinaÖеÄSettingsÑ¡ÏÆäÖÐÓÐÒ»ÏîÊÇSSH
KEY£¬ÎÒÃÇÐèÒªÔÚÕâÀï´´½¨ÎÒÃǵÄSSH KEY£¬±êÌâÈÎÒ⣬¹«Ô¿ÖÐÌîÈëid_rsa.pubÎļþÖеÄÄÚÈÝ£¬µã»÷È·¶¨¼´¿É¡£
3¡¢ÔÚµçÄÔÖÐн¨Ò»¸öÎļþ¼ÐÓÃÀ´·Å±¾µØ²Ö¿â£¬ÕâÀïÎÒÓõÄÊÇÎÒµçÄÔÖÐµÄ E:\GitWorkSpace Îļþ¼Ð¡£
4¡¢ÔÚ E:\GitWorkSpace Îļþ¼ÐÏ¿հ×ÇøÓòÓÒ¼üµã»÷ Git Bash Here ´ò¿ª
Git ¿ØÖÆÌ¨£¬½ÓÏÂÀ´ÎÒÃǾÍÐèÒª½«Ô¶³Ì²Ö¿âÖеÄÏîÄ¿¿Ë¡µ½±¾µØµçÄÔÖÐÁË¡£
5¡¢ÎªÁ˿ˡһ¸öÏîÄ¿£¬ÎÒÃÇÐèÒªËüÔÚÔ¶³Ì²Ö¿âÖеÄSSHµØÖ·£¬¼´ÏÂͼËùÊ¾ÇøÓò£¬Ñ¡ÖÐSSH£¬µã»÷×îÓұߵÄ
¸´ÖÆ °´Å¥¼´¿É¸´ÖÆÆäSSHµØÖ·
6¡¢ÔÚ¿ØÖÆÌ¨ÖÐÊäÈë git clone?git@git.oschina.net:itgungnir/TestGit.git
£¬µã»÷»Ø³µ¿ªÊ¼¿Ë¡²Ö¿â£¬¿Ë¡³É¹¦ºóÈçͼËùʾ£º
´ËʱÎÒÃǵ½ E:\GitWorkSpace Ŀ¼ÖУ¬¾Í¿ÉÒÔ¿´µ½Ò»¸öTestGitµÄÎļþ¼ÐÁË£¬´ò¿ªTestGit£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Ò»¸öÒþ²ØµÄ
.git Îļþ¼ÐºÍÒ»¸öreadmeÎļþ¡£
7¡¢½øÈëTestGitÏîÄ¿£ºÔÚ¿ØÖÆÌ¨ÖÐÊäÈë cd TestGit¼´¿É£¬´Ëʱ½øÈëµÄÊÇmaster·ÖÖ§£¬¼´Ö÷·ÖÖ§£¬Èçͼ£º
8¡¢ÔÚ¿Ë¡²Ö¿âµÄʱºò£¬Ä¬ÈϾʹ´½¨ÁËÒ»¸öÃûΪ origin µÄÔ¶³ÌÁ¬½Ó£¬ÎÒÃÇ¿ÉÒÔͨ¹ý git remote
-vÀ´²é¿´£º
9¡¢ÔÚÔ¶³Ì²Ö¿âÖд´½¨Ò»¸ö dev ·ÖÖ§£º
£¨1£©µã»÷ÏÂͼËùʾµÄÇøÓò£¬µã»÷ ¹ÜÀí·ÖÖ§?
£¨2£©¿ÉÒÔ¿´µ½£¬ÏÖÔÚÏîÄ¿ÖÐÖ»ÓÐ master ÕâÒ»¸ö·ÖÖ§£¬µã»÷×ó²àµÄ
н¨·ÖÖ§ °´Å¥Ð½¨Ò»¸ö·ÖÖ§
£¨3£©ÔÚ Ð·ÖÖ§Ãû³Æ ÖÐÊäÈëdev£¬µã»÷´´½¨·ÖÖ§
£¨4£©´´½¨Íê³Éºó£¬¾Í¿ÉÒÔ¿´µ½£¬¶àÁËÒ»¸ö dev ·ÖÖ§
10¡¢ÎÒÃÇÐèÒª½«Ô¶³Ì²Ö¿âÖÐµÄ dev ·ÖÖ§ÀÈ¡µ½±¾µØ²Ö¿âÖУº
£¨1£©ÓÉÓÚÔ¶³Ì²Ö¿âµÄ·ÖÖ§½øÐÐÁ˸ü¸Ä£¬Òò´ËÎÒÃÇÐèÒªÏȸüÐÂÔ¶³ÌÁ¬½Ó£ºÔÚ¿ØÖÆÌ¨ÖÐÒÀ´ÎÊäÈëgit
remote show origin ¡¢ git remote update ¡¢ git fetchÓï¾ä£¬ÈçÏÂͼ£º
¿ÉÒÔ¿´µ½£¬ÔÚÖ´ÐÐÁË git remote update Óï¾äÖ®ºó£¬ÌáʾÎÒÃÇÓÐÒ»¸ödev·Ö֧ûÓиüУ¬Ê¹ÓÃ
git fetch Óï¾ä½øÐиüС£
£¨2£©¸üÐÂÍê³ÉÖ®ºó£¬½«Ô¶³Ì²Ö¿âÖеÄdev·ÖÖ§¸´ÖƵ½±¾µØ£ºÊ¹Óà git
checkout -b dev origin/dev£¬Èçͼ£º
ÕâÌõÓï¾äµÄ×÷ÓÃÊǽ« origin ÖÐµÄ dev ·ÖÖ§¸´ÖƵ½±¾µØ£¬±¾µØµÄ·ÖÖ§Ò²½Ð dev¡£
11¡¢ÔÚÍŶÓÐ×÷µÄʱºò£¬Ô¶³Ì²Ö¿âÖÐÖ»ÓÐ master ºÍ dev Á½¸ö·ÖÖ§¾Í¿ÉÒÔÁË£¬Ò²¾ÍÊÇ˵£¬ÎÒÃÇÔÚ±¾µØÐèÒª½¨Á¢ÐµķÖÖ§±àд×Ô¼ºµÄÄ£¿é£¬Ð´ÍêÖ®ºóºÏ²¢µ½
dev ·ÖÖ§£¬È»ºóÍÆË͵½Ô¶³Ì²Ö¿âÖм´¿É¡£
12¡¢ÔÚ±¾µØ´´½¨×Ô¼ºµÄ·ÖÖ§£ºÊ¹Óà git checkout -b wzyÓï¾ä´´½¨Ò»¸öÃûΪ wzy
µÄ±¾µØ·ÖÖ§£º
13¡¢ÔÚ±¾µØ wzy ·ÖÖ§ÖнøÐдúÂëµÄ±àд¡£ÀýÈ磺ÎÒÃÇÔÚTestGitÏîÄ¿ÏÂн¨Ò»¸ö a.java
Îļþ£¬ÔÚ a.java ÎļþÖÐдÈëһЩ´úÂ룬ȻºóÌá½»µ½±¾µØ²Ö¿âÖÐ
£¨1£©ÔÚTestGitÖÐн¨Ò»¸ö a.java Îļþ£º
£¨2£©ÔÚGit¿ØÖÆÌ¨ÖÐʹÓà git statusÃüÁî²é¿´µ±Ç°ÏîÄ¿ÖÐÎļþµÄÐÞ¸Ä״̬£¨ÄĸöÎļþ±»¸Ä±äÁË£©£º
¿ÉÒÔ¿´µ½£¬a.java ±»¸Ä±äÁË£¬¶øÇÒÏÔʾΪºìÉ«£¬Òâ˼ÊÇ»¹Ã»ÓнøÐÐÔݴ棨ÔÝ´æÖ®ºó»á±ä³ÉÂÌÉ«£©
£¨3£©¶Ô a.java ½øÐÐÔݴ棬ʹÓà git add a.javaÃüÁ
Èç¹ûûÓÐÌáʾÈκÎÐÅÏ¢£¬Ôò±íʾÔÝ´æ³É¹¦ÁË¡£
£¨4£©½«ÔÝ´æÐÅÏ¢Ìá½»µ½±¾µØ²Ö¿â£¬Ê¹Óà git commit -m
"add a.java"ÃüÁ
Ìá½»³É¹¦ºó£¬»áÌáʾ 1 file changed £¬±íʾһ¸öÎļþ±»Ð޸ĺóÌá½»ÁË¡£
£¨5£©´ËʱÎÒÃÇÔٴε÷Óà git statusÃüÁî²é¿´×´Ì¬£¬¾Í¿ÉÒÔ¿´µ½Ã»ÓÐÈκÎÎļþ±»Ð޸ĵÄÌáʾ£º
14¡¢ÒÔÉÏËùÓеÄÎļþ²Ù×÷¶¼ÊÇÔÚ wzy ·ÖÖ§ÉϽøÐеģ¬ÏÖÔÚÎÒÃÇÏ뽫 wzy ·ÖÖ§ºÏ²¢µ½ dev ·ÖÖ§ÉÏ
£¨1£©×¢Ò⣬merge ÃüÁî±íʾµÄÊǽ«²ÎÊý£¨wzy£©·ÖÖ§ºÏ²¢µ½µ±Ç°·ÖÖ§£¬Òò´ËÎÒÃÇÐèÒªÏÈÇл»µ½
dev ·ÖÖ§ÖУ¬Ê¹ÓÃgit checkout dev ÃüÁ
£¨2£©Èç¹ûÖ±½ÓÓà merge ÃüÁ»áÖ±½Ó½« wzy ·Ö֧ɾ³ý£¬Õâ¸ö½Ð×ö
Fast Feature£¬ÎÒÃÇ»¹ÏëÔںϲ¢Ö®ºó²é¿´ wzy ·ÖÖ§µÄÐÅÏ¢£¬¾ÍÐèҪֹͣ?Fast Feature
¹¦ÄÜ£¬Òò´ËÐèÒªÌí¼Ó --no-ff ¡£Í£Ö¹ Fast Feature ¹¦ÄÜÖ®ºó£¬»áÔÚ·ÖÖ§ºÏ²¢µãÉÏ´´½¨Ò»¸öеÄ
commit £¬Òò´ËÎÒÃÇ»¹ÐèÒªÌí¼ÓÒ»¸öÌύ˵Ã÷£¨-m£©¡£×ÛºÏÒÔÉÏ£¬¸ÃÃüÁîÊÇ£ºgit merge --no-ff
-m "merge wzy" wzy £¬ÈçÏÂͼ£º
£¨3£©ºÏ²¢³É¹¦Ö®ºó£¬wzy ·ÖÖ§¾ÍûÓÃÁË£¬ÎÒÃÇ¿ÉÒÔʹÓà git branch -d wzyÃüÁîÀ´É¾³ýÕâ¸ö·ÖÖ§£¬É¾³ýºóÖØÐÂʹÓÃ
git branch ÃüÁîÀ´²é¿´ËùÓзÖÖ§£¬·¢ÏÖ wzy ·ÖÖ§ÒѾ±»É¾³ý£º
15¡¢½ÓÏÂÀ´¾ÍÊÇÍÆË͵½Ô¶³Ì²Ö¿âÁË¡£Èç¹ûÎÒÃÇÏÖÔÚÍÆËÍ£¬Êǿ϶¨³É¹¦µÄ£¬ÒòΪÏÖÔÚÖ»ÓÐÎÒÃÇ×Ô¼ºÔÚ²Ù×÷ dev
·ÖÖ§£¬µ«ÎÒÏë¸ø´ó¼ÒÑÝʾһϳåÍ»µÄ½â¾ö£¬ËùÒÔ£¬ÎÒÃÇÐèҪȥԶ³Ì²Ö¿â½øÐÐһЩÐ޸ġ£
´ò¿ªÔ¶³Ì²Ö¿âÖÐµÄ TestGit ÏîÄ¿£¬Çл»µ½ dev ·ÖÖ§£¬È»ºó´´½¨Ò»¸ö a.java Îļþ²¢Ð´ÈëһЩÊý¾Ý£¬µã»÷
Ìá½» °´Å¥Ìá½»µ½ dev ·ÖÖ§£¬»Øµ½ dev ·ÖÖ§ºó·¢ÏÖ¶àÁËÒ»¸ö a.java Îļþ£º



16¡¢»Øµ½¿ØÖÆÌ¨£¬³¢ÊÔ½øÐÐÍÆËÍ£º
£¨1£©Ê¹Óà git push origin devÃüÁ¸Ä±äÍÆË͵½Ô¶³Ì²Ö¿âµÄ
dev ·ÖÖ§ÖУ¬»á·¢ÏÖ±¨´í£¬ÔÒòÊÇÆäËûÈËÔÚÄ㽫Զ³Ì²Ö¿â¿Ë¡µ½±¾µØÖ®ºóµÄÕâ¶Îʱ¼äÄÚ¶ÔÔ¶³Ì²Ö¿âdev ·ÖÖ§ÖеÄÏîÄ¿½øÐÐÁ˸ü¸Ä£¬¼´ÎÒÃDZ¾µØ²Ö¿âÖеÄÏîÄ¿²»ÊÇ×îа汾µÄÏîÄ¿£¬ÐèÒª´ÓÔ¶³Ì²Ö¿âÀÈ¡×îа汾

£¨2£©µ÷Óà git pullÃüÁî´ÓÔ¶³Ì²Ö¿âÖÐÀÈ¡ÏîÄ¿µÄ×îа汾£¬·¢ÏÖÈÔÈ»±¨´í£¬ÔÒòÊÇÎļþ³åÍ»£¬³åÍ»ÎļþÊÇ
a.java

£¨3£©µ±Óöµ½³åÍ»µÄʱºò£¬ÎÒÃÇÓÐÁ½ÖÖ½â¾ö·½°¸£ºµÚÒ»ÊÇÔÚÎļþϵͳÖдò¿ªÕâ¸öÎļþ½øÐÐÐ޸ģ»µÚ¶þÊÇÖ±½ÓÔÚGit¿ØÖÆÌ¨ÖнøÐиü¸Ä¡£µ÷ÓÃ
vi a.javaÃüÁî¶Ô a.java Îļþ½øÐÐÐ޸ģ¬»á¿´µ½Ìø×ªµ½ÁËÕâÑùÒ»¸ö½çÃæ£º

ÔÚÕâ¸ö½çÃæÖУ¬°´ D¿ÉÒÔɾ³ýÒ»ÐУ¬°´ A ¿ÉÒÔ¿ªÆô±à¼£¬°´ ESC¿ÉÒÔÍ˳öµ±Ç°×´Ì¬£¬ÊäÈë :wq
¿ÉÒÔ±£´æ²¢Í˳öÕâ¸öÒ³Ãæ¡£Ê¹ÓÃÕâЩ²Ù×÷¶ÔÎļþ½øÐÐÐ޸ģ¬Ð޸ijÉÎÒÃÇÏëÒªµÄÑù×Ó£¬È»ºó±£´æÍ˳ö¼´¿É¡£
ÁíÍâÎÒÃÇ¿ÉÒÔ¿´µ½£¬Á½¸ö°æ±¾µÄÎļþÖгåÍ»µÄÄÚÈݱ» <<<<<<<
ºÍ >>>>>>> Á½ÖÖ·ûºÅÀ¨ÁËÆðÀ´£¬Á½¸ö°æ±¾µÄÄÚÈݱ» =======
·ûºÅ·Ö¸ô¿ªÁË£¬ÎÒÃÇÖ»ÐèÒªÔÚÕâ¸öÇøÓòÄÚÐ޸ģ¬È»ºóɾµôÕâÈýÖÖ·ûºÅ¼´¿É¡£
ÐÞ¸ÄÍê³ÉÖ®ºóµÄÑù×ÓÈçͼËùʾ£º

°´ ESCÍ˳ö±à¼×´Ì¬£¬ÊäÈë :wq ÃüÁî±£´æµ±Ç°Îļþ״̬²¢Í˳ö£¬¾Í»Øµ½ÁË¿ØÖÆÌ¨Ò³Ã棺

17¡¢³åÍ»½â¾öÍê³ÉÖ®ºóÐèÒªÔÙ´ÎÔÝ´æ¡¢Ìá½»Ö®ºó²ÅÄÜÔÙ´ÎÍÆËÍ£º
£¨1£©²é¿´µ±Ç°×´Ì¬£¬·¢ÏÖ a.java ÎļþûÓб»ÔÝ´æÌá½»£º

£¨2£©¶Ô a.java Îļþ½øÐÐÔÝ´æºÍÌá½»£¬È»ºóÔٴβ鿴״̬£¬·¢ÏÖûÓÐÐèÒªÌá½»µÄÁË£º

18¡¢ÏÖÔھͿÉÒÔÔÙ´ÎÍÆËÍÁË£º

»Øµ½Ô¶³Ì²Ö¿âÖв鿴£¬¿ÉÒÔ¿´µ½ a.java ÎļþµÄÌύʼþ±äΪÁË conflict fixed £¬¶øÇÒÎļþÄÚÈÝÒ²±»¸Ä±äÁË£º


ÒÔÉÏÊÇÒ»¸ö²Ù×÷ Git ½øÐа汾¿ØÖƵÄСDEMO,Ï£Íû¿ÉÒÔ¸ø´ó¼Ò´øÀ´°ïÖú¡£
|