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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Git ºÍ GitHub£º´ÓÈëÃŵ½Êµ¼ù£¬µÚ 2 ²¿·Ö Git ºÍ GitHub »ù´¡ÅäÖÃ
 
  1892  次浏览      29
 2019-2-14
 
±à¼­ÍƼö:

±¾ÎÄÀ´×Ôibm£¬ÎÄÕ½²½âÁËÈçºÎ²ÉÓà SSH ºÍ HTTPS Á½ÖÖ·½Ê½´Ó GitHub ¿Ë¡´úÂë¿â£¬ÈçºÎ½øÐб¾µØ Git ¿ª·¢»·¾³µÄ»ù´¡ÅäÖã¬ÈçºÎÅäÖà .gitignore ÎļþµÈ¡£

ǰÑÔ

ÔÚ±¾ÏµÁеĵÚһƪÎÄÕÂÖÐ×ÅÖØ½éÉÜÁË Git µÄ»ù´¡ÌØÐÔ¡£±¾ÎÄ×÷Ϊ±¾ÏµÁеĵڶþƪÎÄÕ½«½éÉÜ Git ºÍ GitHub µÄ»ù´¡ÅäÖ㬰üÀ¨ Git °²×°¡¢Ê¹Óà Git ¿Ë¡ GitHub ÉϵĴúÂë¿â¡¢Ê¹Óà Git ¿Ë¡Զ¶Ë´úÂë²Ö¿â¡¢Git µÄ»ù±¾ÅäÖúÍÉèÖúöÂÔÌá½»¹æÔò¡£ÄúÔÚÔĶÁÍê±¾ÎĽ«ÓÐÄÜÁ¦Íê³É±¾µØ Git »·¾³µÄ»ù´¡ÅäÖã¬Îª½ÓÏÂÀ´µÄ Git ÈÕ³£Ê¹ÓÃ×ö»ù´¡¡£

GitHub ÊÇÒ»¸ö´úÂëÍÐ¹ÜÆ½Ì¨£¬Èç¹û¿ª·¢ÕßÏëÒªÔÚ±¾µØ½øÐпª·¢¹¤×÷£¬ÄÇô¾ÍÐèҪʹÓõ½ Git µÄ¿Í»§¶Ë¹¤¾ßÀ´Á¬½Óµ½ GitHub£¬ÔÙ¿Ë¡´úÂëµ½±¾µØ¡£Èç¹ûÄúÊÇÖØ¶ÈµÄ GUI ʹÓÃÕߣ¬ÄÇôÓкܶà GUI ¿Í»§¶Ë¿ÉÒÔÑ¡Ôñ£¬ÔÚ Git µÄ¹ÙÍø¾ÍרÃÅÓиöÒ³ÃæÁгöÁËÒµÄÚµÄ GUI ¿Í»§¶Ë¡£

µ«Òź¶µÄÊÇÍùÍù GUI ¿Í»§¶ËÖ»ÄÜÌṩ Git ²¿·ÖµÄ¹¦ÄÜ£¬Èç¹ûÏëÒªÏíÊܵ½ Git ×Ôµ×ÏòÉÏÇ¿´óµÄ¹¦ÄÜ£¬Ê¹ÓÃÃüÁîÐеķ½Ê½À´²Ù×÷ Git ÊDz»¶þ֮ѡ¡£½¨ÒéÎÞÂÛÄúÊÇ·ñÉó¤Ê¹ÓÃÃüÁîÐй¤×÷£¬¶¼¿ÉÒÔ³¢ÊÔʹÓÃÃüÁîÐз½Ê½À´²Ù×÷ Git¡£±¾ÎĽ«Ö»½éÉÜÈçºÎ´ÓÃüÁîÐÐÀ´Á¬½Óµ½ GitHub¡£

°²×° Git

ʹÓÃÃüÁîÐз½Ê½²Ù×÷ Git ¹¤¾ß£¬ÐèÒª±¾µØ°²×° Git¡£×¢Ò⣬ÕâÀïûÓÐʹÓà "Git ¿Í»§¶Ë" Ò»´Ê£¬ÒòΪ Git ×÷Ϊһ¸ö¿ªÔ´°æ±¾¿ØÖÆÏµÍ³£¬±¾Éí¼È¿ÉÒÔ×÷Ϊ¿Í»§¶Ë¹¤¾ß£¬Ò²¿ÉÒÔÓÃÓÚ½¨Á¢·þÎñÆ÷¶Ë´úÂë¿â£¬ËùÒÔ±¾ÖÊÉÏ Git ×÷Ϊ¹¤¾ßÀ´½²Ã»Óпͻ§¶ËºÍ·þÎñÆ÷¶ËÖ®·Ö¡£

