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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¡¾Git¡¿---¹¤×÷Çø¡¢ÔÝ´æÇø¡¢°æ±¾¿â¡¢Ô¶³Ì²Ö¿â
 
 
  3468  次浏览      19
 2021-7-5 
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËgitµÄ¸ÅÄî¼°ËĸöÇøÓò³£ÓÃÃüÁî¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­¡¢ÍƼö¡£

Ò»¡¢¸ÅÄî

1¡¢Ëĸö¹¤×÷ÇøÓò

Git±¾µØÓÐËĸö¹¤×÷ÇøÓò£º¹¤×÷Ŀ¼£¨Working Directory£©¡¢ÔÝ´æÇø(Stage/Index)¡¢×ÊÔ´¿â(Repository»òGit Directory)¡¢git²Ö¿â(Remote Directory)¡£ÎļþÔÚÕâËĸöÇøÓòÖ®¼äµÄת»»¹ØϵÈçÏ£º

Workspace£º ¹¤×÷Çø£¬¾ÍÊÇÄãƽʱ´æ·ÅÏîÄ¿´úÂëµÄµØ·½

Index / Stage£º ÔÝ´æÇø£¬ÓÃÓÚÁÙʱ´æ·ÅÄãµÄ¸Ä¶¯£¬ÊÂʵÉÏËüÖ»ÊÇÒ»¸öÎļþ£¬±£´æ¼´½«Ìá½»µ½ÎļþÁбíÐÅÏ¢

Repository£º ²Ö¿âÇø£¨»ò°æ±¾¿â£©£¬¾ÍÊÇ°²È«´æ·ÅÊý¾ÝµÄλÖã¬ÕâÀïÃæÓÐÄãÌá½»µ½ËùÓа汾µÄÊý¾Ý¡£ÆäÖÐHEADÖ¸Ïò×îзÅÈë²Ö¿âµÄ°æ±¾

Remote£º Ô¶³Ì²Ö¿â£¬ÍйܴúÂëµÄ·þÎñÆ÷£¬¿ÉÒÔ¼òµ¥µÄÈÏΪÊÇÄãÏîÄ¿×éÖеÄһ̨µçÄÔÓÃÓÚÔ¶³ÌÊý¾Ý½»»»

2¡¢¹¤×÷Á÷³Ì

gitµÄ¹¤×÷Á÷³ÌÒ»°ãÊÇÕâÑùµÄ£º

£±¡¢ÔÚ¹¤×÷Ŀ¼ÖÐÌí¼Ó¡¢ÐÞ¸ÄÎļþ£»

£²¡¢½«ÐèÒª½øÐа汾¹ÜÀíµÄÎļþ·ÅÈëÔÝ´æÇøÓò£»

£³¡¢½«ÔÝ´æÇøÓòµÄÎļþÌá½»µ½git²Ö¿â¡£

Òò´Ë£¬git¹ÜÀíµÄÎļþÓÐÈýÖÖ״̬£ºÒÑÐ޸ģ¨modified£©,ÒÑÔݴ棨staged£©,ÒÑÌá½»(committed)

3¡¢ÎļþµÄËÄÖÖ״̬

°æ±¾¿ØÖƾÍÊǶÔÎļþµÄ°æ±¾¿ØÖÆ£¬Òª¶ÔÎļþ½øÐÐÐ޸ġ¢Ìá½»µÈ²Ù×÷£¬Ê×ÏÈÒªÖªµÀÎļþµ±Ç°ÔÚʲô״̬£¬²»È»¿ÉÄÜ»áÌá½»ÁËÏÖÔÚ»¹²»ÏëÌá½»µÄÎļþ£¬»òÕßÒªÌá½»µÄÎļþûÌá½»ÉÏ¡£

GIT²»¹ØÐÄÎļþÁ½¸ö°æ±¾Ö®¼äµÄ¾ßÌå²î±ð£¬¶øÊǹØÐÄÎļþµÄÕûÌåÊÇ·ñÓиı䣬ÈôÎļþ±»¸Ä±ä£¬ÔÚÌí¼ÓÌύʱ¾ÍÉú³ÉÎļþа汾µÄ¿ìÕÕ£¬¶øÅжÏÎļþÕûÌåÊÇ·ñ¸Ä±äµÄ·½·¨¾ÍÊÇÓÃ

SHA-1Ëã·¨¼ÆËãÎļþµÄУÑéºÍ¡£

Untracked: δ¸ú×Ù, ´ËÎļþÔÚÎļþ¼ÐÖÐ, µ«²¢Ã»ÓмÓÈëµ½git¿â, ²»²ÎÓë°æ±¾¿ØÖÆ. ͨ¹ýgit add ״̬±äΪStaged.

