±à¼ÍƼö: |
±¾ÎÄÀ´×Ô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 »·¾³¡£ |