ÎÒÊÇͨ¹ý¿´ÁÎÑ©·åµÄgit½Ì³ÌѧϰµÄ£¬ÕæµÄÊǼ«ºÃµÄ£¬ÒÔÏÂÊÇÎÒѧϰ¹ý³ÌÖеÄ×ܽᣬ¼Ç¼ÏÂÀ´£¬·½±ã×Ô¼º²Î¿¼ÒÔÊìϤgitºÍgithubµÄʹÓá£
³ýÁËÁÎÑ©·åµÄ½Ì³Ì£¬»¹±È½ÏÍÆ¼öÔÚ¿´ÍêÁÎÑ©·åµÄ½Ì³ÌÖ®ºó£¬ÔÙ¿´ÕâÑùһƪÎÄÕ£ºÊ¹ÓÃgitºÍgithub½øÐÐÐͬ¿ª·¢Á÷³Ì£¬ºÍÎÒµÄÁíһƪgitµÄ±Ê¼Ç£ºÊ¹ÓÃgitºÍgithub¹ÜÀí×Ô¼ºµÄÏîÄ¿---ÕæÊµ¿ª·¢»·¾³µÄ²ßÂÔ £¬ÉîÈëÁ˽âgithubºÍgitÔõôÔÚ¾ßÌåµÄÏîÄ¿¿ª·¢ÖйÜÀíÏîÄ¿¡¢ÓÐʲôºÃµÄ¹æ·¶£¡
ÎÒÕâÀï¼Ç¼gitµÄѧϰ±Ê¼Ç£¬·½±ãËæÊ±²Î¿¼£¬¾ßÌåµÄgitµÄÔÀí¡¢githubµÄÔÀí¡¢¼¯ÖÐʽºÍ·Ö²¼Ê½°æ±¾¿ØÖƵÄÇø±ð¡¢°æ±¾¿ØÖƵĸÅÄîºÍÔÀí¡¢GitºÍÆäËû°æ±¾¿ØÖƹ¤¾ß±ÈÈçSVNµÄÇø±ð¡¢ÒÔ¼°¸ü¶àµÄÏà¹Ø¸ÅÄî½²½â£¬Çë×Ô¼º²Î¼ûÁÎÑ©·åµÄgit½Ì³Ì¡£
ÎÒÇ¿ÁÒÍÆ¼öÏÈ¿´ÁÎÑ©·åµÄgit½Ì³ÌÀ´ÏµÍ³»¯ÈÏʶºÍѧϰgit£¬È»ºó×Ô¼ºÕûÀíÒ»·Ý¾ßÌåµÄ²½Öè·½±ãƽʱ¿ª·¢Ê±¿ìËٲο¼£¬»òÕßÖ±½Ó²Î¿¼Îҵġ£
ÏÈ˵һ¸ö±È½ÏºÃЦµÄÊ£ºÁÎÑ©·åµÄgit½Ì³ÌÖУ¬¸Õ¿ªÊ¼µÄ²¿·ÖµÄä¯ÀÀÁ¿ÓÐ38Íò£¬µ«ÊÇ×îºóÒ»Ò³½Ì³ÌµÄÍøÒ³µÄä¯ÀÀÁ¿ÊÇ1Íò¶à¡£
ÒÔǰÒòΪ¾õµÃgit¡¢github±È½ÏÄÑ£¬ËùÒÔÒ»Ö±ÍÏ×Ų»Ñ§£¬ÏÖÔÚÈ¥³¢ÊÔѧϰ£¬Ò»ÍíÉϾÍOKÁË
- ÖØµãÖ®Ò»ÊÇÕÒµ½È«ÃæµÄ¡¢ÏêϸµÄ¡¢Éú¶¯µÄ¡¢¸ßÖÊÁ¿µÄ½Ì³Ì¡£ÁÎÑ©·åµÄgit½Ì³ÌÊÇÎÒĿǰÕÒµ½µÄ×îºÃµÄÒ»¸ö¡£Ö®Ç°ÕÒµ½µÄ½²½âgitÓ÷¨µÄÊé¡¶pro git¡·ÏÖÔÚ¿´À´ÊÇûÓбØÒªÔÙ¿´ÁË£¡
- ÖØµãÖ®¶þ¾ÍÊÇ×Ô¼ºÁ¢¼´È¥Ñ§£¬ÆäʵûʲôÄѵ쬲»Òª±»Ã²ËÆÄѵıíÏ󡢸ÅÄס¡£
- ÖØµãÖ®ÈýÊÇ×îºÃÄÜ×Ô¼º×ö¼òµ¥µÄ¡¢ÏµÍ³µÄÕûÀí£¬·½±ã×Ô¼ºËæÊ±ÔÙ»ØÀ´²é¿´¡¢¸´Ï°¡¢²Î¿¼£¬²»ÖÁÓÚ³öÏÖÕâÑùµÄÇé¿ö£ºÑ§ÍêÒÔºó¹ýÒ»¶Îʱ¼äÖ®ºóÔÙÓ㬵«ÊÇÕâʱºò·¢ÏÖÍüÁ˲¶àÁË£¡
- ÖØµã֮˾ÍÊÇÁ¢¼´¶¯ÊÖÈ¥Ó㬷ñÔòѧÍêºÜ¿ì¾ÍÍüÁË¡£
ÓÐÇ®µÄÂòmac£¬Ã»Ç®µÄÓÃubuntu--»òÕ߯äËûµÄlinux·¢Ðа桢±»±ÆÎÞÄεÄÓÃWindows--µ«ÊDZ»±ÆÖ®ÓàµÄ×ÔÖ÷ʱ¼äÒ»¶¨ÒªÔ¶ÀëWindows¡£
ÏÖÔÚÎҵIJâÊÔ»·¾³ÊÇubuntu¡£
ÒÔ¶ÔÒ»¸öÎļþµÄ¹ÜÀíΪÀý£¬¼òµ¥ËµÃ÷gitµÄʹÓá£ÁíÍâÐèҪ˵Ã÷µÄÊÇÏÂÃæµÄʵÑé¹ý³ÌÖ÷ÒªÊÇÖ»Õë¶ÔÒ»¸öÎļþ¡¢²¢ÇÒÐ޸ĵĴÎÊýÍùÍùÖ»ÓÐÒ»´Î£¬¶øÔÚÕæÕýµÄÏîÄ¿ÖУ¬ÍùÍùÓдóÁ¿µÄÎļþ£¬Ò²¿ÉÄܶà´ÎÐ޸ĺó²ÅºÏ²¢£¬ºÏ²¢Ê±ºòµÄ³åÍ»¿ÉÄÜÒ²²»Ö»Ò»Á½¸ö£¬µÈµÈ¡£²»¹ýÔÀí¶¼ÊÇÒ»ÑùµÄ£¬ÎÒÏë˵µÄÊÇ£¬²»Òª¾ÖÏÞÔÚÕâ¸ö½Ì³ÌµÄʾÀýÉÏ£¬Çë×Ô¼ºÍ¨¹ý½Ì³ÌÕÆÎÕ»ù±¾µÄÔ¶ÔÀíÖ®ºó£¬×Ô¼ºÍƹ㡢ȥ´óÁ¿µÄʵ¼ù£¬×îÖØÒªµÄÊÇÒªÖÆ¶¨Ò»¸öºÃµÄ°æ±¾¿ØÖƵIJßÂÔ£¨ºÏÀí·Ö¹¤¡¢°²ÅÅ£¬»¹ÊǾ¡¿ÉÄܵıÜÃâ³åͻΪºÃ£©£¬Õâ¸ö¿ÉÒԲο¼£ºÊ¹ÓÃgitºÍgithub½øÐÐÐͬ¿ª·¢Á÷³ÌÒÔ¼°ÎÒµÄѧϰ±Ê¼ÇʹÓÃgitºÍgithub¹ÜÀí×Ô¼ºµÄÏîÄ¿---ÕæÊµ¿ª·¢»·¾³µÄ²ßÂÔ¡£
1.´´½¨°æ±¾¿â
- sudo apt-get install git ÏȰ²×°git
- ÏÈ´´½¨Ä¿Â¼£¬×÷Ϊ²Ö¿â
- git init ³õʼ»¯²Ö¿â£¬¿ÉÒÔ·¢ÏÖµ±Ç°Ä¿Â¼Ï¶àÁËÒ»¸ö.gitµÄĿ¼£¬Õâ¸öĿ¼ÊÇGitÀ´¸ú×Ù¹ÜÀí°æ±¾¿âµÄ£¬Ã»ÊÂǧÍò²»ÒªÊÖ¶¯ÐÞ¸ÄÕâ¸öĿ¼ÀïÃæµÄÎļþ£¬²»È»¸ÄÂÒÁË£¬¾Í°ÑGit²Ö¿â¸øÆÆ»µÁË
- vim readme.txt н¨Ò»¸öÎı¾Îļþ£¬±ÈÈçÍùÀïÃæÌí¼Ó¼òµ¥µÄÒ»ÐÐ×Ö·û´®
- git add readme.txt Ìí¼ÓÒ»¸öÎļþ£¬±ÈÈçreadme.txt£¬Èç¹ûĿ¼ÀïÃæµÄËùÓÐÎļþ¶¼ÒªÌí¼Ó£¬¿ÉÒÔgit add *
- git commit-m "Ìí¼ÓÒ»¸öreadme.txtÎļþ" ½«ÎļþÌá½»µ½²Ö¿â£¬²¢¼ÓÉÏ˵Ã÷£¨ÕâʱºòÊǰ汾1£©
- Èç¹ûÊǵÚÒ»´ÎʹÓÃgit£¬ÄÇôgit commit¿ÉÄܱ¨´í£¬ËùÒÔÐèÒªÄãÅäÖÃһЩ¸öÈËÐÅÏ¢
- git config --global user.email "you@example.com" ÅäÖÃÓʼþ
- git config --global user.name "Your Name" ÅäÖÃÓû§Ãû
- ±ØÐëÅäÖ㬷ñÔòºóÃæµÄcommit¡¢pushµ½Ô¶³Ì¿â¶¼»áʧ°Ü
- È»ºóÔÙ´Îgit commit -m "Ìí¼ÓÒ»¸öreadme.txtÎļþ" ²Å»á³É¹¦
2.Ìá½»ÐÞ¸Ä
- ¼ÙÈç´ËʱµÚÒ»´ÎÐÞ¸ÄÁËreadme.txtÎļþ
- git status ÈÃÎÒÃÇʱ¿ÌÕÆÎղֿ⵱ǰµÄ״̬¡£Õâʱ¸æËßÎÒÃÇ£¬readme.txt±»Ð޸ĹýÁË£¬µ«»¹Ã»ÓÐ×¼±¸Ìá½»µÄÐ޸ġ£
- git diff readme.txt ²é¿´¶Ôreadme.txt×öÁËʲôÐÞ¸Ä
- git add readme.txt Ìá½»Ð޸ĺÍÌá½»ÐÂÎļþÊÇÒ»Ñù£¬ÏÈgit add
- git status ¿ÉÒÔÔÙÓÃgit status²é¿´²Ö¿âµÄµ±Ç°×´Ì¬£¬¸æËßÎÒÃÇ£¬½«Òª±»Ìá½»µÄÐ޸İüÀ¨readme.txt
- git commit-m "µÚÒ»´ÎÐÞ¸Ä" È»ºóÔÙgit commit£¬²¢Ìí¼ÓÐ޸ĵÄÃèÊö£¨ÕâʱºòÊǰ汾2£©
- git status ¿ÉÒÔÔÙÖ´ÐÐgit status¿´²Ö¿â״̬£¬ÒòΪËùÓеͼÌá½»ÁË£¬Git¸æËßÎÒÃǵ±Ç°Ã»ÓÐÐèÒªÌá½»µÄÐ޸쬶øÇÒ£¬¹¤×÷Ŀ¼ÊǸɾ»£¨working directory clean£©µÄ¡£
3.°æ±¾»ØÍË
- Äã¿ÉÒÔÏñÉÏÃæËù˵µÄÄÇÑù²»Í£µÄÌύеÄÎļþ¡¢Ìá½»¶ÔÎļþµÄÐÞ¸Ä
- ÕâʱºòµÚ¶þ´ÎÐÞ¸Äreadme.txtÎļþ
- git add readme.txt ÏÈgit add
- git commit -m "µÚ¶þ´ÎÐÞ¸Ä" Ìá½»µÚ¶þ´ÎÐ޸ģ¨ÕâʱºòÊǰ汾3£©
- git log ÏÔʾ´Ó×î½üµ½×îÔ¶µÄÌá½»ÈÕÖ¾£¬¾ßÌåÏÔʾµÄÄÚÈÝ×Ô¼ºÊÔÒ»ÊÔ¿´¿´
- git log --pretty=oneline Èç¹ûÏÓÊä³öÐÅϢ̫¶à£¬¿´µÃÑÛ»¨çÔÂÒ£¬ÊÔÊÔ¼ÓÉÏ--pretty=oneline²ÎÊý
- ¿´ÕâÆª½Ì³ÌÈ¥Àí½âΪʲôGitµÄ°æ±¾ºÅÒªÕâô³¤£¬GitµÄ°æ±¾ºÅÀàËÆ£º3628164fb26d48395383f8f31179f24e0882e1e0 ÕâÑùµÄÌØ±ð³¤µÄÊ®Áù½øÖÆÊý¡£
- git reset --hard HEAD^ »á»ØÍ˵½ÉÏÒ»¸ö°æ±¾£¬Ò²¾ÍÊÇ´Ó°æ±¾3»ØÍ˵½°æ±¾2
- ÔÚGitÖУ¬ÓÃHEAD±íʾµ±Ç°°æ±¾£¬Ò²¾ÍÊÇ×îеÄÌá½»3628164...882e1e0£¨×¢ÒâÎÒµÄÌá½»IDºÍÄãµÄ¿Ï¶¨²»Ò»Ñù£©£¬ÉÏÒ»¸ö°æ±¾¾ÍÊÇHEAD^£¬ÉÏÉÏÒ»¸ö°æ±¾¾ÍÊÇHEAD^^£¬µ±È»ÍùÉÏ100¸ö°æ±¾Ð´100¸ö^±È½ÏÈÝÒ×Êý²»¹ýÀ´£¬ËùÒÔд³ÉHEAD~100
- vim readme.txt ¿ÉÒÔ¿´µ½´ËʱµÄreadme.txtÎļþ¾ÍÊǰ汾2ʱºòµÄÄÚÈÝ£¬»ØÍ˳ɹ¦£¡
- git log ´Ëʱ¿´µ½°æ±¾3µÄÐÅϢûÓÐÁË
- git reset --hard 3628164 ͨ¹ýÃüÁîÐÐÉϵÄÀúÊ·ÐÅÏ¢£¨¼ÙÈçÄãûÇåÆÁµÄ»°£©£¬ÕÒµ½°æ±¾3 µÄ°æ±¾ºÅ£¬²»Ò»¶¨ÒªÈ«²¿µÄ°æ±¾ºÅ£¬¾ÍÏñÕâ¸öÃüÁîµÄÀý×Ó£¬Ö»ÒªÇ°ÃæµÄÔ¼7¡¢8λÕâÑù¾Í¿ÉÒÔÖ¸¶¨»Øµ½°æ±¾3
- vim readme.txt ¿´µ½µÄÊǵÚÈý°æ±¾µÄreadme.txtÎļþµÄÄÚÈÝ£¬ËùÒÔÓÖ»ØÀ´ÁË
- GitµÄ°æ±¾»ØÍËËٶȷdz£¿ì£¬ÒòΪGitÔÚÄÚ²¿ÓиöÖ¸Ïòµ±Ç°°æ±¾µÄHEADÖ¸Õ룬µ±Äã»ØÍ˰汾µÄʱºò£¬Git½ö½öÊǰÑHEAD´ÓÖ¸ÏòÄãÒª»ØÍ˵ÄÄǸö°æ±¾
- git reflog ¼Ç¼ÄãµÄÿһ´ÎÃüÁ×îÏÈÏÔʾµÄÊÇÕâ¸öÃüÁîÖ´ÐÐÖ®ºóµÄ°æ±¾µÄ°æ±¾ºÅµÄǰÆß룬ÕâÑù¾ÍËãÄãÇåÆÁÁË»òÕßÖØÆôÁË£¬Ò²ÄÜÕÒµ½Ä³¸ö°æ±¾µÄ°æ±¾ºÅ£¬¾Í¿ÉÒÔÇáËÉ»ØÍ˵½ÄǸö°æ±¾
4.¹¤×÷Çø¡¢°æ±¾¿âºÍÔÝ´æÇø
¹¤×÷Çø£º¾ÍÊÇÄãÔÚµçÄÔÀïÄÜ¿´µ½µÄĿ¼£¬±ÈÈçÎÒµÄlearngitÎļþ¼Ð¾ÍÊÇÒ»¸ö¹¤×÷Çø¡£
°æ±¾¿â£º¹¤×÷ÇøÓÐÒ»¸öÒþ²ØÄ¿Â¼.git£¬Õâ¸ö²»Ë㹤×÷Çø£¬¶øÊÇGitµÄ°æ±¾¿â¡£
ÔÝ´æÇø£ºGitµÄ°æ±¾¿âÀï´æÁ˺ܶණÎ÷£¬ÆäÖÐ×îÖØÒªµÄ¾ÍÊdzÆÎªstage£¨»òÕß½Ðindex£©µÄÔÝ´æÇø£¬»¹ÓÐGitΪÎÒÃÇ×Ô¶¯´´½¨µÄµÚÒ»¸ö·ÖÖ§master£¬ÒÔ¼°Ö¸ÏòmasterµÄÒ»¸öÖ¸Õë½ÐHEAD¡£
Ç°Ãæ½²ÁËÎÒÃǰÑÎļþÍùGit°æ±¾¿âÀïÌí¼ÓµÄʱºò£¬ÊÇ·ÖÁ½²½Ö´Ðеģº
- µÚÒ»²½ÊÇÓÃgit add°ÑÎļþÌí¼Ó½øÈ¥£¬Êµ¼ÊÉϾÍÊǰÑÎļþÐÞ¸ÄÌí¼Óµ½ÔÝ´æÇø£»
- µÚ¶þ²½ÊÇÓÃgit commitÌá½»¸ü¸Ä£¬Êµ¼ÊÉϾÍÊǰÑÔÝ´æÇøµÄËùÓÐÄÚÈÝÌá½»µ½µ±Ç°·ÖÖ§¡£
ÒòΪÎÒÃÇ´´½¨Git°æ±¾¿âʱ£¬Git×Ô¶¯ÎªÎÒÃÇ´´½¨ÁËΨһһ¸ömaster·ÖÖ§£¬ËùÒÔ£¬ÏÖÔÚ£¬git commit¾ÍÊÇÍùmaster·ÖÖ§ÉÏÌá½»¸ü¸Ä¡£
Äã¿ÉÒÔ¼òµ¥Àí½âΪ£¬ÐèÒªÌá½»µÄÎļþÐÞ¸Äͨͨ·Åµ½ÔÝ´æÇø£¬È»ºó£¬Ò»´ÎÐÔÌá½»ÔÝ´æÇøµÄËùÓÐÐ޸ġ£
Ïêϸ֪ʶ¼ûÕâÆª½Ì³Ì¡£±ØÐëÀí½âÔÝ´æÇø¡¢¹¤×÷Çø¡¢°æ±¾¿â¡£ÕâЩ¶¼ÊÇÊÇGit·Ç³£ÖØÒªµÄ¸ÅÄŪÃ÷°×ÁËÕâЩ¸ÅÄ¾ÍŪÃ÷°×ÁËGitµÄºÜ¶à²Ù×÷µ½µ×¸ÉÁËʲô¡£Ã»ÅªÃ÷°×µÄ»°£¬Çë·´¸´¿´£¡£¡
5.¹ÜÀíÐÞ¸Ä
ΪʲôGit±ÈÆäËû°æ±¾¿ØÖÆÏµÍ³Éè¼ÆµÃÓÅÐ㣬ÒòΪGit¸ú×Ù²¢¹ÜÀíµÄÊÇÐ޸쬶ø·ÇÎļþ¡£
ʲôÊÇÐ޸ģ¿±ÈÈçÄãÐÂÔöÁËÒ»ÐУ¬Õâ¾ÍÊÇÒ»¸öÐ޸ģ¬É¾³ýÁËÒ»ÐУ¬Ò²ÊÇÒ»¸öÐ޸쬏ü¸ÄÁËijЩ×Ö·û£¬Ò²ÊÇÒ»¸öÐ޸ģ¬É¾ÁËһЩÓÖ¼ÓÁËһЩ£¬Ò²ÊÇÒ»¸öÐ޸ģ¬ÉõÖÁ´´½¨Ò»¸öÐÂÎļþ£¬Ò²ËãÒ»¸öÐ޸ġ£
ͨ¹ýʵÀý½²½âʲô½Ð¸ú×ÙÐ޸ģ¬ÒªÏëÀí½â£¬Çë²Î¿¼ÔÎĽáºÏÔÝ´æÇøµÄ֪ʶÀí½â£º
- vim readme.txt ±à¼Îļþ£¬±ÈÈçÌí¼ÓеÄÒ»ÐÐ
- git add readme.txt Ìí¼Ó£¬µ«ÊDz»Ìá½»
- vim readme.txt ÔÙ±à¼Îļþ£¬±ÈÈçÔÙÌí¼ÓÒ»ÐÐ
- git commit -m "ÐÞ¸ÄÁ½´Î£¬ÌíÒ»´Î£¬Ìá½»Ò»´Î" Ìá½»
- git status ¿´µ½µÄЧ¹ûÊÇ£ºÖ»Ìá½»Á˵ÚÒ»´ÎµÄÐ޸ģ¬µÚ¶þ´ÎµÄÐÞ¸ÄûÓÐÌá½»
ÄÇÔõôÌá½»µÚ¶þ´ÎÐÞ¸ÄÄØ£¿Äã¿ÉÒÔ¼ÌÐøgit addÔÙgit commit£¬Ò²¿ÉÒÔ±ð׿±Ìá½»µÚÒ»´ÎÐ޸ģ¬ÏÈgit addµÚ¶þ´ÎÐ޸ģ¬ÔÙgit commit£¬Ò²¾ÍÊǵÚÒ»´ÎÐÞ¸Ä -> git add -> µÚ¶þ´ÎÐÞ¸Ä -> git add -> git commit£¬¾ÍÏ൱ÓÚ°ÑÁ½´ÎÐ޸ĺϲ¢ºóÒ»¿éÌá½»ÁË¡£
6.³·ÏúÐÞ¸Ä
µÚÒ»ÖÖÇé¿ö
- ÐÞ¸ÄÁËreadme.txtÎļþ£¬»¹Ã»ÓÐgit add ºÍgit commit
- µ«ÊÇÔÚÄãÌύ֮ǰ·¢ÏÖÕâ´ÎÐÞ¸ÄÓÐÎÊÌâ¡£¼ÈÈ»´íÎó·¢Ïֵúܼ°Ê±£¬¾Í¿ÉÒÔºÜÈÝÒ׵ؾÀÕýËü¡£Äã¿ÉÒÔÊÖ¶¯°ÑÎļþ»Ö¸´µ½ÉÏÒ»¸ö°æ±¾µÄ״̬¡£
- git checkout -- readme.txt Ò²¿ÉÒÔͨ¹ýÃüÁî³·ÏúÐ޸ģ¬ÕâÌõÃüÁîµÄÒâ˼¾ÍÊÇ£¬°Ñreadme.txtÎļþÔÚ¹¤×÷ÇøµÄÐÞ¸ÄÈ«²¿³·Ïú
- ÎÞÂÛÊÇÎļþÐ޸ĺóÖµ´æÔÚÓÚ¹¤×÷Çø»¹Ã»Óзŵ½ÔÝ´æÇø£¬»¹ÊÇÒѾÌí¼Óµ½ÔÝ´æÇø£¬×ÜÖ®Õâ¸öÃüÁî¾ÍÊÇÈÃÕâ¸öÎļþ»Øµ½×î½üÒ»´Îgit commit»ògit addʱµÄ״̬¡£
- ²é¿´Îļþ£¬ÄÚÈݹûÈ»¸´ÔÁË¡£git checkout -- fileÃüÁîÖеÄ--ºÜÖØÒª£¬Ã»ÓÐ--£¬¾Í±ä³ÉÁË¡°Çл»µ½ÁíÒ»¸ö·ÖÖ§¡±µÄÃüÁÎÒÃÇÔÚºóÃæµÄ·ÖÖ§¹ÜÀíÖлáÔÙ´ÎÓöµ½git checkoutÃüÁî¡£
µÚ¶þÖÖÇé¿ö
- ÐÞ¸ÄÁËreadme.txtÎļþ£¬¶øÇÒÖ´ÐÐÁËgit add readme.txt
- ÇìÐÒµÄÊÇÄãÔÚ git commit ֮ǰ·¢ÏÖÁËÕâ¸öÎÊÌâ
- git status ²é¿´Ò»Ï£¬ÐÞ¸ÄÖ»ÊÇÌí¼Óµ½ÁËÔÝ´æÇø£¬»¹Ã»ÓÐÌá½»
- git reset HEAD readme.txt ¿ÉÒÔ°ÑÔÝ´æÇøµÄÐ޸ij·Ïúµô£¬ÖØÐ·Żع¤×÷Çø¡£git resetÃüÁî¼È¿ÉÒÔ»ØÍ˰汾£¬Ò²¿ÉÒÔ°ÑÔÝ´æÇøµÄÐ޸ĻØÍ˵½¹¤×÷Çø¡£µ±ÎÒÃÇÓÃHEADʱ£¬±íʾ×îеİ汾¡£
- git status ²é¿´Ò»Ï£¬ÏÖÔÚÔÝ´æÇøÊǸɾ»µÄ£¬¹¤×÷ÇøÓÐÐÞ¸Ä
- git checkout -- readme.txt »¹¼ÇµÃµÚÒ»ÖÖÇé¿öÖÐÈçºÎ¶ªÆú¹¤×÷ÇøµÄÐ޸İÉ
µÚÈýÖÖÇé¿ö
ÏÖÔÚ£¬¼ÙÉèÄã²»µ«¸Ä´íÁ˶«Î÷£¬»¹´ÓÔÝ´æÇøÌá½»µ½Á˰汾¿â£¬Ôõô°ìÄØ£¿»¹¼ÇµÃ°æ±¾»ØÍËÒ»½ÚÂ𣿿ÉÒÔ»ØÍ˵½ÉÏÒ»¸ö°æ±¾¡£²»¹ý£¬ÕâÊÇÓÐÌõ¼þµÄ£¬¾ÍÊÇÄ㻹ûÓаÑ×Ô¼ºµÄ±¾µØ°æ±¾¿âÍÆË͵½Ô¶³Ì¡£
»¹¼ÇµÃGitÊÇ·Ö²¼Ê½°æ±¾¿ØÖÆÏµÍ³Âð£¿ÎÒÃǺóÃæ»á½²µ½Ô¶³Ì°æ±¾¿â£¬Ò»µ©Äã°Ñ´íÎóµÄÐ޸ģ¨Èç¹ûÊÇÓ°ÏìºÜ´óµÄ´íÎó£©Ìá½»ÍÆË͵½Ô¶³Ì°æ±¾¿â£¬Äã¾ÍÕæµÄ²ÒÁË¡¡
Çø±ð¶Ô´ý±¾µØ°æ±¾¿âºÍÔ¶³Ì°æ±¾¿â£¡
7.ɾ³ýÎļþ
ÔÚGitÖУ¬É¾³ýÒ²ÊÇÒ»¸öÐ޸IJÙ×÷
- Ìí¼ÓÒ»¸öеÄÎļþ test.txt
- git add test.txt
- git commit test.txt -m "ÔÙ´ÎÐÂÔöÒ»¸öÎļþ"
- Ò»°ãÇé¿öÏ£¬Äãͨ³£»áÔÚÎļþ¹ÜÀíÆ÷ÖаÑûÓõÄÎļþɾ³ý£¬»òÕßÖ±½Órm test.txt
- git status Õâ¸öʱºò£¬GitÖªµÀÄãɾ³ýÁËÎļþ£¬Òò´Ë£¬¹¤×÷ÇøºÍ°æ±¾¿â¾Í²»Ò»ÖÂÁË£¬git statusÃüÁî»áÁ¢¿Ì¸æËßÄãÄÄЩÎļþ±»É¾³ýÁË
- ÏÖÔÚÄãÓÐÁ½¸öÑ¡Ôñ£¬Ò»ÊÇȷʵ´Ó°æ±¾¿âÖÐɾ³ý¸ÃÎļþ£¬ÄǾÍgit rm test.txt£¬È»ºógit commit Îļþ¾Í´Ó°æ±¾¿âÖÐɾ³ýÁË
- ÁíÒ»ÖÖÇé¿öÊÇɾ³ý´íÁË£¬ÒòΪ°æ±¾¿âÀﻹÓУ¬ËùÒÔ¿ÉÒÔÇáËɵؽ«Îóɾ³ýµÄÎļþ»Ö¸´µ½×îа汾git checkout -- test.txt git checkoutÆäʵʹÓð汾¿âÖÐµÄ°æ±¾Ìæ»»¹¤×÷ÇøµÄ°æ±¾£¬ÎÞÂÛ¹¤×÷ÇøÊÇÐ޸ϹÊÇɾ³ý£¬¶¼¿ÉÒÔ¡°Ò»¼ü»¹Ô¡±
8.Ìí¼ÓÔ¶³Ì¿â
ÒªÏëѧϰÕⲿ·ÖµÄ֪ʶ£¬ÇëÏȲο¼ÏÂÃæµÄ£ºa.ÅäÖÃÁ¬½ÓÔ¶³Ì²Ö¿âGithub¡£
- ¼ÙÈçÏÖÔÚÄãÒѾÅäÖúÃgithub£¬²¢ÇÒÔÚgithubÉÏÌí¼ÓÁËlearngit²Ö¿â¡£
- git remote add origin git@github.com:michaelliao/learngit.git Õâ¸öÃüÁîÊÇÔÚ±¾µØµÄlearngit²Ö¿âÏÂÖ´Ðеģ¬Ç°ÃæÍ¨¹ýlearngit²Ö¿âΪÀýÎÒÃÇÒѾ½²¹ýÔÚ±¾µØ´´½¨ºÍ²Ù×÷git²Ö¿â¡£ÕâÁ½¸öµØ·½µÄ²Ö¿âÃû²»ÐèÒªÏàͬ£¬ÒòΪ»áͨ¹ýÔÚ±¾µØµÄ²Ö¿âĿ¼ÏÂÖ´ÐÐÕâÌõÃüÁÃüÁîÖаüº¬Ô¶³Ì¿âµÄÃû×Ö£©ÒѾ½«Á½Õß½¨Á¢ÁËÁªÏµ
- ÇëǧÍò×¢Ò⣬°ÑÉÏÃæµÄmichaelliaoÌæ»»³ÉÄã×Ô¼ºµÄGitHubÕË»§Ãû£¬·ñÔò£¬ÄãÔÚ±¾µØ¹ØÁªµÄ¾ÍÊÇÎÒµÄÔ¶³Ì¿â£¬¹ØÁªÃ»ÓÐÎÊÌ⣬µ«ÊÇÄãÒÔºóÍÆËÍÊÇÍÆ²»ÉÏÈ¥µÄ£¬ÒòΪÄãµÄSSH Key¹«Ô¿²»ÔÚÎÒµÄÕË»§ÁбíÖС£
- git push -u origin master °Ñ±¾µØ¿âµÄËùÓÐÄÚÈÝÍÆË͵½Ô¶³Ì¿âÉÏ¡£°Ñ±¾µØ¿âµÄÄÚÈÝÍÆË͵½Ô¶³Ì£¬ÓÃgit pushÃüÁʵ¼ÊÉÏÊǰѵ±Ç°·ÖÖ§masterÍÆË͵½Ô¶³Ì¡£ÓÉÓÚÔ¶³Ì¿âÊǿյģ¬ÎÒÃǵÚÒ»´ÎÍÆËÍmaster·Ö֧ʱ£¬¼ÓÉÏÁË-u²ÎÊý£¬Git²»µ«»á°Ñ±¾µØµÄmaster·ÖÖ§ÄÚÈÝÍÆË͵ÄÔ¶³ÌеÄmaster·ÖÖ§£¬»¹»á°Ñ±¾µØµÄmaster·ÖÖ§ºÍÔ¶³ÌµÄmaster·ÖÖ§¹ØÁªÆðÀ´£¬ÔÚÒÔºóµÄÍÆËÍ»òÕßÀȡʱ¾Í¿ÉÒÔ¼ò»¯ÃüÁî¡£
- È»ºóÈ¥Github¶ÔÓ¦µÄÔ¶³Ì¿â¿´¿´£¬¶¼ÒÑ¾ÍÆËÍÉÏÈ¥ÁË¡£
- ´Ëºó£¬Ã¿´Î±¾µØÌá½»ºó£¬Ö»ÒªÓбØÒª£¬¾Í¿ÉÒÔʹÓÃÃüÁîgit push origin masterÍÆËÍ×îÐÂÐ޸ġ£
ÕâÑùÄã¾Í¿ÉÒÔÔÚGithubÉÏÍйÜÄãµÄÏîÄ¿´úÂë¡¢vimµÄÅäÖÃÎļþºÍ²å¼þ¡¢ÖØÒªµÄÎĵµ¡¡
ÏÖÔÚÎÒµÄvimµÄÅäÖÃÎļþºÍ²å¼þÒѾͬ²½µ½GithubÉÏÁË£ºhttps://github.com/xumenger/m...
ÁíÍâÍÆ¼öÎҵĹØÓÚvimÅäÖõÄÎÄÕ£º£ºhttp://segmentfault.com/a/119...
9.´ÓÔ¶³Ì¿â¿Ë¡
- ¼ÙÉèÎÒµÄgithubÉÏÃæÓÐÒ»¸öÔ¶³Ì¿â£¬µ«ÊDZ¾µØÃ»ÓУ¬ÐèÒª¿Ë¡µ½±¾µØ£¬Ô¶³Ì¿âµÄÃû×Ö½Ð'gitskills'
- git clone git@github.com:michaelliao/gitskills.git ¿Ë¡һ¸ö±¾µØ¿â
- cd gitskills ½øÈë¿Ë¡ÏÂÀ´µÄ±¾µØ¿â£¬Ä¬ÈϵÄÃû×ÖÊǺÍgithubÉϵÄÒ»ÑùµÄ
- ls -al ¿ÉÒÔ¿´µ½±¾µØµÄ¿Ë¡¿âÀïÃæÊǺÍÔ¶³Ì¿âÀïÃæµÄÒ»ÑùµÄ
- Èç¹ûÓжà¸öÈËÐ×÷¿ª·¢£¬ÄÇôÿ¸öÈ˸÷×Ô´ÓÔ¶³Ì¿Ë¡һ·Ý¾Í¿ÉÒÔÁË¡£
ÄãÒ²Ðí»¹×¢Òâµ½£¬GitHub¸ø³öµÄµØÖ·²»Ö¹Ò»¸ö£¬»¹¿ÉÒÔÓÃhttps://github.com/michaellia...ÕâÑùµÄµØÖ·¡£Êµ¼ÊÉÏ£¬GitÖ§³Ö¶àÖÖÐÒ飬ĬÈϵÄgit://ʹÓÃssh£¬µ«Ò²¿ÉÒÔʹÓÃhttpsµÈÆäËûÐÒé¡£
ʹÓÃhttps³ýÁËËÙ¶ÈÂýÒÔÍ⣬»¹Óиö×î´óµÄÂé·³ÊÇÿ´ÎÍÆËͶ¼±ØÐëÊäÈë¿ÚÁµ«ÊÇÔÚijЩֻ¿ª·Åhttp¶Ë¿ÚµÄ¹«Ë¾ÄÚ²¿¾ÍÎÞ·¨Ê¹ÓÃsshÐÒé¶øÖ»ÄÜÓÃhttps¡£
10.·ÖÖ§¹ÜÀí
·ÖÖ§ÔÚʵ¼ÊÖÐÓÐʲôÓÃÄØ£¿¼ÙÉèÄã×¼±¸¿ª·¢Ò»¸öй¦ÄÜ£¬µ«ÊÇÐèÒªÁ½ÖܲÅÄÜÍê³É£¬µÚÒ»ÖÜÄãдÁË50%µÄ´úÂ룬Èç¹ûÁ¢¿ÌÌá½»£¬ÓÉÓÚ´úÂ뻹ûдÍ꣬²»ÍêÕûµÄ´úÂë¿â»áµ¼Ö±ðÈ˲»ÄܸɻîÁË¡£Èç¹ûµÈ´úÂëÈ«²¿Ð´ÍêÔÙÒ»´ÎÌá½»£¬ÓÖ´æÔÚ¶ªÊ§Ã¿Ìì½ø¶ÈµÄ¾Þ´ó·çÏÕ¡£
ÏÖÔÚÓÐÁË·ÖÖ§£¬¾Í²»ÓÃÅÂÁË¡£Äã´´½¨ÁËÒ»¸öÊôÓÚÄã×Ô¼ºµÄ·ÖÖ§£¬±ðÈË¿´²»µ½£¬»¹¼ÌÐøÔÚÔÀ´µÄ·ÖÖ§ÉÏÕý³£¹¤×÷£¬¶øÄãÔÚ×Ô¼ºµÄ·ÖÖ§ÉϸɻÏëÌá½»¾ÍÌá½»£¬Ö±µ½¿ª·¢Íê±Ïºó£¬ÔÙÒ»´ÎÐԺϲ¢µ½ÔÀ´µÄ·ÖÖ§ÉÏ£¬ÕâÑù£¬¼È°²È«£¬ÓÖ²»Ó°Ïì±ðÈ˹¤×÷¡£
ÆäËû°æ±¾¿ØÖÆÏµÍ³ÈçSVNµÈ¶¼ÓзÖÖ§¹ÜÀí£¬µ«ÊÇÓùýÖ®ºóÄã»á·¢ÏÖ£¬ÕâЩ°æ±¾¿ØÖÆÏµÍ³´´½¨ºÍÇл»·ÖÖ§±ÈÎÏÅ£»¹Âý£¬¼òÖ±ÈÃÈËÎÞ·¨ÈÌÊÜ£¬½á¹û·ÖÖ§¹¦ÄܳÉÁ˰ÚÉ裬´ó¼Ò¶¼²»È¥Óá£
µ«GitµÄ·ÖÖ§ÊÇÓëÖÚ²»Í¬µÄ£¬ÎÞÂÛ´´½¨¡¢Çл»ºÍɾ³ý·ÖÖ§£¬GitÔÚ1ÃëÖÓÖ®ÄÚ¾ÍÄÜÍê³É£¡ÎÞÂÛÄãµÄ°æ±¾¿âÊÇ1¸öÎļþ»¹ÊÇ1Íò¸öÎļþ¡£
11.´´½¨ºÍºÏ²¢·ÖÖ§
Ê×ÏȽ̳ÌÖлáÏêϸ½²½â·ÖÖ§µÄÔÀí£¨·ÖÖ§¡¢Ö¸Õë¡¢¹¤×÷Çø¡¡£©£¬Ò»¶¨ÒªºÃºÃ¿´£¡£¡¿´ÍêÖ®ºóÄã²ÅÄܶÔÄãµÄ´´½¨·ÖÖ§ºÍºÏ²¢·ÖÖ§µÄ²Ù×÷²»Ö»ÊÇ»áÓ㬸üÄÜÔÚÓõÄʱºòûÓÐÈκÎÒɻ󣡷´ÕýÄÜѧµ½¸ü¶àµÄ֪ʶ£¬ºÎÀÖ¶ø²»Îª£¡
ÁíÍâÍÆ¼öÕâÑùµÄ²©¿Í£ºÊ¹ÓÃgitºÍgithub½øÐÐÐͬ¿ª·¢Á÷³ÌÒÔ¼°ÎÒµÄѧϰ±Ê¼ÇʹÓÃgitºÍgithub¹ÜÀí×Ô¼ºµÄÏîÄ¿---ÕæÊµ¿ª·¢»·¾³µÄ²ßÂÔ¡£
ÔÚ°æ±¾»ØÍËÀÄãÒѾ֪µÀ£¬Ã¿´ÎÌá½»£¬Git¶¼°ÑËüÃÇ´®³ÉÒ»Ìõʱ¼äÏߣ¬ÕâÌõʱ¼äÏß¾ÍÊÇÒ»¸ö·ÖÖ§¡£½ØÖ¹µ½Ä¿Ç°£¬ÎÒÃÇÁ·Ï°µÄlearngit£¬Ö»ÓÐÒ»Ìõʱ¼äÏߣ¬ÔÚGitÀÕâ¸ö·ÖÖ§½ÐÖ÷·ÖÖ§£¬¼´master·ÖÖ§¡£HEADÑϸñÀ´Ëµ²»ÊÇÖ¸ÏòÌá½»£¬¶øÊÇÖ¸Ïòmaster£¬master²ÅÊÇÖ¸ÏòÌá½»µÄ£¬ËùÒÔ£¬HEADÖ¸ÏòµÄ¾ÍÊǵ±Ç°·ÖÖ§¡£
¿ªÊ¼ÊµÕ½£º
- git checkout -b dev ´´½¨Ò»¸öеķÖÖ§£ºdev£¬²¢ÇÒ»áÇл»µ½dev·ÖÖ§¡£ËùÒÔÕâÌõÃüÁîÓÐÁ½¸ö×÷Óá£git checkoutÃüÁî¼ÓÉÏ-b²ÎÊý±íʾ´´½¨²¢Çл»£¬Ï൱ÓÚÒÔÏÂÁ½ÌõÃüÁgit branch dev ºÍ git checkout dev
- ²¹³ä£ºËùÓеÄgit¹ÜÀíµÄÏîÄ¿¸Õ¿ªÊ¼Ê±ºòĬÈÏÓÐÒ»Ìõ·ÖÖ§£ºmaster
- git branch ²é¿´µ±Ç°ËùÔڵķÖÖ§¡£git branchÃüÁî»áÁгöËùÓзÖÖ§£¬µ±Ç°·ÖÖ§Ç°Ãæ»á±êÒ»¸ö*ºÅ¡£
- ÒòΪÇл»µ½dev·ÖÖ§£¬ËùÒÔÎÒÃÇÏÖÔÚ¿ÉÒÔÔÚdev·ÖÖ§ÉÏÕý³£Ìá½»£¬±ÈÈç¶Ôreadme.txt×öÒ»¸öÐÞ¸Ä
- git add readme.txt
- git commit -m "Ìá½»µ½dev·ÖÖ§"
- git checkout master ÏÖÔÚ£¬dev·ÖÖ§µÄ¹¤×÷Íê³É£¬ÎÒÃǾͿÉÒÔÇл»»Ømaster·ÖÖ§
- *×¢Òâ:*Çл»»Ømaster·ÖÖ§ºó£¬Ôٲ鿴һ¸öreadme.txtÎļþ£¬¸Õ²ÅÌí¼ÓµÄÄÚÈݲ»¼ûÁË£¡ÒòΪÄǸöÌá½»ÊÇÔÚdev·ÖÖ§ÉÏ£¬¶ømaster·ÖÖ§´Ë¿ÌµÄÌá½»µã²¢Ã»Óбä
- git merge dev ÕâÊÇÔÚmaster·ÖÖ§ÉÏÖ´ÐеÄÃüÁ×÷ÓÃÊÇ£º°Ñdev·ÖÖ§ÉϵŤ×÷³É¹ûºÏ²¢µ½master·ÖÖ§ÉÏ
- git mergeÃüÁîÓÃÓںϲ¢Ö¸¶¨·ÖÖ§µ½µ±Ç°·ÖÖ§¡£ºÏ²¢ºó£¬Ôٲ鿴readme.txtµÄÄÚÈÝ£¬¾Í¿ÉÒÔ¿´µ½£¬ºÍdev·ÖÖ§µÄ×îÐÂÌá½»ÊÇÍêȫһÑùµÄ¡£×¢Òâµ½ÉÏÃæµÄFast-forwardÐÅÏ¢£¬Git¸æËßÎÒÃÇ£¬Õâ´ÎºÏ²¢ÊÇ¡°¿ì½øÄ£Ê½¡±£¬Ò²¾ÍÊÇÖ±½Ó°ÑmasterÖ¸ÏòdevµÄµ±Ç°Ìá½»£¬ËùÒԺϲ¢Ëٶȷdz£¿ì¡£µ±È»£¬Ò²²»ÊÇÿ´ÎºÏ²¢¶¼ÄÜFast-forward£¬ÎÒÃǺóÃæ»á½«ÆäËû·½Ê½µÄºÏ²¢¡£
- git branch -d dev ºÏ²¢Íê³ÉÖ®ºó£¬¿ÉÒÔ·ÅÐĵÄɾ³ýdev·ÖÖ§ÁË
- git branch ɾ³ýºó£¬²é¿´branch£¬Ö»Ê£ÏÂmasterÁË
12.½â¾ö³åÍ»
½Ì³ÌÖÐÓÐÏêϸµÄͼÎÄ˵Ã÷£¬ºÜÐÎÏ󣬺ܺã¡Ò»¶¨Òª²Î¿¼£¡
ÈËÉú²»ÈçÒâÖ®ÊÂʮ֮°Ë¾Å£¬ºÏ²¢·ÖÖ§ÍùÍùÒ²²»ÊÇÒ»·«·ç˳µÄ¡£
- git checkout -b feature1 ´´½¨ÐµķÖÖ§feature1£¬²¢ÇÒ»»µ½Õâ¸ö·ÖÖ§£¬½øÐÐеÄʵÑé
- ÔÚfeature1·ÖÖ§Ï£¬¼ÙÈ罫readme.txtµÄ×îºóÒ»ÐÐÓÉ"test branch" ¸ÄΪ"test feature1"
- git add readme.txt
- git commit -m "ÔÚfeature1ÉÏÐÞ¸Äreadme.txtµÄ×îºóÒ»ÐÐ" ÔÚfeature1·ÖÖ§ÉÏÌá½»
- git checkout master Çл»µ½master·ÖÖ§¡£Git»¹»á×Ô¶¯ÌáʾÎÒÃǵ±Ç°master·ÖÖ§±ÈÔ¶³ÌµÄmaster·ÖÖ§Òª³¬Ç°1¸öÌá½»¡£
- ÔÚmaster·ÖÖ§Ï£¬¼ÙÈ罫readme.txtµÄ×îºóÒ»ÐÐÓÉ"test branch" ¸ÄΪ"test master"ÒòΪÉÏÃæµÄÊÇÔÚfeature1ÉϽøÐеÄÐ޸ģ¬ËùÒÔÇл»»ØmasterÖ®ºó£¬¿´µ½µÄÎļþ²¢²»ÊÇÔÚfeature1ÉÏÐ޸ĺóµÄÎļþ
- git add readme.txt
- git commit -m "ÓÖÔÚmasterÉÏÐÞ¸ÄÁËreadme.txtÎļþ" ÔÚmasterÉÏÒ²Ìá½»ÐÞ¸Ä
- ÏÖÔÚ£¬master·ÖÖ§ºÍfeature1·ÖÖ§¸÷×Ô¶¼·Ö±ðÓÐеÄÌá½»
- git merge feature1 ÔÚmaster·ÖÖ§ÉÏÖ´ÐиÃÃüÁÓëfeature1·ÖÖ§ºÏ²¢¡£ÕâÖÖÇé¿öÏ£¬GitÎÞ·¨Ö´ÐС°¿ìËٺϲ¢¡±£¬Ö»ÄÜÊÔͼ°Ñ¸÷×ÔµÄÐ޸ĺϲ¢ÆðÀ´£¬µ«ÕâÖֺϲ¢¾Í¿ÉÄÜ»áÓгåÍ»£¬¹ûÈ»³åÍ»ÁË£¡Git¸æËßÎÒÃÇ£¬readme.txtÎļþ´æÔÚ³åÍ»£¬±ØÐëÊÖ¶¯½â¾ö³åÍ»ºóÔÙÌá½»
- git status git statusÒ²¿ÉÒÔ¸æËßÎÒÃdzåÍ»µÄÎļþ
- ÕâʱºòʹÓÃvimµÈ±à¼Æ÷´ò¿ªreadme.txtÎļþ¿ÉÒÔ¿´µ½ÒѾÔÚreadme.txtÎļþÖн«³åÍ»µÄÐÅÏ¢ÒѾÌí¼Óµ½ÀïÃæÁË£¬GitÓÃ<<<<<<<£¬=======£¬>>>>>>>±ê¼Ç³ö²»Í¬·ÖÖ§µÄÄÚÈÝ
- È»ºóÎÒÃDZà¼readme.txtÎļþ£¬´¦Àí³åÍ»£¬½«ÄÚÈݸijÉÎÒÃÇÏëÒªµÄÑù×Ó
- git add readme.txt
- git commit -m "½â¾ö³åÍ»" ÔÚmasterÉÏÌá½»
- git log --graph --pretty=oneline --abbrev-commit Óôø²ÎÊýµÄgit log¿ÉÒÔ¿´µ½·ÖÖ§µÄºÏ²¢Çé¿ö¡£ÓÃgit log --graphÃüÁî¿ÉÒÔ¿´µ½·ÖÖ§ºÏ²¢Í¼¡£
- git branch -d feature1 ×îºóɾ³ýfeature·ÖÖ§£¬Íê³É¹¤×÷¡£
2015.09.09 ½ñÌì¾Íѧµ½ÕâÀʵÔÚÌ«ÍíÁË£¬¸Ï½ô˯¾õ£¬Ã÷Ì컹µÃ¹¤×÷£¡Ê²Ã´¶¼Ã»ÓÐÉíÌåÖØÒª£¡
Ã÷Ìì¼ÌÐø£º·ÖÖ§¹ÜÀí²ßÂÔ
a.ÅäÖÃÁ¬½ÓÔ¶³Ì²Ö¿âGithub
Ê×ÏÈ¿´ÕâÆªÎÄÕÂÁ˽âgitºÍSVNµÄÇø±ð£¬±Ï¾¹ÏÖÔÚ±ØÐëÔÚ¹¤×÷ÖÐʹÓõľÍÊÇSVN£¬ËùÒÔ»¹ÊÇŪÇå³þÁ½ÕßµÄÇø±ð¡£
GitÊÇ·Ö²¼Ê½°æ±¾¿ØÖÆÏµÍ³£¬Í¬Ò»¸öGit²Ö¿â£¬¿ÉÒÔ·Ö²¼µ½²»Í¬µÄ»úÆ÷ÉÏ¡£Ôõô·Ö²¼ÄØ£¿×îÔ磬¿Ï¶¨Ö»ÓÐһ̨»úÆ÷ÓÐÒ»¸öÔʼ°æ±¾¿â£¬´Ëºó£¬±ðµÄ»úÆ÷¿ÉÒÔ¡°¿Ë¡¡±Õâ¸öÔʼ°æ±¾¿â£¬¶øÇÒÿ̨»úÆ÷µÄ°æ±¾¿âÆäʵ¶¼ÊÇÒ»ÑùµÄ£¬²¢Ã»ÓÐÖ÷´ÎÖ®·Ö¡£
ʵ¼ÊÇé¿öÍùÍùÊÇÕâÑù£¬ÕÒһ̨µçÄԳ䵱·þÎñÆ÷µÄ½ÇÉ«£¬Ã¿Ìì24Сʱ¿ª»ú£¬ÆäËûÿ¸öÈ˶¼´ÓÕâ¸ö¡°·þÎñÆ÷¡±²Ö¿â¿Ë¡һ·Ýµ½×Ô¼ºµÄµçÄÔÉÏ£¬²¢ÇÒ¸÷×԰Ѹ÷×ÔµÄÌá½»ÍÆË͵½·þÎñÆ÷²Ö¿âÀҲ´Ó·þÎñÆ÷²Ö¿âÖÐÀÈ¡±ðÈ˵ÄÌá½»¡£
ÍêÈ«¿ÉÒÔ×Ô¼º´î½¨Ò»Ì¨ÔËÐÐGitµÄ·þÎñÆ÷£¬²»¹ýÏֽ׶Σ¬ÎªÁËѧGitÏÈ´î¸ö·þÎñÆ÷¾ø¶ÔÊÇСÌâ´ó×÷¡£ºÃÔÚÕâ¸öÊÀ½çÉÏÓиö½ÐGitHubµÄÉñÆæµÄÍøÕ¾£¬´ÓÃû×־ͿÉÒÔ¿´³ö£¬Õâ¸öÍøÕ¾¾ÍÊÇÌṩGit²Ö¿âÍйܷþÎñµÄ£¬ËùÒÔ£¬Ö»Òª×¢²áÒ»¸öGitHubÕ˺ţ¬¾Í¿ÉÒÔÃâ·Ñ»ñµÃGitÔ¶³Ì²Ö¿â¡£
ÔÚ¼ÌÐøÔĶÁºóÐøÄÚÈÝǰ£¬Çë×ÔÐÐ×¢²áGitHubÕ˺š£ÓÉÓÚÄãµÄ±¾µØGit²Ö¿âºÍGitHub²Ö¿âÖ®¼äµÄ´«ÊäÊÇͨ¹ýSSH¼ÓÃܵģ¬ËùÒÔ£¬ÐèÒªÒ»µãÉèÖãº
1. ´´½¨SSH Key¡£ÔÚÓû§Ä¿Â¼Ï£¬¿´¿´ÓÐûÓÐ.sshĿ¼£¬Èç¹ûÓУ¬ÔÙ¿´¿´Õâ¸öĿ¼ÏÂÓÐûÓÐid_rsaºÍid_rsa.pubÕâÁ½¸öÎļþ£¬Èç¹ûÒѾÓÐÁË£¬¿ÉÖ±½ÓÌøµ½ÏÂÒ»²½¡£Èç¹ûûÓУ¬´ò¿ªShell£¨WindowsÏ´ò¿ªGit Bash£©£¬´´½¨SSH Key£¬ÊäÈëÃüÁîssh-keygen -t rsa -C "youremail@example.com",ÄãÐèÒª°ÑÓʼþµØÖ·»»³ÉÄã×Ô¼ºµÄÓʼþµØÖ·£¬È»ºóһ·»Ø³µ£¬Ê¹ÓÃĬÈÏÖµ¼´¿É£¬ÓÉÓÚÕâ¸öKeyÒ²²»ÊÇÓÃÓÚ¾üÊÂÄ¿µÄ£¬ËùÒÔÒ²ÎÞÐèÉèÖÃÃÜÂë¡£Èç¹ûÒ»ÇÐ˳ÀûµÄ»°£¬¿ÉÒÔÔÚÓû§Ö÷Ŀ¼ÀïÕÒµ½.sshĿ¼£¬ÀïÃæÓÐid_rsaºÍid_rsa.pubÁ½¸öÎļþ£¬ÕâÁ½¸ö¾ÍÊÇSSH KeyµÄÃØÔ¿¶Ô£¬id_rsaÊÇ˽Կ£¬²»ÄÜй¶³öÈ¥£¬id_rsa.pubÊǹ«Ô¿£¬¿ÉÒÔ·ÅÐĵظæËßÈκÎÈË¡£
2. µÇ½GitHub£¬´ò¿ª¡°Account settings¡±£¬¡°SSH Keys¡±Ò³Ãæ.È»ºó£¬µã¡°Add SSH Key¡±£¬ÌîÉÏÈÎÒâTitle£¬ÔÚKeyÎı¾¿òÀïÕ³Ìùid_rsa.pubÎļþµÄÄÚÈÝ£º

3. µã¡°Add Key¡±£¬Äã¾ÍÓ¦¸Ã¿´µ½ÒѾÌí¼ÓµÄKey£º

×¢ÒâÏÖÔÚµÄGithubµÄÒ³ÃæµÄ²¼¾Ö¿ÉÄܺÍͼƬÖÐÏÔʾÓÐϸСµÄ²î±ð£¬²»¹ýÏàÐÅÄãÄÜÕÒµ½¶ÔÓ¦µÄ²Ù×÷£¡
ΪʲôGitHubÐèÒªSSH KeyÄØ£¿ÒòΪGitHubÐèҪʶ±ð³öÄãÍÆË͵ÄÌύȷʵÊÇÄãÍÆË͵쬶ø²»ÊDZðÈËð³äµÄ£¬¶øGitÖ§³ÖSSHÐÒ飬ËùÒÔ£¬GitHubÖ»ÒªÖªµÀÁËÄãµÄ¹«Ô¿£¬¾Í¿ÉÒÔÈ·ÈÏÖ»ÓÐÄã×Ô¼º²ÅÄÜÍÆËÍ¡£
µ±È»£¬GitHubÔÊÐíÄãÌí¼Ó¶à¸öKey¡£¼Ù¶¨ÄãÓÐÈô¸ÉµçÄÔ£¬ÄãÒ»»á¶ùÔÚ¹«Ë¾Ìá½»£¬Ò»»á¶ùÔÚ¼ÒÀïÌá½»£¬Ö»Òª°Ñÿ̨µçÄÔµÄKey¶¼Ìí¼Óµ½GitHub£¬¾Í¿ÉÒÔÔÚÿ̨µçÄÔÉÏÍùGitHubÍÆËÍÁË¡£
×îºóÓÑÇéÌáʾ£¬ÔÚGitHubÉÏÃâ·ÑÍйܵÄGit²Ö¿â£¬ÈκÎÈ˶¼¿ÉÒÔ¿´µ½à¸£¨µ«Ö»ÓÐÄã×Ô¼º²ÅÄܸģ©¡£ËùÒÔ£¬²»Òª°ÑÃô¸ÐÐÅÏ¢·Å½øÈ¥¡£
Èç¹ûÄã²»ÏëÈñðÈË¿´µ½Git¿â£¬ÓÐÁ½¸ö°ì·¨£¬Ò»¸öÊǽ»µã±£»¤·Ñ£¬ÈÃGitHub°Ñ¹«¿ªµÄ²Ö¿â±ä³É˽Óеģ¬ÕâÑù±ðÈ˾Ϳ´²»¼ûÁË£¨²»¿É¶Á¸ü²»¿Éд£©¡£ÁíÒ»¸ö°ì·¨ÊÇ×Ô¼º¶¯ÊÖ£¬´îÒ»¸öGit·þÎñÆ÷£¬ÒòΪÊÇÄã×Ô¼ºµÄGit·þÎñÆ÷£¬ËùÒÔ±ðÈËÒ²ÊÇ¿´²»¼ûµÄ¡£Õâ¸ö·½·¨ÎÒÃǺóÃæ»á½²µ½µÄ£¬Ï൱¼òµ¥£¬¹«Ë¾ÄÚ²¿¿ª·¢±Ø±¸¡£
ÏÖÔÚµÄÇé¾°ÊÇ£¬ÄãÒѾÔÚ±¾µØ´´½¨ÁËÒ»¸öGit²Ö¿âºó£¬ÓÖÏëÔÚGitHub´´½¨Ò»¸öGit²Ö¿â£¬²¢ÇÒÈÃÕâÁ½¸ö²Ö¿â½øÐÐÔ¶³Ìͬ²½£¬ÕâÑù£¬GitHubÉϵIJֿâ¼È¿ÉÒÔ×÷Ϊ±¸·Ý£¬ÓÖ¿ÉÒÔÈÃÆäËûÈËͨ¹ý¸Ã²Ö¿âÀ´Ð×÷£¬ÕæÊÇÒ»¾Ù¶àµÃ¡£¾ßÌå¿ÉÒÔ¼û½Ì³Ì¡£
Ê×ÏÈ£¬µÇ½GitHub£¬È»ºó£¬ÔÚÓÒÉϽÇÕÒµ½¡°Create a new repo¡±°´Å¥£¬´´½¨Ò»¸öеIJֿ⣺

ÔÚRepository nameÌîÈëlearngit£¬ÆäËû±£³ÖĬÈÏÉèÖ㬵ã»÷¡°Create repository¡±°´Å¥£¬¾Í³É¹¦µØ´´½¨ÁËÒ»¸öеÄGit²Ö¿â£º

Ŀǰ£¬ÔÚGitHubÉϵÄÕâ¸ölearngit²Ö¿â»¹Êǿյģ¬GitHub¸æËßÎÒÃÇ£¬¿ÉÒÔ´ÓÕâ¸ö²Ö¿â¿Ë¡³öеIJֿ⣬Ҳ¿ÉÒÔ°ÑÒ»¸öÒÑÓеı¾µØ²Ö¿âÓëÖ®¹ØÁª£¬È»ºó£¬°Ñ±¾µØ²Ö¿âµÄÄÚÈÝÍÆË͵½GitHub²Ö¿â¡£ |