±¾µØ°²×° Git Ê®·Ö¼òµ¥¡£

¶ÔÓÚ Windows Óû§£¬¿ÉÒÔÏÂÔØ Git For Windows ¹¤¾ß¡£ÏÂÔØ°²×°³É¹¦Ö®ºó£¬ÎÒÃÇ¿ÉÒԵõ½Ò»¸ö Git Bash ¹¤¾ß£¬ËüÊÇÒ»¸öÀà Linux Bash ¹¤¾ß¡£Ôڸù¤¾ßÖÐÎÒÃÇ¿ÉÒÔÖ±½ÓÖ´ÐÐ Git Ïà¹ØÃüÁî¡£Èçͼ 1 Ëùʾ£º

ͼ 1. Git Bash

¶ÔÓÚ Mac ºÍ Linux Óû§£¬Ö»Ðèͨ¹ý¶ÔÓ¦µÄ°ü¹ÜÀí¹¤¾ß°²×°¼´¿É£¬ÈçÇåµ¥ 1 Ëùʾ£º

Çåµ¥ 1. Mac ºÍ Linux ϰ²×° Git

$ brew install git # For Mac
$ apt-get install git # For Ubuntu
# yum install git # For RedHat EL, CentOS

ʹÓà Git ¿Ë¡ GitHub ´úÂë¿â

°²×° Git ³É¹¦Ö®ºó£¬ÎÒÃǾͿÉÒÔʹÓà Git ¿Ë¡ GitHub ÉϵĴúÂë¿â£¬±¾½ÚÈÔÈ»ÒÔÎҵĴúÂë¿â repo-for-developerworks ΪÀý¡£

GitHub ÌṩÁËÁ½ÖÖ¿Ë¡·½Ê½£ºHTTPS ºÍ SSH¡£ÎÒÃÇ¿ÉÒÔµã»÷²Ö¿âÒ³ÃæÉ쵀 Clone or download °´Å¥À´²é¿´ÓÃÓÚ¿Ë¡µÄÁ´½Ó£¬Í¬Ê±¿ÉÒÔµã»÷¸¡¶¯¿òÓÒÉÏ½ÇµÄ Use SSH/Use HTTPS »»ÎÒÃÇÏëÒª¿Ë¡µÄ link£¬Èçͼ 2 ºÍ ͼ 3 Ëùʾ¡£×¢Ò⣬ÕâÀïÖ»ÊÇÇл»²é¿´²»Í¬µÄÁ´½Ó£¬¶ø²»ÊÇÉèÖôúÂë¿â²»Í¬µÄÁ´½Ó·½Ê½¡£

ͼ 2. ²é¿´ HTTPS ¿Ë¡Á´½Ó

ͼ 3. ²é¿´ SSH ¿Ë¡Á´½Ó

ÓÉ´ËÎÒÃÇ¿ÉÒÔ»ñµÃÁ½¸ö URL£º

HTTPS Á´½Ó£ºhttps://github.com/caozhi/repo-for-developerworks.git

SSH Á´½Ó£ºgit@github.com:caozhi/repo-for-developerworks.git

ʹÓà HTTPS ½øÐпË¡

ÓÉÓÚ´úÂë¿âÊÇ¿ª·ÅµÄ£¬Òò´ËʹÓà HTTPS ·½Ê½¿Ë¡ʱ£¬ÎÞÐè GitHub Óû§ÃûÃÜÂ룬ÈçÇåµ¥ 2 Ëùʾ£º

Çåµ¥ 2. ʹÓà HTTPS ½øÐпË¡

caozhi@ clone$ git clone https://github.com/caozhi/repo-for-developerworks.git
Cloning into 'repo-for-developerworks'...
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 14 (delta 3), reused 5 (delta 1), pack-reused 0
Unpacking objects: 100% (14/14), done.

˳±ãÌáһϣ¬½øÐÐ pull ºÍ fetch ²Ù×÷ʱҲÎÞÐèÓû§ÃûÃÜÂëÈÏÖ¤¡£ÒòΪ GitHub µÄ»úÖÆÔÊÐíËæÒâÃâ·ÑÏÂÔØÈκι«¿ªµÄ´úÂë¿â£¬ÈçÈôÒª push ´úÂëÐè¾­¹ýÈÏÖ¤»òÕß¾­¹ý×÷ÕßͬÒâ²Å¿É¡£µ±Òª½øÐÐ push ʱ£¬»á³öÏÖÌáʾҪÇóÊäÈëÓû§ÃûÃÜÂ룬ÈçÇåµ¥ 3 Ëùʾ£º

Çåµ¥ 3. HTTPS ·½Ê½Ï push ´úÂë

caozhi@ repo-for-developerworks$ echo change >> README.md ## make some modification
caozhi@ repo-for-developerworks$ git add .
caozhi@ repo-for-developerworks$ git commit -m "changes"
[master d774ecf] changes
1 file changed, 1 insertion(+)
caozhi@ repo-for-developerworks$ git push
Username for 'https://github.com': caozhi0321@gmail.com ## Enter GitHub account name
Password for 'https://caozhi0321@gmail.com@github.com': ## Enter Password
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 528 bytes | 528.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 1 local object.
To https://github.com/caozhi/repo-for-developerworks.git
075c130..d774ecf master -> master

ʹÓà SSH ½øÐпË¡

ʹÓà SSH ·½Ê½½øÐпË¡£¬ÐèÒªÒ»²½¶îÍâµÄÅäÖà SSH-KEY µÄ²Ù×÷¡£Ê×ÏÈÐèÒª±¾µØÉú³ÉÒ»¸ö SSH Key¡£ÎÒÃÇ¿ÉÒÔ½èÖú ssh-keygen ¹¤¾ßÉú³ÉÒ»¶Ô RSA µÄÃØÔ¿£ºË½Ô¿ id_rsa ºÍ¹«Ô¿ id_rsa.pub¡£Éú³ÉµÄÃØÔ¿Îļþ»áĬÈÏ·ÅÔÚ home Ŀ¼Ï嵀 .ssh Ŀ¼Ï£¬Èçͼ 4 Ëùʾ£º

ͼ 4. ʹÓà ssh-keygen Éú³É RSA ÃØÔ¿

ÏȽ« id_rsa.pub ¹«Ô¿ÎļþµÄÄÚÈݸ´ÖƵ½¼ôÌù°å£¬Èçͼ 5 Ëùʾ£¬Ê¹Óà cat id_rsa.pub ÃüÁî¿ÉÒԲ鿴¹«Ô¿ÄÚÈÝ£¬Ëæºó½«¸Ã¹«Ô¿µ¼Èëµ½ GitHub ÀïµÄÕË»§Ö®Ï¡£

ͼ 5. ²é¿´ id_rsa.pub ¹«Ô¿Îļþ

ÔÚ GitHub Ò³ÃæÓÒÉϽǵÄÍ·ÏñÀïµã»÷Õ¹¿ªÒ»¸öÏÂÀ­²Ëµ¥£¬µã»÷ Settings ¿ÉÒÔ´ò¿ª¸öÉèÖÃÒ³Ãæ£¬Èçͼ 6 Ëùʾ£º

ͼ 6. ´ò¿ª GitHub ÉèÖÃ

´ò¿ª SSH and GPG keys µÄÅäÖÃÒ³Ãæ£¬µã»÷ÓÒÉÏ½ÇµÄ New SSH key °´Å¥£¬Èçͼ 7 Ëùʾ£º

ͼ 7. ´ò¿ª SSH and GPG keys µÄÅäÖÃÒ³Ãæ

ÔÚ´ò¿ªµÄÒ³ÃæÖÐÏÈÉèÖÃÒ»¸öÄúÏëµ¼ÈëµÄ¹«Ô¿µÄÃû³Æ£¬ÔÙ½«Ç°Ãæ¸´ÖÆµÄ¹«Ô¿ÄÚÈÝÕ³Ìùµ½´óÎı¾¿òÖУ¬µã»÷ Add SSH key ¼´¿É£¬Èçͼ 8 Ëùʾ£º

ͼ 8. ÊäÈë Key µÄÃû³Æ¼°ÆäÄÚÈÝ

Ò³Ãæ×Ô¶¯Ìø×ª»Ø SSH and GPG keys ÉèÖÃÒ³Ãæ£¬Äú¿ÉÒÔ¿´µ½ÔÚÎÒµÄÕ˺Åϳɹ¦ÐÂÔöÁËÒ»¸ö SSH Key£¬Èçͼ 9 Ëùʾ£º

ͼ 9. ²é¿´ÒѾ­Ìí¼ÓµÄ Key

´ËʱÎÒÃÇ¿ÉÒÔʹÓà SSH µÄ·½Ê½½øÐдúÂë¿Ë¡£¬»¹¿ÉÒÔʹÓà ssh -T ÃüÁî¼ì²âÊÇ·ñÅäÖóɹ¦, ÈçÇåµ¥ 4 ºÍ 5 Ëùʾ£º

Çåµ¥ 4. ʹÓà SSH ·½Ê½¿Ë¡

caozhi@ $ git clone git@github.com:caozhi/repo-for-developerworks.git
Cloning into 'repo-for-developerworks'...
remote: Counting objects: 20, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 20 (delta 5), reused 10 (delta 2), pack-reused 0
Receiving objects: 100% (20/20), done.
Resolving deltas: 100% (5/5), done.

Çåµ¥ 5. ¼ì²â SSH ÊÇ·ñÅäÖóɹ¦

caozhi@bogon:~$ ssh -T git@github.com
Hi caozhi! You've successfully authenticated, but GitHub does not provide shell access.

ʹÓà SSH µÄ·½Ê½½øÐпË¡£¬½«Ê¹µÃÎÒÃDZ¾µØÓë GitHub Ö®¼ä½¨Á¢ÁËÐÅÈÎÁ¬½Ó£¬Ò²¾ÍÒâζ×ÅÖ®ºóËùÓÐÐèÒª½øÐÐÓû§ÈÏÖ¤µÄµØ·½¶¼²»ÔÙÐèÒªÏÔʽµØÓû§ÃûÃÜÂëÈÏÖ¤¡£ÀýÈç git push »áÖ±½Óͨ¹ý SSH ½øÐÐÈÏÖ¤¡£¾­Ñé±íÃ÷£¬Ê¹Óà SSH µÄÁíÒ»¸öºÃ´¦ÊÇÔÚÍøÂç»·¾³½Ï²îµÄÇé¿öÏ£¬ÆäÎȶ¨ÐÔÒª¸ßÓÚ HTTPS Á¬½Ó¡£

ÖÁ´Ë£¬ÎÒÃdzɹ¦µØÊ¹Óà Git ÃüÁîÐз½Ê½¿Ë¡ÁË´úÂë¿â£¬Ö®ºó¾Í¿ÉÒÔ½øÐÐÕý³£µÄÈÕ³£¿ª·¢¡£

ʹÓà Git ¿Ë¡Զ³Ì²Ö¿â

µ±Ò»¸ö¿ª·¢Õ߸սøÈëijһÏîÄ¿£¬Ò»°ãÀ´ËµËûËùÒª×öµÄµÚÒ»¼þÊÂÊǿˡԶ³Ì²Ö¿âµ½±¾µØ£¬ÒÔ½øÐб¾µØ¿ª·¢¹¤×÷¡£Ô¶³Ì²Ö¿â¿ÉÒÔÊÇÀ´×ÔÓÚ GitHub »òÕß GitLab µÈ´úÂëÍйܷþÎñ£¬Ò²¿ÉÒÔÊÇÏîÄ¿×é×Ô¼ºËù´îÉèµÄ Git ·þÎñÆ÷¡£ÎÞÂÛÊÇÄÄÖÖÔ¶³Ì²Ö¿â£¬¶¼¿ÉÒÔʹÓà git clone ÃüÁî git clone <repository> [local_path] ½«Æä´ÓÔ¶¶Ë¿Ë¡µ½±¾µØ¡£ÃüÁîÖмäµÄ <repository> ¸ù¾ÝÔ¶¶Ë²Ö¿âÌṩµÄÁ¬½Ó·½Ê½²»Í¬£¬ÆäÐÎʽ¿ÉÄܲ»Í¬£¬ÀýÈ磺

GitHub µÄ HTTPS Á¬½Ó£º

https://github.com/caozhi/repo-for-developerworks.git

GitHub µÄ SSH Á¬½Ó£º

git@github.com:caozhi/repo-for-developerworks.git

×Ô½¨²Ö¿âµÄ SSH Á¬½Ó£º

git_user@192.168.0.1:/usr/local/repo-for-developerworks.git

ÆäÖÐǰÁ½ÖÖ GitHub µÄÁ¬½Ó·½Ê½£¬Æä²Ö¿âµÄÁ¬½Ó×Ö·û´®¿ÉÒÔÔÚ GitHub µÄ¶ÔÓ¦²Ö¿âÒ³ÃæÖÐÕÒµ½£¬Èçǰͼ 2 ºÍͼ 3Ëùʾ¡£

µÚÈýÖÖ×Ô½¨²Ö¿âµÄ URL Ò»°ãÐèÒªÌṩԶ¶Ë·þÎñÆ÷ÉϵÄÕ˺š¢host ºÍ·¾¶¡£ÒÔÉÏÃæÀý×ÓÖеÄÁ¬½Ó×Ö·û´® git_user@192.168.0.1:/usr/local/repo-for-developerworks.git ΪÀý£º

git_user ÊÇ·þÎñÆ÷É϶ԴúÂë¿âĿ¼ÓзÃÎÊȨÏÞµÄÕ˺š£

192.168.0.1 ÊÇÔ¶¶Ë·þÎñÆ÷µÄ IP£¬Ò²¿ÉÒÔÊÇÖ÷»úÃû»òÕß URL¡£

/usr/local/repo-for-developerworks.git ÊÇ·þÎñÆ÷ÉÏ´úÂë¿âµÄ¸ùĿ¼¡£

git clone ÃüÁîÖÐµÄ local_path Ö¸¶¨Á˱¾µØÏëÒª´æ·Å´úÂë¿âµÄµØÖ·¡£¸Ã²ÎÊýÊÇ¿ÉÑ¡²ÎÊý£¬Èç¹û²»Ö¸¶¨¸Ã²ÎÊý¾Í»áÔÚ±¾µØÐ½¨Ò»¸öÒÔÔ¶³Ì²Ö¿âÃûΪÃüÃûµÄĿ¼£¬È»ºóÒÔ¸ÃĿ¼Ϊ´úÂë¿â¸ùĿ¼¡£Í¼ 10 չʾÁËÔÚ¿ÕĿ¼ clone_demo ÖÐÖ´Ðв»´ø local_path ²ÎÊýµÄ clone ÃüÁ

ͼ 10. local_path Ϊ¿Õ

´Ó½ØÍ¼¿ÉÒÔ¿´µ½£¬git clone ÃüÁîÔÚ clone_demo Ŀ¼Öд´½¨ÁËÒ»¸ö repo-for-developerworks µÄ´úÂë¿âĿ¼¡£

ͼ 11 չʾÁËÔÚĿ¼ clone_demo ÖÐÖ´Ðдø local_path ²ÎÊýµÄ clone ÃüÁ

ͼ 11. local_path ²ÎÊýΪָ¶¨Â·¾¶

´Ó½ØÍ¼¿ÉÒÔ¿´µ½£¬git clone ÃüÁîÔÚ clone_demo Ŀ¼ÖÐн¨ÁËÒ»¸öÎÒÃÇÖ¸¶¨µÄ local_dev-repo Ŀ¼£¬²¢½«Æä×÷Ϊ±¾µØ´úÂë¿âµÄ¸ùĿ¼¡£

ͼ 12 չʾÁËÔÚ¿ÕĿ¼ clone_demo2 ÖÐÖ´ÐÐ local_path Ϊµ±Ç°Ä¿Â¼µÄ clone ÃüÁ

ͼ 12. local_path ²ÎÊýΪµ±Ç°Ä¿Â¼

ÎÒÃÇÖªµÀÒ»°ã²Ù×÷ϵͳ½«Ò»¸öÓ¢Îľäµã±íʾµ±Ç°Ä¿Â¼£¬Òò´Ë´Ó½ØÍ¼¿ÉÒÔ¿´³ö£¬µ± local_path Ö¸¶¨Îªµ±Ç°Ä¿Â¼Ê±£¬git clone ÃüÁî»áÖ±½Ó½«µ±Ç°Ä¿Â¼×÷Ϊ±¾µØ´úÂë¿âµÄ¸ùĿ¼¡£

µ±È» Git »¹ÌṩÆäËüµÄÁ¬½Ó·½Ê½Èç File¡¢FTP¡£¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔ×Ô¼ºÊ¹Óà Git ´îÒ»¸ö Git ·þÎñÆ÷³¢ÊÔʹÓà File ºÍ FTP ·½Ê½½øÐÐÁ¬½Ó¡£

ĬÈÏÇé¿öÏ£¬git clone »á½«Ô¶¶Ë´úÂë¿âÈ«²¿¿Ë¡µ½±¾µØ¡£Git »¹Ö§³ÖÖ»¿ËÂ¡ÌØ¶¨·ÖÖ§µ½±¾µØ¡£ÎÒÃÇ¿ÉÒÔʹÓà git clone -b branchname --single-branch git@URL local_path ÃüÁî, Èçͼ 13 Ëùʾ£º

ͼ 13. ¿ËÂ¡ÌØ¶¨·ÖÖ§

Git µÄ»ù±¾ÅäÖÃ

ÔÚ¿Ë¡ÁË´úÂë¿âÖ®ºó£¬ÎÒÃÇÒ»°ãÈÔÐèÒª¶Ô Git ×öһЩ»ù±¾µÄÅäÖòÅÄÜʹÓà Git ½øÐÐÈÕ³£¹¤×÷¡£Git ÅäÖõÄ×÷ÓÃÓòÖ÷ÒªÓÐÈýÖÖ£ºSystem¡¢Global ºÍ Local£¬·Ö±ð¶ÔÓ¦µÄÅäÖÃÎļþµØÖ·Îª£º

System£º/etc/gitconfig¡£ÏµÍ³¼¶±ðÓÐЧ¡£

Global£ºhome Ŀ¼Ï嵀 ~/.gitconfig Îļþ¡£Óû§¼¶±ðÓÐЧ¡£

Local£º´úÂë¿âĿ¼µÄ .git/config Îļþ¡£´úÂë¿â¼¶±ðÓÐЧ¡£

ÁíÍâÎÒÃÇÒ²¿ÉÒÔʹÓà git config --system -l£¬git config --global -l£¬git config --local -l ÃüÁî·Ö±ðÁгöÈý¸ö×÷ÓÃÓòϵÄÅäÖ᣸ú Linux ²Ù×÷ϵͳµÄ»·¾³±äÁ¿ÅäÖÃÀàËÆ£¬Git ÔÚÖ´ÐÐÃüÁîÖлáÊ×ÏȲ鿴 local ÅäÖã¬Èç¹ûûÓÐÕÒµ½ËùÐèÅäÖûáÔٲ鿴 global ÅäÖã¬×îºóÔٲ鿴 system ÅäÖá£

ÔÚʹÓà git config ÃüÁî½øÐÐÅäÖõÄʱºò£¬Ò²¿ÉÒÔʹÓà git config --system£¬git config --global£¬git config --local ÈýÖÖ²»Í¬µÄÑ¡ÏîÀ´Ð޸IJ»Í¬×÷ÓÃÓòµÄÅäÖá£

ÏÂÃæ½éÉÜÒ»Ð©ÖØÒª»òÓÐÓÃµÄ Git ÅäÖá£

ÅäÖÃ user ÐÅÏ¢

ÅäÖà user ÐÅÏ¢ÔÚ Git ÖÐÊÇÊ®·ÖÖØÒªµÄÒ»¸ö²½Öè, username ºÍ email ²»ÄÜΪ¿Õ£¬ËüÃǽ«»á±»¼Ç¼ÔÚÿһÌõ¸Ã user µÄ commit ÐÅÏ¢ÖУ¬Èçͼ 14 Ëùʾ:

ͼ 14. ²é¿´ commit µÄ user ÐÅÏ¢

ÎÒÃÇ¿ÉÒÔÅäÖà user.name ºÍ user.email µÄÖµÀ´ÅäÖà user ÐÅÏ¢£¬ÈçÇåµ¥ 6 Ëùʾ:

Çåµ¥ 6. ÅäÖà user.name ºÍ user.email

git config --global user.name "caozhi"
git config --global user.email "caozhi0321@gmail.com"

Ò²¿ÉÒÔ½«ÉÏÊöÃüÁîÖÐµÄ --global¸Ä³É --localÀ´ÐÞ¸ÄÖ»¶Ô´úÂë¿â×÷ÓÃÓòÓÐЧµÄÅäÖá£

ÅäÖÃÃüÁîµÄ±ðÃû

Git ÌṩÁ˺ܶàÓÐÓõÄÃüÁÎÒÃÇ¿ÉÒÔ½«Ò»Ð©±È½Ï³£ÓõÄÃüÁîÉèÖÃÉϱðÃû£¬Ìá¸ß¹¤×÷ЧÂÊ¡£ÀýÈçÎÒÃÇ¿ÉÒÔ½« git log --abbrev-commit ÉèÖÃÒ»¸ö±ðÃû lg£¬Ê¹µÃ²é¿´ log ʱֻÐèÒªÏÔʾ commit id µÄ¶ÌÃû³Æ£¬Èç: git config --global alias.lg "log --abbrev-commit"

ÉèÖóɹ¦ºó¾Í¿ÉÒÔʹÓà git lg À´²é¿´ commit ÈÕÖ¾£¬Èçͼ 15 Ëùʾ:

ͼ 15. ¶ÌÃû³ÆµÄÈÕÖ¾

µ±È»»¹¿ÉÒÔÉèÖÃһЩÆäËüµÄ±ðÃû£¬ÈçÇåµ¥ 7 Ëùʾ:

Çåµ¥ 7. ÅäÖà st ºÍ cm ±ð

git config --global alias.st "status"
git config --global alias.cm "commit"

±ðÃû¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄϲºÃºÍϰ¹ßÈ¥ÉèÖ᣽«³£ÓõÄÃüÁîÉèΪ¶Ì±ðÃû½«´ó´óÌá¸ß¹¤×÷ЧÂÊ¡£

²é¿´ÅäÖÃ

ÅäÖóɹ¦ºó¿ÉÒÔʹÓà git config --global -l ÃüÁî²é¿´ÅäÖã¬Èçͼ 16 Ëùʾ£º

ͼ 16. ²é¿´ÅäÖÃ

ʹÓà Config Îļþ½øÐÐÅäÖÃ

³ýÁËʹÓÃÃüÁîÖ®Í⣬Ҳ¿ÉÒÔÖ±½Ó±à¼­ config Îļþ½øÐÐÏà¹ØÅäÖã¬Èçͼ 17 Ëùʾ:

ͼ 17. ~/.gitconfig ÎļþÀïµÄÅäÖÃ

ÉèÖà Git ºöÂÔÌá½»¹æÔò

ÔÚ½øÐÐÍê´úÂë¿â¿Ë¡ºÍ¼òµ¥µÄÅäÖÃÖ®ºó£¬½ÓÏÂÀ´ÎÒÃÇ¿ÉÒÔ¸ù¾ÝÏîÄ¿ÐèÒªÅäÖÃһЩÎļþºöÂÔ¹æÔò¡£¸ú´ó¶àÊýµÄ´úÂë¿â¹ÜÀí¹¤¾ßÒ»Ñù£¬Git Ò²¿ÉÒÔ¶Ô²»ÐèÒª±»´úÂë¿âËù¹ÜÀíµÄÎļþ»òÎļþÀàÐͽøÐÐÅäÖã¬Ê¹µÃÌá½»´úÂëʱ£¬ÕâЩÎļþ²»»á±»Ìá½»µ½´úÂë¿âÖС£Git ÊÇͨ¹ýºöÂÔÇåµ¥.gitignore Îļþ½øÐÐÅäÖõġ£

ͨ³£ÎÒÃǻῼÂǽ«ÈçÏÂÀàÐ͵ÄÎļþÌí¼Óµ½ºöÂÔÇåµ¥ÖÐ:

±àÒë¹ý³ÌµÄÖмäÎļþ£¬ÀýÈç *.class Îļþ¡¢*.o Îļþ¡¢*.obj ÎļþµÈ¡£

ÍⲿÒÀÀµµÄ°ü»òÕß¹¤³Ì±àÒëµÄ°ü£¬ÀýÈç jar °ü¡¢lib °ü¡¢dll °ü»ò war °üµÈ¡£ÔÚÓеÄÏîĿʵ¼ùÖУ¬¿ÉÄܻὫÕâÀàÒÀÀµ°üÒ²·Åµ½´úÂë¿âÖнøÐйÜÀí£¬Í¨³£Õâ²»ÊÇÒ»¸öºÜºÃµÄ²ßÂÔ£¬ÒòΪÕâÑù»áÏÔÖøµØÔö¼Ó´úÂë¿âµÄ´óС£¬½µµÍ¿ª·¢ÕߵŤ×÷ЧÂÊ¡£±È½ÏºÏÀíµÄ·½Ê½ÊÇͨ¹ý¹¹½¨¹¤¾ßµÄÒÀÀµ¹ÜÀí¹¦ÄÜÀ´¹ÜÀíÕâЩÒÀÀµ°ü£¬ÀýÈç Maven¡¢Gradle µÈ¡£

±àÒë¹ý³ÌÖУ¬Í¨¹ýijÖÖ»úÖÆ×Ô¶¯Éú³ÉµÄ´úÂ롣ijЩÏîÄ¿ÖУ¬¿ÉÄÜ»áʹÓýű¾»òÕß xsd schema ÎļþÀ´Éú³É´úÂ룻ÕâÀà´úÂëÖ»ÐèÒª½«ÓÃÓÚ×Ô¶¯Éú³ÉµÄ½Å±¾»òÕß schema Îļþ¹ÜÀíÆðÀ´¼´¿É¡£

ÏîÄ¿µÄÅäÖÃÎļþ¡£Í¬Ò»ÏîÄ¿×éµÄ²»Í¬¿ª·¢Õß¿ÉÄÜÓв»Í¬µÄÏîÄ¿ÅäÖ㬻òÕßÅäÖÃÖаüº¬Ãô¸ÐÐÅÏ¢£¬ÀýÈçÕ˺ÅÃÜÂëµÈ£¬ÕâÀàÅäÖÃÎļþÒ²Ó¦¸Ã·Åµ½ ignore Çåµ¥Àï¡£

ijЩ IDE µÄ¹¤³ÌÅäÖÃÎļþ£¬ÀýÈç Eclipse µÄ setting ºÍ project Îļþ¡¢Idea µÄ .idea Ŀ¼µÈ¡£

һЩ×Ô¶¯Éú³ÉµÄϵͳÎļþ£¬ÀýÈç Windows µÄ Thumbs.db »òÕß MacOS µÄ.DS_Store ÎļþµÈ¡£

ÏîÄ¿»òÕß IDE µÄÈÕÖ¾Îļþ¡£

.gitignore ÎļþÿÐбíʾһ¸öÆ¥Åäģʽ£¨# ¿ªÍ·µÄÐлòÕß¿ÕÐгýÍ⣬# ÓÃÓÚ×¢ÊÍ£©¡£ËüʹÓà glob ģʽÀ´½øÐÐÆ¥Å䣬glob ģʽÊÇÒ»ÖÖ¼ò»¯µÄÕýÔò±í´ïʽ£¬³£ÓÃÓÚÀ´½øÐз¾¶µÄģʽƥÅä¡£ÎÒÃÇ¿ÉÒÔÔÚ´úÂë¿âµÄ¸ùĿ¼»òÕßÈÎÒâ×ÓĿ¼Ìí¼Ó.gitignore Îļþ£¬Ìض¨Ä¿Â¼ÏµÄ.gitignore ÎļþʹµÃºöÂÔ¹æÔòÖ»ÔÚ¸ÃĿ¼¼°Æä×ÓĿ¼ÏÂÓÐЧ¡£±í 1 ÁгöÁ˳£ÓõÄһЩƥÅäģʽµÄд·¨£º

±í 1. ³£ÓÃÆ¥Åäģʽ

×¢Ò⣺

µ±Ä³¸öÎļþÒѾ­±»Ìá½»µ½´úÂë¿âÖб» Git Ëù¹ÜÀíÆðÀ´Ö®ºó£¬½«¸ÃÎļþÔÙÌí¼Ó½ø .gitignore ÎļþÊÇÎÞЧµÄ£¬¶Ô¸ÃÎļþ½øÐÐÐÞ¸Äʱ£¬Ö´ÐÐ git status ²Ù×÷Ö®ºóÈÔÈ»»áÌáʾ¸ÃÎļþÒѱ»Ð޸ġ£Õë¶ÔÒѾ­Ìá½»´úÂë¿âµÄÎļþÎÒÃÇÓÖÏëºöÂÔÆäÐ޸ĵij¡¾°£¬½«»áÔÚ±¾ÏµÁеÚËÄÆªÎÄÕÂÖнéÉÜ¡£

ÿ¸öĿ¼Ï¶¼¿ÉÒԷŵ¥¶ÀµÄ .gitignore ÎļþÒÔ¿ØÖÆ×ÓĿ¼µÄºöÂÔ¹æÔò¡£

¼´Ê¹ÒѾ­ÔÚºöÂÔÁбíÀµ±ÎÒÃÇȷʵÏëÒªÌύһЩ·ûºÏºöÂÔ¹æÔòµÄÎļþʱ£¬ÈÔ¿ÉÒÔʹÓà git -f add ¼Ó¾ßÌåµÄÎļþ·¾¶µÄ·½Ê½½«ÕâЩÎļþÌá½»µ½¿âÖС£Èçͼ 18 Ëùʾ£º

ͼ 18. Ç¿ÖÆÌí¼Ó±»ºöÂÔµÄÎļþ

GitHub ÓÐÒ»¸öÊ®·ÖÏêϸµÄÕë¶ÔÊýÊ®ÖÖÏîÄ¿¼°ÓïÑ﵀ .gitignore ÎļþÁбíÄ£°å£¬¿ÉÒÔÔÚ https://github.com/github/gitignore ÕÒµ½Ëü¡£

½áÊøÓï

ΪʹÓà Git ºÍ GitHub ½øÐÐÈÕ³£¿ª·¢×ö×¼±¸£¬±¾ÎÄÏêϸͨ¹ýһЩÁÐÑÝʾÏò¶ÁÕß½²½âÁËÈçºÎ²ÉÓà SSH ºÍ HTTPS Á½ÖÖ·½Ê½´Ó GitHub ¿Ë¡´úÂë¿â£¬ÈçºÎ½øÐб¾µØ Git ¿ª·¢»·¾³µÄ»ù´¡ÅäÖã¬ÈçºÎÅäÖà .gitignore ÎļþµÈ¡£ÏàÐÅÄúÔÚÔĶÁÍê±¾ÎÄÖ®ºó½«ÓÐÄÜÁ¦×Ô¼º³õʼ»¯Ò»Ì×±¾µØµÄ Git »·¾³¡£

 
   
1892 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí