git¹¤¾ßÔõÑùʹÓÃ
git¹¤¾ßÊÇÒ»¸ö·Ç¾³£Óõİ汾¿ØÖÆϵͳ£¬Ëü¿ÉÒÔ×ÊÖú³ÌÐòÔ±ÖÎÀí´úÂ룬Ð×÷¿ª·¢£¬ÒÔ¼°°æ±¾¿ØÖÆ£¬²¢ÇÒºÜÊÇÒ×ÓÚʹÓᣱ¾ÎĽ«»áÏêϸ½â˵ÔõÑùʹÓÃgit¹¤¾ß¡£
Ò»¡¢GitµÄ×°ÖÃÓëÉèÖÃ
Ê×ÏÈ£¬ÎÒÃÇҪװÖÃGit¹¤¾ß¡£È¥¹Ù·½ÍøÕ¾ÏÂÔضÔÓ¦²Ù×÷ϵͳµÄ×°Öðü£¬È»ºó¾ÙÐÐ×°Öá£ÔÚ×°ÖÃÍê³Éºó£¬ÎÒÃÇÐèÒª¾ÙÐÐһЩÉèÖã¬ÒÔÀû±ãÎÒÃÇʹÓÃGit¡£
Ê×ÏÈ£¬ÎÒÃÇÐèÒª·¿ªÖնˣ¨WindowsÏÂÊÇGit Bash£©ÊäÈëÒÔÏÂÏÂÁ
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬user.nameºÍuser.email»®·ÖΪÄãµÄGitHubÕ˺ŵÄÃû×ÖºÍÓʼþµØµã¡£ÕâÑùÒ»À´£¬Ã¿´ÎÌá½»½ÓÂëÖ®ºó£¬ÆäËûÈ˾ÍÄÜƾ֤Õâ¸öÐÅÏ¢ÖªµÀÊÇËÌá½»µÄ´úÂë¡£
¶þ¡¢GitµÄ»ù±¾Ê¹ÓÃ
ÏÖÔÚ£¬ÎÒÃÇÒѾÍê³ÉÁËGitµÄ×°ÖúÍÉèÖ᣽ÓÏÂÀ´£¬ÎÒÃÇÀ´Ñ§Ï°Ò»ÏÂGitµÄ»ù±¾Ê¹Óá£
½¨Éè¿ÍÕ»
Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öеÄGit¿ÍÕ»¡£¿ÉÒÔͨ¹ýÒÔÏÂÏÂÁîÀ´½¨É裺
$ mkdir myrepo $ cd myrepo $ git init
µÇ¼ºó¸´ÖÆ
ÕâÑùÒ»À´£¬ÎÒÃǾͽ¨ÉèÁËÒ»¸öÃûΪ¡°myrepo¡±µÄGit¿ÍÕ»£¬²¢¶ÔÆä¾ÙÐÐÁ˳õʼ»¯¡£
н¨Îļþ
½ÓÏÂÀ´£¬ÎÒÃÇ¿ÉÒÔÍù¿ÍÕ»ÀïÌí¼ÓһЩÎļþ¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁÉèÒ»¸öеÄÎļþ£º
$ touch myfile.txt
µÇ¼ºó¸´ÖÆ
ÕâÑùÒ»À´£¬ÎÒÃǾÍÔÚGit¿ÍÕ»Öн¨ÉèÁËÒ»¸öÃûΪ¡°myfile.txt¡±µÄÎļþ¡£
Ìí¼ÓÎļþ
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½«Õâ¸öÎļþÌí¼Óµ½Git¿ÍÕ»ÖУ¬²¢ÔÚÍâµØ¿ÍÕ»Öеĸú×ÙÁбíÖС£¿ÉÒÔͨ¹ýÒÔÏÂÏÂÁîÀ´Ìí¼Ó£º
$ git add myfile.txt
µÇ¼ºó¸´ÖÆ
¿ÉÒÔÒ»´ÎÐÔÌí¼Ó¶à¸öÎļþ£¬ÀýÈ磺
$ git add file1 file2 file3
µÇ¼ºó¸´ÖÆ
Ìá½»±ä»»
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½«ÎÒÃǶÔÎļþµÄÐÞ¸ÄÌá½»µ½Git¿ÍÕ»ÖС£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî¾ÙÐÐÌá½»£º
$ git commit ¨Cm ¡°initial commit¡±
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬¡°initial commit¡±ÊÇÒ»¸öÌá½»ÐÅÏ¢£¬¿ÉÒÔí§ÒâÖ¸¶¨£¬ÓÃÓÚÐÎòÕâ¸öÌá½»Ëù×öµÄ¸ü¸Ä¡£
Éó²é¿Íջ״̬ºÍÈÕÖ¾
ÏÖÔÚ£¬ÎÒÃÇÒѾÀֳɵؽ«ÎļþÌí¼Óµ½ÁËGit¿ÍÕ»ÖС£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Éó²é¿ÍÕ»µÄÄ¿½ñ״̬£º
$ git status
µÇ¼ºó¸´ÖÆ
¿ÉÒÔ¿´µ½£¬Ä¿½ñ¿ÍÕ»µÄ״̬ÊÇ¡°Çå½à¡±µÄ£¬ÌåÏÖûÓÐδÌá½»µÄ¸ü¸Ä¡£
ÎÒÃÇÒ²¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÉó²é¿ÍÕ»µÄÌá½»ÈÕÖ¾£º
$ git log
µÇ¼ºó¸´ÖÆ
ÕâÑùÒ»À´£¬ÎÒÃǾͿÉÒÔÂíÉÏ¿´µ½ËùÓÐÌá½»µÄ¼Í¼¡£
·ÖÖ§²Ù×÷
GitÖ§³Ö·ÖÖ§ÖÎÀí£¬ÕâÑù£¬ÎÒÃǾͿÉÒÔÔÚ¿ª·¢Àú³ÌÖÐÓжà¸ö·ÖÖ§£¬²¢ÇÒ¿ÉÒÔ½«ËüÃǺϲ¢ÔÚÒ»Æ𡣿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´½¨ÉèзÖÖ§£º
$ git branch newbranch
µÇ¼ºó¸´ÖÆ
ÏàʶĿ½ñËùÓзÖÖ§£º
$ git branch
µÇ¼ºó¸´ÖÆ
Çл»·ÖÖ§£º
$ git checkout newbranch
µÇ¼ºó¸´ÖÆ
ɾ³ý·ÖÖ§£º
$ git branch -D branch_to_delete
µÇ¼ºó¸´ÖÆ
ºÏ²¢·ÖÖ§£º
$ git merge branch_name
µÇ¼ºó¸´ÖÆ
ͬ²½Ô¶³Ì¿ÍÕ»
Git»¹Ö§³Ö½«´úÂëͬ²½µ½Ô¶³Ì´úÂëÍйÜƽ̨£¬ÀýÈçGitHub»òÕßGitLab¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´½«´úÂëͬ²½µ½Ô¶³Ì¿ÍÕ»£º
$ git push origin master
µÇ¼ºó¸´ÖÆ
ÆäÖС°origin¡±ÊÇÔ¶³Ì¿ÍÕ»µÄÓÖÃû£¬¶ø¡°master¡±ÔòÊÇ·ÖÖ§µÄÃû³Æ¡£
ÈôÊÇÐèÒª´ÓÔ¶³Ì¿ÍÕ»ÖÐÀÈ¡×îеĴúÂ룬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
$ git pull origin master
µÇ¼ºó¸´ÖÆ
ÆäËû³£ÓÃÏÂÁî
³ýÁËÉÏÊö²Ù×÷£¬Git»¹Ö§³ÖÆäËûһЩ³£ÓÃÏÂÁÀýÈ磺
Éó²éÄ¿½ñËùÓбêÇ©£º
$ git tag
µÇ¼ºó¸´ÖÆ
Ìí¼Ó±êÇ©£º
$ git tag v1.0
µÇ¼ºó¸´ÖÆ
ɾ³ý±êÇ©£º
$ git tag -d v1.0
µÇ¼ºó¸´ÖÆ
¸´ÖÆÔ¶³Ì¿ÍÕ»£º
$ git clone https://github.com/user/repo.git
µÇ¼ºó¸´ÖÆ
ÒÔÉÏÊÇGitµÄ»ù±¾Ê¹ÓÃÒªÁ죬¿ÉÊÇGitÉÐÓÐÐí¶à¸ß¼¶²Ù×÷£¬ÀýÈçrebase¡¢stash¡¢cherry-pickµÈ£¬ÐèÒªÔÚÏÖʵʹÓÃÖоÙÐÐѧϰºÍʹÓá£
Èý¡¢×ܽá
ÉÏÊö¾ÍÊÇGit¹¤¾ßµÄ»ù±¾Ê¹ÓÃÒªÁ죬ѧ»áÁËÕâЩҪÁì¾Í¿ÉÒÔ¸üºÃµÄʹÓÃGit£¬Àû±ã×Ô¼ºµÄ¿ª·¢¡¢ÖÎÀíºÍÐ×÷¡£½¨ÒéÔÚÏÖʵÏîÄ¿¿ª·¢Àú³ÌÖÐÍŽáʹÓã¬ÐÅÍÐÄãÒ»¶¨»áÓв»´íµÄÊÕ»ñ¡£
ÒÔÉϾÍÊÇgit¹¤¾ßÔõÑùʹÓõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