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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
GITʹÓý̳ÌÓë»ù±¾Ô­Àí
 
×÷ÕߣºÌìÃ× À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-1-26
  4105  次浏览      27
 

1¡¢Ê²Ã´ÊÇGIT

GitÊÇÒ»¸öÇ¿µ÷Ëٶȵķֲ¼Ê½°æ±¾¿ØÖÆÈí¼þºÍÔ´´úÂë¹ÜÀíϵͳ£¨SCM£¬source code management£©¡£Git×î³õÊÇÓÉLinus TorvaldsΪÄں˿ª·¢¶øÉè¼ÆµÄ¹ÜÀíÈí¼þ¡£×Ô´ÓGitÍÆ³öÒÔÀ´£¬ÒѾ­±»ºÜ¶à¿ªÔ´ÏîÄ¿Ëù²ÉÄÉ¡£Ã¿Ò»¸öGit¹¤×÷Ŀ¼ÊÇÒ»¸ö´øÓÐÍêÈ«ÀúÊ·¼Ç¼ºÍ°æ±¾ÐÅÏ¢µÄ²Ö¿â£¬²»ÒÀÀµÓÚÍøÂçºÍÖÐÑë·þÎñÆ÷¡£GitÊÇÒ»¸öÃâ·ÑµÄ¿ªÔ´Èí¼þ£¬×ñ´ÓGNU v2ЭÒé¡£

GitÕâ¸ö´ÊÔÚÓ¢ÓïÖеÄÔ­ÒâÊǺܱ¿×¾£¬Ã»ÓõÄÈË¡£Linus×Ô³°Ëµ£º“ÎÒÊÇÒ»¸öÈÎÐԵı¿µ°£¬ËùÒÔÎÒ°ÑÎÒµÄËùÓеÄÏîÄ¿µÄÃû×Ö¶¼ºÍÎÒºÜÏàËÆ¡£µÚÒ»¸öÊÇLinux£¬ÏÖÔÚÊÇGit¡£”GitµÄ°ïÖúÎĵµÖÐÃèÊöGitΪ£º±¿×¾µÄÄÚÈݸú×ÙÕߣ¨the stupid content tracker£©¡£(·­Òë×ÔWIKI)

¹ØÓÚ¿ª·¢GitµÄһЩÀúÊ·ÓÉÀ´£¬¿ÉÒÔ¿´¿´Õâ¸öÍøÕ¾£ºhttps://lkml.org/lkml/2005/4/6/121

2¡¢ÎªÊ²Ã´ÒªÓÃGIT

1.¸ü˳³©µÄ¹¤×÷Á÷³Ì£¬¿ª·¢¹ý³ÌÖУ¬ÍêÈ«¿ÉÒÔÀëÏß²Ù×÷

2.¿ìËÙ£¬Git·Ö²¼Ê½¼Ü¹¹Ê¹µÃ±¾µØ²Ö¿â°üº¬ËùÓеÄÀúÊ·°æ±¾ÐÅÏ¢£¬Äã¿ÉÒÔÔÚ²»Í¬µÄ°æ±¾Ö®¼ä¿ìËÙÇл»

3.µ¯ÐԵı¾µØ·ÖÖ§£¬ÔÚsvnÏ£¬Ä㽨һ¸ö·ÖÖ§ÐèÒª°ÑÔ´´úÂë¸´ÖÆµ½ÁíÍâÒ»¸öÎļþ¼Ð£¬¶øÔÚGitÏ£¬´´½¨·ÖÖ§µÄ´ú¼ÛÊǷdz£Ð¡µÄ£¬Ö»ÐèÒ»ÌõÃüÁî

4.²Ö¿âĿ¼½á¹¹¼ò½à£¬ÓÃGit¸´ÖÆÒ»¸öÏîÄ¿£¬Ö»»áÔÚÏîÄ¿¸ùĿ¼´´½¨Ò»¸ö.gitµÄĿ¼£¬¶øÆäËûĿ¼ºÜ¸É¾»

5.ÄÚÈݰ´ÔªÊý¾Ý·½Ê½´æ´¢£¬ËùÓеİ汾ÐÅÏ¢¶¼Î»ÓÚ.gitĿ¼ÏÂ

6.ÍêÕûÐԺ㬸üÒ×ÓÚЭ×÷¿ª·¢

7.Óû§Èº´ó£¬ÏÖÔÚÒѾ­ÓгÉǧÉÏÍò¸ö¿ªÔ´ÏîÄ¿²ÉÓÃGitÀ´×öÏîÄ¿¹ÜÀí£¬githubÉϸüÊÇÓÐÎÞÊý¸ö´úÂë²Ö¿â