Unmodify: ÎļþÒѾ­Èë¿â, δÐÞ¸Ä, ¼´°æ±¾¿âÖеÄÎļþ¿ìÕÕÄÚÈÝÓëÎļþ¼ÐÖÐÍêÈ«Ò»ÖÂ. ÕâÖÖÀàÐ͵ÄÎļþÓÐÁ½ÖÖÈ¥´¦, Èç¹ûËü±»ÐÞ¸Ä, ¶ø±äΪModified.

Èç¹ûʹÓÃgit rmÒƳö°æ±¾¿â, Ôò³ÉΪUntrackedÎļþ

Modified: ÎļþÒÑÐÞ¸Ä, ½ö½öÊÇÐÞ¸Ä, ²¢Ã»ÓнøÐÐÆäËûµÄ²Ù×÷. Õâ¸öÎļþÒ²ÓÐÁ½¸öÈ¥´¦, ͨ¹ýgit add¿É½øÈëÔÝ´æstaged״̬, ʹÓÃgit checkout Ôò¶ªÆúÐ޸Ĺý,

·µ»Øµ½unmodify״̬, Õâ¸ögit checkout¼´´Ó¿âÖÐÈ¡³öÎļþ, ¸²¸Çµ±Ç°ÐÞ¸Ä

Staged: ÔÝ´æ״̬. Ö´ÐÐgit commitÔò½«ÐÞ¸Äͬ²½µ½¿âÖÐ, Õâʱ¿âÖеÄÎļþºÍ±¾µØÎļþÓÖ±äΪһÖÂ, ÎļþΪUnmodify״̬. Ö´ÐÐgit reset HEAD filenameÈ¡ÏûÔÝ´æ,

Îļþ״̬ΪModified

ÏÂÃæµÄͼºÜºÃµÄ½âÊÍÁËÕâËÄÖÖ״̬µÄת±ä£º

н¨Îļþ--->Untracked

ʹÓÃaddÃüÁн¨µÄÎļþ¼ÓÈëµ½ÔÝ´æÇø--->Staged

ʹÓÃcommitÃüÁÔÝ´æÇøµÄÎļþÌá½»µ½±¾µØ²Ö¿â--->Unmodified

Èç¹û¶ÔUnmodified״̬µÄÎļþ½øÐÐÐÞ¸Ä---> modified

Èç¹û¶ÔUnmodified״̬µÄÎļþ½øÐÐremove²Ù×÷--->Untracked

¶þ¡¢ËĸöÇøÓò³£ÓÃÃüÁî

1¡¢Ð½¨´úÂë¿â

¸´ÖÆ´úÂë

# ÔÚµ±Ç°Ä¿Â¼Ð½¨Ò»¸öGit´úÂë¿â

git init

# н¨Ò»¸öĿ¼£¬½«Æä³õʼ»¯ÎªGit´úÂë¿â

git init [project-name]

# ÏÂÔØÒ»¸öÏîÄ¿ºÍËüµÄÕû¸ö´úÂëÀúÊ·

git clone [url]

¸´ÖÆ´úÂë

2¡¢²é¿´Îļþ״̬

#²é¿´Ö¸¶¨Îļþ״̬

git status [filename]

#²é¿´ËùÓÐÎļþ״̬

git status

3¡¢¹¤×÷Çø<-->ÔÝ´æÇø

¸´ÖÆ´úÂë

# Ìí¼ÓÖ¸¶¨Îļþµ½ÔÝ´æÇø

git add [file1] [file2] ...

# Ìí¼ÓÖ¸¶¨Ä¿Â¼µ½ÔÝ´æÇø£¬°üÀ¨×ÓĿ¼

git add [dir]

# Ìí¼Óµ±Ç°Ä¿Â¼µÄËùÓÐÎļþµ½ÔÝ´æÇø

git add .

#µ±ÎÒÃÇÐèҪɾ³ýÔÝ´æÇø»ò·ÖÖ§ÉϵÄÎļþ, ͬʱ¹¤×÷ÇøÒ²²»ÐèÒªÕâ¸öÎļþÁË, ¿ÉÒÔʹÓã¨??£©

git rm file_path

#µ±ÎÒÃÇÐèҪɾ³ýÔÝ´æÇø»ò·ÖÖ§ÉϵÄÎļþ, µ«±¾µØÓÖÐèҪʹÓÃ, Õâ¸öʱºòÖ±½ÓpushÄDZßÕâ¸öÎļþ¾ÍûÓУ¬Èç¹ûpush֮ǰÖØÐÂaddÄÇô»¹ÊÇ»áÓС£

git rm --cached file_path

#Ö±½Ó¼ÓÎļþÃû ´ÓÔÝ´æÇø½«Îļþ»Ö¸´µ½¹¤×÷Çø£¬Èç¹û¹¤×÷ÇøÒѾ­ÓиÃÎļþ£¬Ôò»áÑ¡Ôñ¸²¸Ç

#¼ÓÁË¡¾·ÖÖ§Ãû¡¿ +ÎļþÃû Ôò±íʾ´Ó·ÖÖ§ÃûΪËùдµÄ·ÖÖ§ÃûÖÐÀ­È¡Îļþ ²¢¸²¸Ç¹¤×÷ÇøÀïµÄÎļþ

git checkout

¸´ÖÆ´úÂë

4¡¢¹¤×÷Çø<-->×ÊÔ´¿â£¨°æ±¾¿â£©

¸´ÖÆ´úÂë

#½«ÔÝ´æÇø-->×ÊÔ´¿â£¨°æ±¾¿â£©

git commit -m '¸Ã´ÎÌύ˵Ã÷'

#Èç¹û³öÏÖ:½«²»±ØÒªµÄÎļþcommit »òÕß ÉÏ´ÎÌá½»¾õµÃÊÇ´íµÄ »òÕß ²»Ïë¸Ä±äÔÝ´æÇøÄÚÈÝ£¬Ö»ÊÇÏëµ÷ÕûÌá½»µÄÐÅÏ¢

#ÒƳý²»±ØÒªµÄÌí¼Óµ½ÔÝ´æÇøµÄÎļþ

git reset HEAD ÎļþÃû

#È¥µôÉÏÒ»´ÎµÄÌá½»£¨»áÖ±½Ó±ä³Éadd֮ǰ״̬£©

git reset HEAD^

#È¥µôÉÏÒ»´ÎµÄÌá½»£¨±ä³ÉaddÖ®ºó£¬commit֮ǰ״̬£©

git reset --soft HEAD^

¸´ÖÆ´úÂë

5¡¢Ô¶³Ì²Ù×÷

# È¡»ØÔ¶³Ì²Ö¿âµÄ±ä»¯£¬²¢Óë±¾µØ·ÖÖ§ºÏ²¢

git pull

# ÉÏ´«±¾µØÖ¸¶¨·ÖÖ§µ½Ô¶³Ì²Ö¿â

git push

6¡¢ÆäËü³£ÓÃÃüÁî

¸´ÖÆ´úÂë

# ÏÔʾµ±Ç°µÄGitÅäÖÃ

git config --list

# ±à¼­GitÅäÖÃÎļþ

git config -e [--global]

#³õ´Îcommit֮ǰ£¬ÐèÒªÅäÖÃÓû§ÓÊÏä¼°Óû§Ãû£¬Ê¹ÓÃÒÔÏÂÃüÁ

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

#µ÷³öGitµÄ°ïÖúÎĵµ

git --help

#²é¿´Ä³¸ö¾ßÌåÃüÁîµÄ°ïÖúÎĵµ

git +ÃüÁî --help

#²é¿´gitµÄ°æ±¾

git --version

 

 
   
3468 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕÂ

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

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

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]
 
×îÐÂÎÄÕÂ
gitÔ­Àíͼ½â
Git·ÖÖ§¹ÜÀíʵ¼ù
GitѧϰºÍÏîÄ¿Ó¦ÓÃʵÀý
Git ÌìÌìÓà µ«ÊÇ Git Ô­ÀíÄãÁ˽âÂð£¿
¶Ô±È Git Óë SVN£¬Õâƪ½²µÄºÜÒ׶®
×îпγÌ
Git°æ±¾¿ØÖÆϵͳ
ÅäÖùÜÀíÓë³ÖÐø¼¯³Éʵ¼ù
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ßÓëÓ¦ÓÃ
³ÖÐø¼¯³ÉÓëÃô½Ý¿ª·¢
ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
³É¹¦°¸Àý
ijµ¥Î»Ñз¢ÖÐÐÄ ²úÆ·¼¯³ÉÓë·þÎñƽ̨
ijµç×ÓÖÆÔìÉÌ ÅäÖùÜÀíÓë³ÖÐø¼¯³É
±±¾© ÅäÖùÜÀíÓë³ÖÐø¼¯³Éʵ¼ù
½ðÑÅÍØ ·Ö²¼Ê½³ÖÐø¼¯³É¹¤¾ßÁ´
±±¾© ³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù