ÓÃgitÓÐÒ»ÄêÁË£¬ÏÂÃæÊÇÎÒÕâÒ»ÄêÀ´µÄgitʹÓÃ×ܽᣬ¸²¸ÇÁËÈÕ³£Ê¹ÓÃÖоø´ó¶àÊýµÄ³¡¾°¡£àÅ£¬ÖÁÉÙÊǹ»ÓÃÒ»ÄêÁË£¬ÕûÀí³öÀ´·ÖÏí¸ø´ó¼Ò£¬²»Ã÷°×µÄµØ·½¿ÉÒԻظ´½»Á÷¡£
´´½¨ºÍʹÓÃgit ssh key
Ê×ÏÈÉèÖÃgitµÄuser nameºÍemail£º
git config --global user.name "xxx" git config --global user.email "xxx@gmail.com"²é¿´gitÅäÖãº
git config --listÈ»ºóÉú³ÉSHHÃܳףº
²é¿´ÊÇ·ñÒѾÓÐÁËsshÃÜÔ¿£º
cd ~/.ssh
Èç¹ûûÓÐÃÜÔ¿Ôò²»»áÓдËÎļþ¼Ð£¬ÓÐÔò±¸·Ýɾ³ý
Éú´æÃÜÔ¿£º
°´3¸ö»Ø³µ£¬ÃÜÂëΪ¿ÕÕâÀïÒ»°ã²»Ê¹ÓÃÃÜÔ¿¡£
×îºóµÃµ½ÁËÁ½¸öÎļþ£ºid_rsaºÍid_rsa.pub
×¢Ò⣺Ãܳ×Éú³É¾Í²»Òª¸ÄÁË£¬Èç¹ûÒѾÉú³Éµ½~/.sshÎļþ¼ÐÏÂÈ¥ÕÒ¡£
git±ä¸üÏîÄ¿µØÖ·
git remote set-url origin git@192.168.6.70:res_dev_group/test.git git remote -v
²é¿´Ä³¸öÎļþµÄÐÞ¸ÄÀúÊ·
git log --pretty=oneline ÎļþÃû # ÏÔʾÐÞ¸ÄÀúÊ· git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e # ²é¿´¸ü¸Ä
git push ʱ±¨´í warning: push.default is unset;
¡®matching¡¯²ÎÊýÊÇ Git 1.x µÄĬÈÏÐÐΪ£¬ÆäÒâÊÇÈç¹ûÄãÖ´ÐÐ git push µ«Ã»ÓÐÖ¸¶¨·ÖÖ§£¬Ëü½« push ËùÓÐÄã±¾µØµÄ·ÖÖ§µ½Ô¶³Ì²Ö¿âÖжÔӦƥÅäµÄ·ÖÖ§¡£¶ø Git 2.x ĬÈϵÄÊÇ simple£¬Òâζ×ÅÖ´ÐÐ git push ûÓÐÖ¸¶¨·Ö֧ʱ£¬Ö»Óе±Ç°·ÖÖ§»á±» push µ½ÄãʹÓà git pull »ñÈ¡µÄ´úÂë¡£
¸ù¾ÝÌáʾ£¬ÐÞ¸Ägit pushµÄÐÐΪ:
git config --global push.default matchingÔÙ´ÎÖ´ÐÐgit push µÃµ½½â¾ö¡£
git submoduleµÄʹÓÃÀ×ÓÏîÄ¿´úÂë
¿ª·¢¹ý³ÌÖУ¬¾³£»áÓÐһЩͨÓõIJ¿·ÖÏ£Íû³éÈ¡³öÀ´×ö³ÉÒ»¸ö¹«¹²¿âÀ´Ìṩ¸ø±ðµÄ¹¤³ÌÀ´Ê¹Ó㬶ø¹«¹²´úÂë¿âµÄ°æ±¾¹ÜÀíÊǸöÂé·³µÄÊÂÇé¡£½ñÌìÎÞÒâÖз¢ÏÖÁËgitµÄgit submoduleÃüÁ֮ǰµÄÎÊÌâÓÈжø½âÁË¡£
1.Ìí¼Ó
Ϊµ±Ç°¹¤³ÌÌí¼Ósubmodule£¬ÃüÁîÈçÏ£º
git submodule add ²Ö¿âµØÖ· ·¾¶ÆäÖУ¬²Ö¿âµØÖ·ÊÇÖ¸×ÓÄ£¿é²Ö¿âµØÖ·£¬Â·¾¶Ö¸½«×ÓÄ£¿é·ÅÖÃÔÚµ±Ç°¹¤³Ìϵķ¾¶¡£
×¢Ò⣺·¾¶²»ÄÜÒÔ / ½á⣨»áÔì³ÉÐ޸IJ»ÉúЧ£©¡¢²»ÄÜÊÇÏÖÓй¤³ÌÒÑÓеÄĿ¼£¨²»ÄÜí˜Àû Clone£©
ÃüÁîÖ´ÐÐÍê³É£¬»áÔÚµ±Ç°¹¤³Ì¸ù·¾¶ÏÂÉú³ÉÒ»¸öÃûΪ¡°.gitmodules¡±µÄÎļþ£¬ÆäÖмǼÁË×ÓÄ£¿éµÄÐÅÏ¢¡£Ìí¼ÓÍê³ÉÒÔºó£¬ÔÙ½«×ÓÄ£¿éËùÔÚµÄÎļþ¼ÐÌí¼Óµ½¹¤³ÌÖм´¿É¡£
2.ɾ³ý
submoduleµÄɾ³ýÉÔ΢Âé·³µã£ºÊ×ÏÈ£¬ÒªÔÚ¡°.gitmodules¡±ÎļþÖÐɾ³ýÏàÓ¦ÅäÖÃÐÅÏ¢¡£È»ºó£¬Ö´ÐÐgit rm ¨CcachedÃüÁ×ÓÄ£¿éËùÔÚµÄÎļþ´ÓgitÖÐɾ³ý¡£
ÏÂÔصŤ³Ì´øÓÐsubmodule
µ±Ê¹ÓÃgit cloneÏÂÀ´µÄ¹¤³ÌÖдøÓÐsubmoduleʱ£¬³õʼµÄʱºò£¬submoduleµÄÄÚÈݲ¢²»»á×Ô¶¯ÏÂÔØÏÂÀ´µÄ£¬´Ëʱ£¬Ö»ÐèÖ´ÐÐÈçÏÂÃüÁ
git submodule update --init --recursive¼´¿É½«×ÓÄ£¿éÄÚÈÝÏÂÔØÏÂÀ´ºó¹¤³Ì²Å²»»áȱÉÙÏàÓ¦µÄÎļþ¡£
git addÎļþÈ¡Ïû
ÔÚgitµÄÒ»°ãʹÓÃÖУ¬Èç¹û·¢ÏÖ´íÎóµÄ½«²»ÏëÌá½»µÄÎļþadd½øÈëindexÖ®ºó£¬Ïë»ØÍËÈ¡Ïû£¬Ôò¿ÉÒÔʹÓÃÃüÁgit reset HEAD <file>¡£¬Í¬Ê±git addÍê±ÏÖ®ºó£¬gitÒ²»á×öÏàÓ¦µÄÌáʾ¡£
gitɾ³ýÎļþ£º
ɾ³ýÎļþ¸ú×Ù²¢ÇÒɾ³ýÎļþϵͳÖеÄÎļþfile1git rm file1
Ìá½»¸Õ²ÅµÄɾ³ý¶¯×÷£¬Ö®ºógit²»ÔÙ¹ÜÀí¸ÃÎļþgit commit
ɾ³ýÎļþ¸ú×Ùµ«²»É¾³ýÎļþϵͳÖеÄÎļþfile1git rm ¨Ccached file1
Ìá½»¸Õ²ÅµÄɾ³ý¶¯×÷£¬Ö®ºógit²»ÔÙ¹ÜÀí¸ÃÎļþ¡£µ«ÊÇÎļþϵͳÖл¹ÊÇÓÐfile1¡£git commit
°æ±¾»ØÍË
°æ±¾»ØÍËÓÃÓÚÏßÉÏϵͳ³öÏÖÎÊÌâºó»Ö¸´¾É°æ±¾µÄ²Ù×÷¡£
»ØÍ˵½µÄ°æ±¾git reset ¨Chard 248cba8e77231601d1189e3576dc096c8986ae5
»ØÍ˵ÄÊÇËùÓÐÎļþ£¬Èç¹ûºó»Ú»ØÍË¿ÉÒÔgit pull¾Í¿ÉÒÔÁË¡£
ÀúÊ·°æ±¾¶Ô±È
²é¿´ÈÕÖ¾git log
²é¿´Ä³Ò»ÀúÊ·°æ±¾µÄÌá½»ÄÚÈÝgit show 4ebd4bbc3ed321d01484a4ed206f18ce2ebde5ca£¬ÕâÀïÄÜ¿´µ½°æ±¾µÄÏêϸÐ޸ĴúÂë¡£
¶Ô±È²»Í¬°æ±¾git diff c0f28a2ec490236caa13dec0e8ea826583b49b7a 2e476412c34a63b213b735e5a6d90cd05b014c33
·ÖÖ§µÄÒâÒåÓë¹ÜÀí
´´½¨·ÖÖ§¿ÉÒÔ±ÜÃâÌá½»´úÂëºó¶ÔÖ÷·ÖÖ§µÄÓ°Ï죬ͬʱҲʹÄãÓÐÁËÏà¶Ô¶ÀÁ¢µÄ¿ª·¢»·¾³¡£·ÖÖ§¾ßÓкÜÖØÒªµÄÒâÒå¡£
´´½¨²¢Çл»·ÖÖ§£¬Ìá½»´úÂëºó²ÅÄÜÔÚÆäËü»úÆ÷À·ÖÖ§´úÂëgit checkout -b new_branch
²é¿´µ±Ç°·ÖÖ§git branch
Çл»µ½master·ÖÖ§git checkout master
ºÏ²¢·ÖÖ§µ½µ±Ç°·ÖÖ§git merge new_branch£¬ºÏ²¢·ÖÖ§µÄ²Ù×÷ÊÇ´Ónew_branchºÏ²¢µ½master·ÖÖ§£¬µ±Ç°»·¾³ÔÚmaster·ÖÖ§¡£
ɾ³ý·ÖÖ§git branch -d new_branch
git³åÍ»Îļþ±à¼
³åÍ»Îļþ³åÍ»µÄµØ·½ÈçÏÂÃæÕâÑù
a123 <<<<<<< HEAD b789 ======= b45678910 >>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc c³åÍ»±ê¼Ç<<<<<<< £¨7¸ö<£©Óë=======Ö®¼äµÄÄÚÈÝÊÇÎÒµÄÐ޸ģ¬=======Óë>>>>>>>Ö®¼äµÄÄÚÈÝÊDZðÈ˵ÄÐ޸ġ£
´Ëʱ£¬»¹Ã»ÓÐÈκÎÆäËüÀ¬»øÎļþ²úÉú¡£
ÄãÐèÒª°Ñ´úÂëºÏ²¢ºÃºóÖØÐÂ×ßÒ»±é´úÂëÌá½»Á÷³Ì¾ÍºÃÁË¡£
²»Ë³ÀûµÄ´úÂëÌá½»Á÷³Ì
ÔÚgit pushºó³öÏÖ´íÎó¿ÉÄÜÊÇÒòΪÆäËûÈËÌá½»ÁË´úÂ룬¶øʹÄãµÄ±¾µØ´úÂë¿â°æ±¾²»ÊÇ×îС£
ÕâʱÄãÐèÒªÏÈgit pull´úÂëºó£¬¼ì²éÊÇ·ñÓÐÎļþ³åÍ»¡£
ûÓÐÎļþ³åÍ»µÄ»°ÐèÒªÖØÐÂ×ßÒ»±é´úÂëÌá½»Á÷³Ìadd ¡ª> commit ¡ª> push¡£
½â¾öÎļþ³åÍ»ÔÚºóÃæ˵¡£
git˳ÀûµÄÌá½»´úÂëÁ÷³Ì
²é¿´Ð޸ĵÄÎļþgit status£»
ΪÁ˽÷É÷¼ì²éһϴúÂëgit diff£»
Ìí¼ÓÐ޸ĵÄÎļþgit add dirname1/filename1.py dirname2/filenam2.py£¬Ð¼ӵÄÎļþÒ²ÊÇÖ±½Óadd¾ÍºÃÁË£»
Ìí¼ÓÐ޸ĵÄÈÕÖ¾git commit -m ¡°fixed:ÐÞ¸ÄÁËÉÏ´«ÎļþµÄÂß¼¡±£»
Ìá½»´úÂëgit push£¬Èç¹ûÌύʧ°ÜµÄ¿ÉÄÜÔÒòÊDZ¾µØ´úÂë¿â°æ±¾²»ÊÇ×îС£
Àí½âgithubµÄpull request
¡¡