3¡¢GIT°²×°ÓëÅäÖÃ

a)°²×°

1.´ÓÔ´Âë°²×°

ÔÚ°²×°Ö®Ç°£¬Äã±ØÐë±£Ö¤ÒÔϼ¸¸öÒÀÀµ°üÒѾ­°²×°ÔÚÄãµÄϵͳÉÏ£ºcurl, zlib, openssl, expat, libiconv¡£Èç¹ûÄãµÄϵͳÊÇUbuntu£¬Äã¿ÉÒÔÕâÑù°²×°£º

apt-get install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

µ±ËùÓеÄÒÀÀµÏîÒѾ­½â¾ö£¬¾Í¿ÉÒÔ´Óhttp://git-scm.com/downloadÉÏÏÂÔØGitµÄÔ´Â룬Ȼºó±àÒë°²×°£¬¾ßÌåÃüÁîÈçÏ£º

tar -zxf git-1.*.*.*.tar.gz

cd git-1.*.*

make prefix=/usr/local all

sudo make prefix=/usr/local install

2.ÔÚLinuxÉϰ²×°

Èç¹ûÄãµÄϵͳÊÇLinux»òÕßFedora£¬Äã¿ÉÒÔͨ¹ýÒÔÏÂÃüÁîÖ±½Ó°²×°Git£º

yum install git-core (fedora)

apt-get install git-core (ubuntu)

3.ÔÚWindowsÉϰ²×°

¾¡¹ÜGitÊÇ·¢Ô´ÓÚLinux£¬µ«ÏÖÔÚWindowsÉÏÒ²ÓÐÄܹ»Õý³£Ê¹ÓÃGit£¬Ö»²»¹ý²»Ö§³ÖÖÐÎÄ£¬ÔÚWindowsÏÂËùÓеÄÖÐÎͼÏÔʾÎʺţ¬ÁíÍ⻹ÓÐһЩ¹¦ÄÜÉϵÄBUG¡£ËùÒÔ½¨Ò黹ÊÇÔÚLinuxÉÏȥʹÓÃGit£¬Èç¹ûÄã²»µÃ²»¹¤×÷ÔÚWindowsÉÏ£¬Äã¿ÉÒÔµ½http://msysgit.github.com/ÉÏÏÂÔØmsysgitµÄ×îа棬°²×°¹ý³ÌºÍÆäËûWindows³ÌÐò²î²»¶à£¬»ù±¾ÉϵãÏÂÒ»²½¾ÍOKÁË¡£MsysgitĬÈϻᰲװgit bashºÍgit GUIÕâÁ½¸ö³ÌÐò£¬Ò»°ãÓÃgit bash¾Í¿ÉÒÔÁË£¬ËüÖ§³Ö³£ÓõÄÃüÁî¡£Èç¹û¶ÔLinuxÃüÁîÐв»Ê죬ÄãÒ²¿ÉÒÔÓÃÓÃgit GUI£¬µ«¹¦ÄÜÓÐÏÞÖÆ¡£

b)µÚÒ»´ÎʹÓÃGIT

ÔÚÄã°²×°ºÃGitÖ®ºó£¬ÄãÐèÒªÐÞ¸ÄһЩÅäÖ㬲ÅÄÜÕý³£Ê¹ÓÃGit¡£

Gitͨ¹ý“git config”ÃüÁîÀ´ÅäÖÃGit£¬Õâ¸öÃüÁîÓÐ2¸öÑ¡Ï--system, --global, ¼ÓÉÏĬÈÏÑ¡Ï·Ö±ð¶ÔÓ¦GitÉÏ3¼¶ÅäÖÃÎļþ¡£µÚÒ»¸öÊÇ/etc/gitconfigÎļþ£¬ºÍ--system¶ÔÓ¦£¬ÕâÊÇÈ«¾ÖÅäÖÃÎļþ£¬ÐÞ¸ÄÕâ¸öÎļþ£¬½«»áÓ°ÏìϵͳÉÏËùÓеÄÓû§£¬ËùÓеIJֿ⡣µÚ¶þ¸öÊÇÄã¼ÒĿ¼ÏµÄ/.gitconfigÎļþ£¬Óë--global¶ÔÓ¦£¬ÐÞ¸ÄËü»á¶ÔÄ㵱ǰÓû§µÄËùÓвֿâ²úÉúÓ°Ïì¡£µÚÈý¸öÊÇÄã²Ö¿âÖеÄ.git/.gitconfigÎļþ£¬ÕâÊÇ“git config”ĬÈÏÐ޸ĵÄÅäÖÃÎļþ£¬ËüÖ»»á¶ÔÄ㵱ǰ²Ö¿â²úÉúÓ°Ïì¡£

ÔÚµÚÒ»´ÎʹÓÃGitʱ£¬ÄãÐèÒª¸æËßÄãµÄЭͬ¿ª·¢Õߣ¬ÄãÊÇË­ÒÔ¼°ÄãµÄÓÊÏ䣬ÔÚÄãÌá½»µÄʱºò£¬GitÐèÒªÕâÁ½¸öÐÅÏ¢¡£¾ßÌåͨ¹ýÒÔÏÂÃüÁîÉèÖãº

git config --global user.name “Test OSS”

git config --global user.email oss.lzu.edu.cn@gmail.com

µ±È»ÄãÒ²¿ÉÒÔ²»ÓÃ--globalÑ¡Ïµ«ÕâÒâζÕâÄãÔÚÿһ¸ö²Ö¿âÖж¼ÒªÕâÑùÉèÖá£

ͬʱ£¬ÄãÒ²¿ÉÒÔÖ¸¶¨ÄãµÄ±à¼­Æ÷£¬ÄãµÄDiff¹¤¾ß£º

git config --global core.editor vim

git config --global merge.tool vimdiff

Ä㻹¿ÉÒÔͨ¹ý”git config --list”ÃüÁîÀ´²é¿´ÄãµÄÉèÖá£

µ±Äã°ÑGitÉèÖúÃÖ®ºó£¬Èç¹ûÄãÒªºÍ´ÓGit·þÎñÆ÷ÉÏ»ñµÃ²Ö¿â£¬»òÕßÏòGit·þÎñÆ÷Ìá½»ÄãµÄ´úÂ루±ÈÈçgithub£©£¬Äã¿ÉÄÜÐèÒªÉú³ÉÄã×Ô¼ºµÄsshÃÜÔ¿¶Ô¡£GitÖ§³Ö4ÖÖÓë·þÎñÆ÷¶ËͨÐŵÄЭÒ飺git¡¢http¡¢sshºÍhttps¡£ÆäÖÐgitÖ»ÊÇÒ»¸öÖ»¶ÁЭÒ飬Ҳ¾ÍÊÇ˵ÄãÖ»¿ÉÒÔ´Ó·þÎñÆ÷¶Ë»ñÈ¡²Ö¿â£¬µ«ÊÇÄã²»ÄÜÌá½»Äã×Ô¼ºµÄ´úÂë¡£¶øhttpºÍhttpsÓõĺÜÉÙ£¬´ó²¿·Ö¶¼Ö»Ö§³ÖsshЭÒéºÍGitЭÒé¡£

µ±Äãͨ¹ýsshЭÒéÓëÔ¶¶Ë·þÎñÆ÷½øÐÐͨÐŵÄʱºò£¬Äã¿ÉÒÔͨ¹ýÒÔÏÂÃüÁîÉú³ÉsshÃÜÔ¿¶Ô£º

ssh-keygen -t rsa

Èç¹ûÄãûÓÐÖ¸¶¨ÃÜÔ¿Ãû³ÆºÍ´æ·Å·¾¶µÄ»°£¬ËüĬÈϰÑÁ½¸ö²»¶Ô³ÆÃÜÔ¿·ÅÔÚÄãµÄ¼ÒĿ¼ÏµÄ.sshĿ¼Ï£¬ÃÜÔ¿ÎļþĬÈÏÃû³ÆÎªid_rsaºÍid_rsa.pub£¬Ç°ÕßÊÇ˽Կ£¬ºóÕßÊǹ«Ô¿¡£Öмä¿ÉÄÜ»áÒªÄãÉ趨·ÃÎÊÃÜÔ¿ÃÜÂ룬Õâ¸ö¿ÉÒÔÉ裬¿ÉÒÔ²»É裬µ«ÎªÁ˰²È«¿¼ÂÇ£¬»¹Êǽ¨ÒéÄãÉèÒ»¸ö·ÃÎÊÃÜÂë¡£·ñÔò£¬Òâζ×ÅÈκγÖÓÐÄãÃÜÔ¿µÄÈ˶¼¿ÉÒÔʹÓøÃÃÜÔ¿¡£

È»ºó°ÑÄãµÄ¹«Ô¿·¢¸øGit²Ö¿â¹ÜÀíÔ±£¬È»ºóÄã¾Í¿ÉÒÔͨ¹ýsshЭÒéÀ´·ÃÎÊ·þÎñÆ÷¶Ë£¬ÆÚ¼ä³ÌÐò»á×Ô¶¯½øÐÐÃÜÔ¿¶ÔÆ¥Å䣬Èç¹ûÄãÉèÁË·ÃÎÊÃÜÂ룬Äã¿ÉÄÜÐèÒªÊäÈëÃÜÂë¡£

¸ü¶à¹ØÓÚsshµÄÄÚÈÝ£¬Çë·ÃÎÊÕâÀhttp://www.freebsd.org/doc/zh_CN/books/handbook/openssh.html

ÕâЩÉ趨ÍêÖ®ºó£¬Äã¿ÉÒÔͨ¹ý»ñµÃÈκÎÒ»¸ö¹«¿ªµÄ´úÂë²Ö¿âÀ´¼ì²âÄãµÄgitÊÇ·ñ¹¤×÷Õý³£¡£±ÈÈçÏÂÃæÕâ¸ö£º

git clone git://git2.kernel.org/pub/scm/git/git.git

4¡¢GIT²Ö¿â

Git×öΪһ¸ö×ÊÔ´¹ÜÀíºÍ¸ú×Ùϵͳ£¬Èç¹ûÏëÒª°Ñ×Ô¼ºµÄÎļþÍйÜÔÚGitÉÏ£¬ÄÇôÊ×ÏÈÄãµÃÈÃGitÖªµÀÄãÐèÒª¹ÜÀíµÄÎļþÔÚÄÄ¡£±ÈÈç˵ÏÖÔÚÎÒÓÐÒ»¸öÏîÄ¿£¬ËüÔÚtestÎļþ¼ÐÀÎÒÏëÈÃGit¹ÜÀíÕâ¸öÏîÄ¿£¬Õâ¸öʱºòÄãÐè½øÈëµ½Õâ¸öĿ¼£¬È»ºóÔËÐГgit init”ÃüÁî¡£Õâ¸öʱºòGit¾Í»áÔÚ¸ÃĿ¼ÏÂÉú³ÉÒ»¸ö.gitµÄÒþ²ØÄ¿Â¼£¬GitÓÃÀ´½øÐа汾¿ØÖƺÍÄÚÈݸú×ÙµÄËùÓÐÎļþ¶¼ÔÚ¸ÃÎļþ¼ÐÏ¡£

´¦ÓÚgit¸ú×ÙϵÄÎļþÖ»¾ßÓÐÈýÖÖ״̬£º

1.Modified(working directory)£º±»Ð޸ĹýµÄÎļþ

2.Staged(staging area)£ºÍ¨¹ýgit addÌí¼Óµ½ÔÝ´æÇøÓòµÄÎļþ

3.Committed(git directory)£ºÍ¨¹ýgit commitÌá½»µ½²Ö¿âµÄÎļþ

ËùÒÔ£¬Ò»°ãµÄgit¹¤×÷Á÷³Ì¿ÉÄÜÊÇÕâÑù£ºÐ޸ĹýijЩÎļþ£¬È»ºó°ÑÕâЩÎļþÌí¼Ó¶¼ÔÝ»ºÇø£¬ÔÙÌá½»µ½²Ö¿âÖÐÐγÉÒ»¸ö°æ±¾»ò¿ìÕÕ£¬×îºóÌá½»µ½git·þÎñÆ÷ÉÏ¡£¶øÔÚÖм䣬¿ÉÄܰéËæ×Å·ÖÖ§¹ÜÀí£¬·ÖÖ§Çл»£¬³·ÏûÓëºÏ²¢¡£

¿ÉÄÜÓÐЩÈË»á¾õµÃºÜÆæ¹Ö£¬ÎªÊ²Ã´git»áÓÐÔÝ´æÇøÓòÕâ¸ö¸ÅÄֱ½ÓÌá½»µ½²Ö¿âÖв»¾ÍokÁË¡£ÆäʵÕâÊÇgitΪÁË×ö°æ±¾¿ØÖÆÓõģ¬ÊÔÏëÈç¹ûûÓÐÔÝ´æÇøÓò£¬Ã¿ÐÞ¸ÄÒ»¸öÎļþ£¬¾Í»áÐγÉÒ»¸ö°æ±¾£¬Ì«¹ýƵ·±£¬²»Ò×ÓÚ¹ÜÀí¡£ÔÝ´æÇøÓòÆäʵ¾ÍÊÇÏÂÒ»¸ö°æ±¾µÄÎļþÇåµ¥£¬Äã¿ÉÒÔ×ÔÓÉ¿ØÖƸÃÍù²Ö¿âÖÐÌύʲôÎļþ£¬ÕâÒ²¿ÉÒÔ±ÜÃâÔÚÒ»¸ö°æ±¾Öаüº¬Ò»Ð©ÖмäÎļþ£¬±ÈÈç±àÒëºóµÄÎļþ¡£

5¡¢GIT»ù±¾Á÷³Ì

1.³õʼ»¯²Ö¿â

³õʼ»¯²Ö¿âÓÐÁ½ÖÖÇé¿ö£¬Ò»ÖÖÊÇÖ±½ÓÔÚÒ»¸ö¿ÕĿ¼ÀィÁ¢Ò»¸öÏîÄ¿£¬ÕâʱºòÄã¿ÉÒÔÕâÑù¸É£º

git init

ÁíÒ»ÖÖÊÇ´ÓÆäËû»úÆ÷¸´ÖÆÒ»¸ö²Ö¿â£¬±ÈÈçÕâÑù£º

git clone git://git2.kernel.org/pub/scm/git/git.git (Ô¶³Ì²Ö¿â)

git clone https://github.com/jquery/jquery.git (Ô¶³Ì²Ö¿â)

git clone git@github.com:wengpingbo/MicroBlog.git (Ô¶³Ì²Ö¿â)

git clone /home/oss/test.git (±¾µØ²Ö¿â)

µÚÒ»´Î´Ó·þÎñÆ÷Éϸ´ÖÆÒ»¸ö²Ö¿â£¬¿ÉÄܱȽÏÂý£¬ÒòΪgitÒª°ÑËùÓеÄÀúÊ·¼Ç¼ºÍ°æ±¾È«²¿¸´ÖÆÏÂÀ´£¬ÕâÒ²ËãgitµÄÒ»¸ö±×¶Ë°É£¡

¸´ÖÆÍêºó£¬¾Í»áÔÚµ±Ç°Ä¿Â¼ÏÂÉú³ÉÒ»¸ö¹¤×÷Ŀ¼£¬Ãû×ÖÒÔ²Ö¿âÃû×ÖÃüÃû¡£Èç¹ûÄã²»ÏëÖ¸¶¨Ä¿Â¼£¬ÄǾÍÔÚÉÏÃæµÄÃüÁîºó¼ÓÒ»¸öĿ¼¾ÍokÁË¡£±ÈÈçÎÒÏë°Ñtest²Ö¿â·Åµ½oss²Ö¿âÖУºgit clone /home/oss/test.git oss

Ö®ºó£¬Äã¾Í¿ÉÒÔ¿ªÊ¼ÄãµÄ¹¤×÷À²£¡

2.Ìí¼ÓÎļþ

Ôڱ༭Á˼¸¸öÎĵµÖ®ºó£¬Äã¿ÉÄÜͻȻÏëÆðÀ´£¬ºÃÏñÎļþ»¹Ã»ÓÐÈÃgit¸ú×Ù¡£Git²¢²»»áʵʱµÄ¸ú×ÙÄãµÄÎļþ£¬Ö»ÔÚÄãÃ÷È·ÈÃËü¼Ç¼ÄãµÄÎļþʱ£¬Ëü²Å»á°ÑÖ¸¶¨µÄÎļþµÄµ±Ç°×´Ì¬¼Ç¼µ½²Ö¿âÖÐÈ¥£¬È»ºóÓÖÈöÊÖ²»¹ÜÁË¡£ÎÒÏëÕâ¾ÍÊÇ˵git±¿µÄÔ­Òò°É¡£Õâ¸öʱºò£¬ÄãÐèÒªÊÖ¶¯Ìí¼ÓÄãµÄÎļþµ±ÔÝ´æÇøÓò£º

git add filename1 filename2

Èç¹ûÄãÀÁµÃÒ»¸öÒ»¸ö¼Ó£¬Äã¿ÉÒÔÊÔÊÔÕâ¸ö£º

git add -A

Ëü»á°Ñµ±Ç°Ä¿Â¼ÏÂËùÓеÄÎļþ¶¼Ìí¼Óµ½ÔÝ´æÇøÓò¡£

3.Ìí¼ÓÒ»¸ö°æ±¾

ÔÚÌí¼ÓÍêÎļþºó£¬Äã¿ÉÄܾõµÃÓ¦¸Ã´´½¨Ò»¸öcommitÁË¡£

git commit

ÔõôÑù£¿ÊDz»ÊÇÓе㲻¶Ô¾¢£¬ºÃÏñÕâ¸öÃüÁûÓа´ÄãÏëÏóµÄÄÇÑùÌø³öÒ»¸öÌá½»³É¹¦µÄÌáʾ£¬¶øÊÇÖ±½ÓÅܵ½ÁËÄãÔÚÅäÖÃÖÐÖ¸¶¨µÄ±à¼­Æ÷ÖÐÁË¡£×Ðϸ¿´Ò»Ï£¬Ô­À´ÊÇÈÃÄã¸øÕâ¸ö°æ±¾×öһЩ±¸×¢£¬Ëæ±ãдµãʲô£¬È»ºó±£´æÍ˳ö¾ÍokÁË¡£Èç¹ûÄã²»ÏëÕâôÂé·³£¬¿ÉÒÔÕâô¸É£º

git commit -m ‘initial version’

¿ÉÄÜÄã¾õµÃ֮ǰ½²µÄÌ«ÂÞàÂÁË£¬Ìá½»Ò»¸öcommit»¹ÕâôÂé·³£¬ÆäʵÓÐÒ»¸ö½Ý¾¶¿ÉÒÔʹÄãÌø¹ýÌí¼ÓÎļþÕâ¸ö¹ý³Ì£º

git commit -a -m ‘initial version’

´ó¹¦¸æ³É£¬Õâ¸öÃüÁî»á°Ñ֮ǰËùÓеÄÒѾ­Ìí¼ÓµÄÎļþ¶¼¼ÓÈëµ½Õâ¸ö°æ±¾ÖС£

¿ÉÄÜÄãÓÖÓÐÒÉÎÊÁË£¬Ö®Ç°Ìí¼ÓµÄÎļþ²»ÊÇ×Ô¶¯»á¼ÓÈëµ½ÏÂÒ»¸ö°æ±¾ÖÐÂð£¬ÎÊʲô»¹¼ÓÕâ¸ö-a²ÎÊý£¿

Æäʵgit addÃüÁîÖ»ÊǰÑÖ¸¶¨ÎļþµÄµ±Ç°×´Ì¬Ìí¼Óµ½ÔÝ´æÇøÓò£¬²¢²»´ú±íÒ»¸öÎļþÒ»µ©Ìí¼Ó£¬¾Í»áÒ»Ö±´æÔÚÿ¸ö°æ±¾ÖС£Èç¹ûÄãÌí¼ÓÒ»¸öÎļþºó¶ÔÕâ¸öÓÖ½øÐÐÁËÐ޸ģ¬ÔÚÄãcommitʱºò£¬Ö»»ácommitÕâ¸öÎļþÌí¼ÓʱµÄ״̬£¬²»»á°ÑÖ®ºóµÄÐÞ¸ÄÒ²commit½øÈ¥£¬³ý·ÇÄãÔÙ´ÎÌí¼Ó¡£

4.ÍÆËͱä¸ü

ÔÚÄãcommitÍêÖ®ºó£¬Äã¿ÉÄÜÏë°Ñ×Ô¼ºµÄ´úÂëÌá½»µ½github»òÕ߯äËûgit·þÎñÆ÷ÉÏ£¬ÓëËûÈ˽»Á÷¹²Ïí£¬Õâʱºò¾ÍÐèÒªºÍÔ¶³Ì·þÎñÆ÷´ò½»µÀÁË¡£

Èç¹ûÄãÊÇÔÚ±¾µØ½¨Á¢ÆðµÄ²Ö¿â£¬Ä¬ÈÏÇé¿öÏÂÊÇûÓÐÈκηþÎñÆ÷µØÖ·µÄ£¬Èç¹ûÄãÊÇ´ÓÆäËû·þÎñÆ÷¸´ÖƹýÀ´µÄ²Ö¿â£¬Õâ¸ö·þÎñÆ÷µØÖ·»á×Ô¶¯Ìí¼Óµ½ÄãµÄ²Ö¿âÖУ¬Äã¿ÉÒÔÕâÑù²é¿´£º

git remote -v

Èç¹ûÖ»ÊäÈë”git remote”£¬¾ÍÖ»»áÁгö·þÎñÆ÷¶ËµÄ±ðÃû£¬²»»áÁгöµØÖ·À´¡£

Ò»¸ö²Ö¿â¿ÉÒÔÓжà¸ö·þÎñÆ÷µØÖ·£¬Õâ¾ÍÒâζ×Å£¬Äã¿ÉÒÔ´Ó²»Í¬µÄÈËÊÖÖи´ÖÆÍ¬Ò»¸ö²Ö¿â£¬µ«Õâ²¢²»»á´òÂÒÄã×Ô¼ºµÄ·ÖÖ§£¬ÄÄÅÂË«·½µÄ·ÖÖ§Ãû×Ö¶¼Ò»Ñù¡£¼ÙÈçÄãÏÖÔÚÔÚºÍÁíÍâÁ½¸öÈË×öͬһ¸öÏîÄ¿ÖеÄͬһ¸ö·ÖÖ§£¬Äã·¢ÏÖAµÄÒ»¸öÄ£¿éÕýÊÇÄãÏëÒªµÄ£¬ÄãÏë°ÑËûµÄ´úÂëºÏ²¢µ½ÄãÏÖÔڵİ汾ÖУ¬ÕâʱºòÄã¿ÉÒÔÕâÑù×ö£º

git remote add code_a git://url/test.git  //Ìí¼Ó¶Ô·½µÄµØÖ·,code_aÊDZðÃû

git fetch code_a  //¸´ÖƶԷ½µÄ²Ö¿âµ½±¾µØ£¬µ«²»ºÏ²¢£¬git pull»á×Ô¶¯ºÏ²¢

git merge code_a/master //°Ñ¶Ô·½master·ÖÖ§ºÏ²¢µ½×Ô¼ºµ±Ç°°æ±¾ÏÂ

ºÏ²¢ÍêÖ®ºó£¬Äã¿ÉÄÜÏëÌá½»ÄãµÄ´úÂëµ½ÆäËûµÄ·þÎñÆ÷ÉÏ£¬ÕâʱºòÄã¿ÉÒÔÏȰÑÒªÌá½»µÄ·þÎñÆ÷µØÖ·Ìí¼Ó½øÀ´£¬È»ºóÕâÑù×ö£º

git push origin master

ÉÏÃæµÄÃüÁî¾ÍÊǰÑ×Ô¼ºmasterµÄ·ÖÖ§Ìá½»µ½Ãû×ÖΪoriginµÄ·þÎñÆ÷ÉÏ

5.´´½¨²¢¹ÜÀí·ÖÖ§

ÔÚ×öÏîÄ¿µÄʱºò£¬Äã¿ÉÄÜ»áÏëдһЩÀ©Õ¹ÐԵŦÄÜ£¬»òÕß×öһЩСʵÑ飬µ«ÊÇÄãÓÖ²»ÏëÓ°ÏìÄãÏÖÔÚµÄÏîÄ¿¡£Õâʱºò£¬Äã¿ÉÒÔ´´½¨Ò»¸ö·ÖÖ§£¬È»ºóÔÚÕâ¸ö·ÖÖ§Àïд¶«Î÷£¬µ±¾õµÃ²»ºÃµÄʱºò£¬Äã¿ÉÒÔ°ÑÕâ¸ö·Ö֧ɾ³ýµô£¬¶ÔÄã֮ǰµÄÖ÷·Ö֧ûÓÐÈκÎÓ°Ïì¡£»òÕßÄã¾õµÃÕâ¸öÐÂÌØÐÔ³¬³öÁË×Ô¼ºµÄÔ¤Ï룬¿ÉÒԺϲ¢µ½Ö÷·ÖÖ§ÀÕâʱºòÄãÖ»Òª°Ñ¹¤×÷ת»ØÖ÷·ÖÖ§£¬È»ºóºÏ²¢·ÖÖ§£¬×îºóɾ³ý·ÖÖ§£¬È»ºó¾Í¸úÄǸö·Ö֧û´´½¨Ò»Ñù¡£¾ßÌå²Ù×÷ÈçÏ£º

git branch test  //´´½¨Ò»¸ötest·ÖÖ§

git checkout test  //תµ½test·ÖÖ§

edit something...commit something...

git checkout master  //תµ½master·ÖÖ§

git merge test  //ºÏ²¢test·ÖÖ§

git checkout -b test2  //´´½¨test2·ÖÖ§£¬²¢×ªµ½test2·ÖÖ§

git branch -d test //ɾ³ýtest·ÖÖ§

git branch  //Áгö·ÖÖ§Áбí

git branch -v  //Áгö·ÖÖ§ÁбíºÍµ±Ç°commit

Git mergeµÄʵÖÊÊǰÑÁ½¸ö°æ±¾ºÏÔÚÒ»Æð£¬È»ºóÔÚµ±Ç°·ÖÖ§´´½¨Ò»¸öеÄcommit£¬Èç¹ûÄãÔÚÁ½¸ö·ÖÖ§µÄͬһ¸öÎļþµÄͬһ¸öµØ·½¶¼×öÁËÐ޸ģ¬Õâʱºòmerge¾Í»áʧ°Ü£¬git¾Í²»»á×Ô¶¯´´½¨Ò»¸öеÄcommit£¬¶øÊÇÖ±½Óͣס¡£ÄãÐèÒªÊÖ¶¯ÐÞ¸ÄÕâЩ³åÍ»µÄÎļþ£¬Ñ¡ÔñÕâÁ½¸ö·ÖÖ§ÖеÄÒ»¸ö°æ±¾£¬»òÕß×Ô¼ºÖØÐ´Õâ¸ö²¿·Ö£¬È»ºóÊÖ¶¯Ìí¼ÓÕâЩÎļþµ½ÔÝ´æÇøÓò£¬ÔÙcommitһϾÍokÁË¡£Òª²é¿´ÄÄЩÎļþ³åÍ»ÁË£¬¿ÉÒÔÓÔgit status”²é¿´¡£

6.³·Ïû¸Ä¶¯

ÊÇÈ˾ͻ᷸´í¡£µ±ÄãÖ´ÐÐij¸öÃüÁîÖ®ºó£¬Í»È»·¢ÏÖ£¬×Ô¼ºÐ´´íÁË£¬»òÕß©ÁËÒ»¸öÎļþ£¬ÕâʱºòÔõô°ì£¿

Èç¹ûÄãÌá½»µÃÌ«Ô磬ÍüÁËÌí¼ÓijЩÎļþ£¬Äã¿ÉÒÔÕâÑù×ö£º

git commit -m ‘add something ’

git add file1

git commit --amend

×îºóÒ»¸öÃüÁî»á°ÑÄ㵱ǰÔÝ´æÇøÓò×îΪÉÏÒ»´ÎµÄcommit¡£Èç¹ûÄãcommitÒÔºó£¬ÂíÉÏamend£¬Õâʱºògit»áÖ±½ÓÌøµ½±à¼­commit±¸×¢ÀïÃæ£¬ÕâÑùÄã¿ÉÒÔÐÞ¸ÄÄãÉÏ´ÎcommitµÄ±¸×¢¡£

Èç¹ûÄãÌí¼ÓÁ˲»¸ÃÌí¼ÓµÄÎļþ£¬Äã¿ÉÒÔÕâÑùÍì»Ø£º

git add . //°ÑËùÓеÄÎļþ¶¼Ìí¼Ó½øÈ¥

git reset HEAD readme  //°ÑreadmeÎļþ´ÓÔÝ´æÇøÓòÈ¥³ý

Èç¹ûÄã·¢ÏÖÄã±à¼­´íÁËÒ»¸öÎļþ£¬ÄãÏë°ÑËü»Ö¸´µ½ÉÏÒ»¸ö°æ±¾µÄ״̬£¬ÕâʱºòÄã¿ÉÒÔÕâÑù£º

git checkout -- filename1 //Ö»³·ÏûÕâÒ»¸öÎļþ

Èç¹ûÄã¾õµÃÕâ¸ö°æ±¾Ôã¸â͸ÁË£¬ÏëÍêÈ«»Ø¹öµ½ÉÏÒ»¸ö°æ±¾£¬Äã¿ÉÒÔ¸ÉÈçÏÂÊÂÇ飺

git reset --hard HEAD^

HEADÊÇÖ¸Ïòµ±Ç°°æ±¾£¬^Ö¸µ±Ç°°æ±¾µÄ¸¸°æ±¾£¬Õâ¸ö²Ù×÷ÎÞ·¨³·Ïû¡£Äã¿ÉÒÔ°Ñ--hard»»³É--soft£¬ÕâÖ»»á»ØÍËcommitÐÅÏ¢¡£»¹ÓÐÒ»¸ö--mixedĬÈÏÑ¡Ï´ó¼Ò¿ÉÒԲο¼¹Ù·½Îĵµ£¬²é¿´Õâ3¸öÑ¡ÏîµÄ¾ßÌåÇø±ð¡£

6¡¢GIT³£ÓÃÃüÁî

Git add

Git clone

Git commit

Git push

Git checkout

Git reset

Git pull

Git status

Git branch

//advanced

Git tag

Git log

Git merge

   
4105 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ


²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí


GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí