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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
°æ±¾¿ØÖƼò½éGitÓëRepoÈëÃÅ
 
×÷Õߣºbinyao02123202 À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-12-25
  3320  次浏览      27
 

°æ±¾¿ØÖÆ

°æ±¾¿ØÖÆÊÇʲôÒѲ»ÓÃÔÚ˵ÁË£¬¾ÍÊǼǼÎÒÃǶÔÎļþ¡¢Ä¿Â¼»ò¹¤³ÌµÈµÄÐÞ¸ÄÀúÊ·£¬·½±ã²é¿´¸ü¸ÄÀúÊ·£¬±¸·ÝÒÔ±ã»Ö¸´ÒÔǰµÄ°æ±¾£¬¶àÈËЭ×÷¡£¡£¡£

Ò»¡¢Ô­Ê¼°æ±¾¿ØÖÆ

×îԭʼµÄ°æ±¾¿ØÖÆÊÇ´¿ÊÖ¹¤µÄ°æ±¾¿ØÖÆ£ºÐÞ¸ÄÎļþ£¬±£´æÎļþ¸±±¾¡£ÓÐʱºò͵ÀÁʡʣ¬±£´æ¸±±¾Ê±ÃüÃû±È½ÏËæÒ⣬ʱ¼ä³¤Á˾Ͳ»ÖªµÀÄĸöÊÇеģ¬ÄĸöÊÇÀϵÄÁË£¬¼´Ê¹ÖªµÀоɣ¬¿ÉÄÜÒ²²»ÖªµÀÿ¸ö°æ±¾ÊÇʲôÄÚÈÝ£¬Ïà¶ÔÉÏÒ»°æ×÷ÁËʲôÐÞ¸ÄÁË£¬µ±¼¸¸ö°æ±¾¹ýÈ¥ºó£¬ºÜ¿ÉÄܾÍÊÇÏÂÃæµÄÑù×ÓÁË£º

¶þ¡¢±¾µØ°æ±¾¿ØÖÆ

ÊÖ¹¤¹ÜÀí±È½ÏÂé·³ÇÒ»ìÂÒ£¬ËùÒÔ³öÏÖÁ˱¾µØ°æ±¾¿ØÖÆÏµÍ³£¬¼Ç¼Îļþÿ´ÎµÄ¸üУ¬¿ÉÒÔ¶Ôÿ¸ö°æ±¾×öÒ»¸ö¿ìÕÕ£¬»òÊǼǼ²¹¶¡Îļþ¡£±ÈÈçRCS¡£

Èý¡¢¼¯Öа汾¿ØÖÆ

µ«ÊDZ¾µØ°æ±¾¿ØÖÆÏµÍ³Æ«ÏòÓÚ¸öÈËʹÓ㬻òÕß¶à¸öʹÓõÄÈ˱ØÐëҪʹÓÃÏàͬµÄÉ豸£¬Èç¹ûÐèÒª¶àÈËЭ×÷¾Í²»ºÃ°ìÁË£¬ÓÚÊÇ£¬¼¯Öл¯µÄ°æ±¾¿ØÖÆÏµÍ³£¨ Centralized Version Control Systems£¬¼ò³Æ CVCS £©Ó¦Ô˶øÉú£¬±ÈÈçSubversion£¬Perforce¡£

ÔÚCVCSÖУ¬ËùÓеİ汾Êý¾Ý¶¼±£´æÔÚ·þÎñÆ÷ÉÏ£¬Ò»Æð¹¤×÷µÄÈË´Ó·þÎñÆ÷ÉÏͬ²½¸üлòÉÏ´«×Ô¼ºµÄÐ޸ġ£

µ«ÊÇ£¬ËùÓеİ汾Êý¾Ý¶¼´æÔÚ·þÎñÆ÷ÉÏ£¬Óû§µÄ±¾µØÉ豸¾ÍÖ»ÓÐ×Ô¼ºÒÔǰËùͬ²½µÄ°æ±¾£¬Èç¹û²»Á¬ÍøµÄ»°£¬Óû§¾Í¿´²»µ½ÀúÊ·°æ±¾£¬Ò²ÎÞ·¨Çл»°æ±¾ÑéÖ¤ÎÊÌ⣬»òÔÚ²»Í¬·ÖÖ§¹¤×÷¡£¡£

¶øÇÒ£¬ËùÓÐÊý¾Ý¶¼±£´æÔÚµ¥Ò»µÄ·þÎñÆ÷ÉÏ£¬ÓкܴóµÄ·çÏÕÕâ¸ö·þÎñÆ÷»áË𻵣¬ÕâÑù¾Í»á¶ªÊ§ËùÓеÄÊý¾Ý£¬µ±È»¿ÉÒÔ¶¨ÆÚ±¸·Ý¡£

ËÄ¡¢·Ö²¼Ê½°æ±¾¿ØÖÆ

Õë¶ÔCVCSµÄÒÔÉÏȱµã£¬³öÏÖÁË·Ö²¼Ê½°æ±¾¿ØÖÆÏµÍ³( Distributed Version Control System,¼ò³Æ DVCS )£¬ÈçGIT£¬Mercurial¡£

DVCS²»ÊǸ´ÖÆÖ¸¶¨°æ±¾µÄ¿ìÕÕ£¬¶øÊǰÑËùÓеİ汾ÐÅÏ¢²Ö¿âÈ«²¿Í¬²½µ½±¾µØ£¬ÕâÑù¾Í¿ÉÒÔÔÚ±¾µØ²é¿´ËùÓа汾ÀúÊ·£¬¿ÉÒÔÀëÏßÔÚ±¾µØÌá½»£¬Ö»ÐèÔÚÁ¬ÍøÊ±pushµ½ÏàÓ¦µÄ·þÎñÆ÷»òÆäËûÓû§ÄÇÀï¡£ÓÉÓÚÿ¸öÓû§ÄÇÀï±£´æµÄ¶¼ÊÇËùÓеİ汾Êý¾Ý£¬ËùÒÔ£¬Ö»ÒªÓÐÒ»¸öÓû§µÄÉ豸ûÓÐÎÊÌâ¾Í¿ÉÒÔ»Ö¸´ËùÓеÄÊý¾Ý¡£

µ±È»£¬ÕâÔö¼ÓÁ˱¾µØ´æ´¢¿Õ¼äµÄÕ¼Óá£

GIT

±ØÐëÒªÁ˽âGITµÄÔ­Àí£¬²ÅÄÜÖªµÀÿ¸ö²Ù×÷µÄÒâÒåÊÇʲô£¬²ÅÄܸüÈÝÒ×µØÀí½âÔÚʲôÇé¿öÏÂÓÃʲô²Ù×÷£¬¶ø²»ÊÇËÀ¼ÇÃüÁî¡£µ±È»£¬µÚÒ»²½ÊÇÒª»ñµÃÒ»¸öGIT²Ö¿â¡£

Ò»¡¢»ñµÃGIT²Ö¿â

ÓÐÁ½ÖÖ»ñµÃGIT²Ö¿âµÄ·½·¨£¬Ò»ÊÇÔÚÐèÒªÓÃGIT¹ÜÀíµÄÏîÄ¿µÄ¸ùĿ¼ִÐУº

git init

Ö´Ðкó¿ÉÒÔ¿´µ½£¬½ö½öÔÚÏîĿĿ¼¶à³öÁËÒ»¸ö.gitĿ¼£¬¹ØÓÚ°æ±¾µÈµÄËùÓÐÐÅÏ¢¶¼ÔÚÕâ¸öĿ¼ÀïÃæ¡£

ÁíÒ»ÖÖ·½Ê½ÊǿˡԶ³ÌĿ¼£¬ÓÉÓÚÊǽ«Ô¶³Ì·þÎñÆ÷ÉϵIJֿâÍêÈ«¾µÏñÒ»·ÝÖÁ±¾µØ£¬¶ø²»ÊÇȡijһ¸öÌØ¶¨°æ±¾£¬ËùÒÔÓÃclone¶ø²»ÊÇcheckout£º

git clone <url>

¶þ¡¢GITÖа汾µÄ±£´æ

¼Ç¼°æ±¾ÐÅÏ¢µÄ·½Ê½Ö÷ÒªÓÐÁ½ÖÖ£º

1.¼Ç¼Îļþÿ¸ö°æ±¾µÄ¿ìÕÕ

2.¼Ç¼Îļþÿ¸ö°æ±¾Ö®¼äµÄ²îÒì

GIT²ÉÓõÚÒ»ÖÖ·½Ê½¡£ÏñSubversionºÍPerforceµÈ°æ±¾¿ØÖÆÏµÍ³¶¼ÊǼǼÎļþÿ¸ö°æ±¾Ö®¼äµÄ²îÒ죬Õâ¾ÍÐèÒª¶Ô±ÈÎļþÁ½°æ±¾Ö®¼äµÄ¾ßÌå²îÒ죬µ«ÊÇGIT²»¹ØÐÄÎļþÁ½¸ö°æ±¾Ö®¼äµÄ¾ßÌå²î±ð£¬¶øÊǹØÐÄÎļþµÄÕûÌåÊÇ·ñÓиı䣬ÈôÎļþ±»¸Ä±ä£¬ÔÚÌí¼ÓÌύʱ¾ÍÉú³ÉÎļþа汾µÄ¿ìÕÕ£¬¶øÅжÏÎļþÕûÌåÊÇ·ñ¸Ä±äµÄ·½·¨¾ÍÊÇÓÃSHA-1Ëã·¨¼ÆËãÎļþµÄУÑéºÍ¡£

GITÄÜÕý³£¹¤×÷ÍêÈ«ÐÅÀµÓÚÕâÖÖSHA-1УÑéºÍ£¬µ±Ò»¸öÎļþµÄijһ¸ö°æ±¾±»¼Ç¼֮ºó»áÉú³ÉÕâ¸ö°æ±¾µÄÒ»¸ö¿ìÕÕ£¬µ«ÊÇÒ»ÑùÒªÄÜÒýÓõ½Õâ¸ö¿ìÕÕ£¬GITÖжԿìÕÕµÄÒýÓ㬶Ôÿ¸ö°æ±¾µÄ¼Ç¼±êʶȫÊÇͨ¹ýSHA-1УÑéºÍÀ´ÊµÏֵġ£

µ±Ò»¸öÎļþ±»¸Ä±äʱ£¬ËüµÄУÑéºÍÒ»¶¨»á±»¸Ä±ä£¨ÀíÂÛÉÏ´æÔÚÁ½¸öÎļþУÑéºÍÏàͬ£¬µ«»úÂÊСµ½¿ÉÒÔºöÂÔ²»¼Æ£©£¬GIT¾ÍÒÔ´ËÅжÏÎļþÊÇ·ñ±»Ð޸쬼°ÒÔЩ¼Ç¼²»Í¬°æ±¾¡£

ÔÚ¹¤×÷Ŀ¼µÄÎļþ¿ÉÒÔ´¦ÓÚ²»Í¬µÄ״̬£¬±ÈÈç˵ÐÂÌí¼ÓÁËÒ»¸öÎļþ£¬GIT·¢¾õÁËÕâ¸öÎļþ£¬µ«Õâ¸öÎļþÊÇ·ñÒªÄÉÈëGITµÄ°æ±¾¿ØÖÆ»¹ÊÇÒªÓÉÎÒÃÇ×Ô¼º¾ö¶¨£¬±ÈÈç±àÒëÉú³ÉµÄÖмäÎļþ£¬ÎÒÃǿ϶¨²»ÏëÄÉÈë°æ±¾¿ØÖÆ¡£ÏÂÃæ¾ÍÀ´¿´ÏÂÎļþ״̬¡£

Èý¡¢GITÎļþ²Ù×÷

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

Îļþ״̬

GIT²Ö¿âËùÔÚµÄĿ¼³ÆÎª¹¤×÷Ŀ¼£¬Õâ¸öºÜºÃÀí½â£¬ÎÒÃǵŤ³Ì¾ÍÔÚÕâÀ¹¤×÷ʱҲÊÇÔÚÕâÀï×öÐ޸ġ£

ÔÚ¹¤×÷Ŀ¼ÖеÄÎļþ±»·ÖΪÁ½ÖÖ״̬£¬Ò»ÖÖÊÇÒѸú×Ù״̬(tracked)£¬ÁíÒ»ÖÖÊÇδ¸ú×Ù״̬(untracked)¡£Ö»Óд¦ÓÚÒѸú×Ù״̬µÄÎļþ²Å±»ÄÉÈëGITµÄ°æ±¾¿ØÖÆ¡£ÈçÏÂͼ£º

µ±ÎÒÃÇÍù¹¤×÷Ŀ¼Ìí¼ÓÒ»¸öÎļþµÄʱºò£¬Õâ¸öÎļþĬÈÏÊÇδ¸ú×Ù״̬µÄ£¬ÎÒÃǿ϶¨²»Ï£Íû±àÒëÉú³ÉµÄÒ»´ó¶ÑÁÙʱÎļþĬÈϱ»¸ú×Ù»¹ÒªÎÒÃÇÿ´ÎÊÖ¶¯½«ÕâЩÎļþÇå³ý³öÈ¥¡£ÓÃÒÔÏÂÃüÁî¿ÉÒÔ¸ú×ÙÎļþ£º

git add <file>

ÉÏͼÖÐÓÒ±ß3¸ö״̬¶¼ÊÇÒѸú×Ù״̬£¬ÆäÖеĻÒÉ«¼ýÍ·Ö»±íʾuntracked<-->trackedµÄת»»¶ø²»ÊÇuntracked<-->unmodifiedµÄת»»£¬ÐÂÌí¼ÓµÄÎļþ¿Ï¶¨ËãÊDZ»Ð޸ĹýµÄ¡£ÄÇô£¬staged״̬ÓÖÊÇÊ²Ã´ÄØ£¿Õâ¾ÍÒª¸ãÇå³þGITµÄÈý¸ö¹¤×÷ÇøÓò£º±¾µØÊý¾Ý£¨²Ö¿â£©Ä¿Â¼£¬¹¤×÷Ŀ¼£¬ÔÝ´æÇø£¬ÈçÏÂͼËùʾ£º

git directory¾ÍÊÇÎÒÃǵı¾µØ²Ö¿â.gitĿ¼£¬ÀïÃæ±£´æÁËËùÓеİ汾ÐÅÏ¢µÈÄÚÈÝ¡£

working driectory£¬¹¤×÷Ŀ¼£¬¾ÍÊÇÎÒÃǵŤ×÷Ŀ¼£¬ÆäÖаüÀ¨Î´¸ú×ÙÎļþ¼°ÒѸú×ÙÎļþ£¬¶øÒѸú×ÙÎļþ¶¼ÊÇ´Ógit directoryÈ¡³öÀ´µÄÎļþµÄijһ¸ö°æ±¾»òиú×ÙµÄÎļþ¡£

staging area£¬ÔÝ´æÇø£¬²»¶ÔÓ¦Ò»¸ö¾ßÌåĿ¼£¬ÆäʱֻÊÇgit directoryÖеÄÒ»¸öÌØÊâÎļþ¡£

µ±ÎÒÃÇÐÞ¸ÄÁËһЩÎļþºó£¬Òª½«Æä·ÅÈëÔÝ´æÇøÈ»ºó²ÅÄÜÌá½»£¬Ã¿´ÎÌύʱÆäʵ¶¼ÊÇÌá½»ÔÝ´æÇøµÄÎļþµ½git²Ö¿â£¬È»ºóÇå³ýÔÝ´æÇø¡£¶øcheckoutijһ°æ±¾Ê±£¬ÕâÒ»°æ±¾µÄÎļþ¾Í´Ógit²Ö¿âÈ¡³öÀ´·Åµ½ÁËÎÒÃǵŤ×÷Ŀ¼¡£

Îļþ״̬µÄ²é¿´

ÄÇô£¬ÎÒÃÇÔõô֪µÀµ±Ç°¹¤×÷Ŀ¼µÄ×´Ì¬ÄØ£¿ÄÄЩÎļþÒѱ»Ôݴ棿ÓÐÄÄЩδ¸ú×ÙµÄÎļþ£¿ÄÄЩÎļþ±»ÐÞ¸ÄÁË£¿ËùÓÐÕâЩֻÐèÒªÒ»¸öÃüÁgit status£¬ÈçÏÂͼËùʾ:

GITÔÚÕâÒ»µã×öµÃºÜºÃ£¬ÔÚÊä³öÿ¸öÎļþ״̬µÄͬʱ»¹ËµÃ÷ÁËÔõô²Ù×÷£¬ÏñÉÏͼ¾ÍÓÐÔõôÔÝ´æ¡¢Ôõô¸ú×ÙÎļþ¡¢ÔõôȡÏûÔÝ´æµÄ˵Ã÷¡£

ÎļþÔÝ´æ

ÔÚÉÏͼÖÐÎÒÃÇ¿ÉÒÔºÜÇå³þµØ¿´µ½£¬fileaδ¸ú×Ù£¬filebÒѱ»Ôݴ棨changes to be committed£©£¬µ«ÊÇÔõô»¹ÓÐÒ»¸öfilebÊÇmodifiedµ«unstagedÄØ£¿ÕâÊÇÒòΪµ±ÎÒÃÇÔÝ´æÒ»´Ó´ËÎļþʱ£¬ÔÝ´æµÄÊÇÄÇÒ»Îļþµ±Ê±µÄ°æ±¾£¬µ±ÔÝ´æºóÔÙ´ÎÐÞ¸ÄÁËÕâ¸öÎļþºó¾Í»áÌáʾÕâ¸öÎļþÔÝ´æºóµÄÐÞ¸ÄÊÇδ±»ÔÝ´æµÄ¡£

½ÓÏÂÀ´ÎÒÃǾͿ´ÔõôÔÝ´æÎļþ£¬ÆäʵҲºÜ¼òµ¥£¬´ÓÉÏͼÖпÉÒÔ¿´µ½GITÒѾ­ÌáʾÎÒÃÇÁË£ºuse "git add <file>..." to update what will be committed£¬Í¨¹ý

git add <file>...

¾Í¿ÉÒÔÔÝ´æÎļþ£¬¸ú×ÙÎļþͬÑùÊÇÕâÒ»¸öÃüÁî¡£ÔÚÕâ¸öÃüÁîÖпÉÒÔʹÓÃglobģʽƥÅ䣬±ÈÈç"file[ab]"£¬Ò²¿ÉÒÔʹÓÃ"git add ."Ìí¼Óµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ¡£

È¡ÏûÔÝ´æÎļþÊÇ

git reset HEAD <file>...

ÈôÐÞ¸ÄÁËÒ»¸öÎļþÏ뻹ԭÐ޸ĿÉÓÃ

git checkout -- <file>...

²é¿´ÎļþÐ޸ĺóµÄ²îÒì

µ±ÎÒÃÇÐ޸ĹýһЩÎļþÖ®ºó£¬ÎÒÃÇ¿ÉÄÜÏë²é¿´ÎÒÃǶ¼ÐÞ¸ÄÁËʲô¶«Î÷£¬ÓÃ"git status"Ö»Äܲ鿴¶ÔÄÄЩÎļþ×öÁ˸͝£¬Èç¹ûÒª¿´¸Ä¶¯ÁËʲô£¬¿ÉÒÔÓãº

git diff

±ÈÈçÏÂͼ£º

---a±íʾÐÞ¸Ä֮ǰµÄÎļþ£¬+++b±íʾÐ޸ĺóµÄÎļþ£¬ÉÏͼ±íʾÔÚfilebµÄµÚÒ»ÐкóÌí¼ÓÁËÒ»ÐÐ"bb"£¬Ô­À´ÎļþµÄµÚÒ»ÐÐÀ©Õ¹ÎªÁËÐ޸ĺóµÄ1¡¢2ÐС£

µ«ÊÇ£¬Ç°ÃæÎÒÃÇÃ÷Ã÷ÓÃ"git status"¿´µ½filesb×öÁËһЩÐ޸ĺóÔÝ´æÁË£¬È»ºóÓÖÐÞ¸ÄÁËfileb£¬ÀíÓ¦ÓÐÁ½´ÎÐ޸ĵģ¬ÔõôֻÓÐÒ»¸ö£¿

ÒòΪ"git diff"ÏÔʾµÄÊÇÎļþÐ޸ĺó»¹Ã»ÓÐÔÝ´æÆðÀ´µÄÄÚÈÝ£¬ÄÇÈç¹ûÒª±È½ÏÔÝ´æÇøµÄÎļþÓë֮ǰÒѾ­Ìá½»¹ýµÄÎļþÄØ£¬±Ï¾¹Êµ¼ÊÌá½»µÄÊÇÔÝ´æÇøµÄÄÚÈÝ£¬¿ÉÒÔÓÃÒÔÏÂÃüÁ

/dev/null±íʾ֮ǰûÓÐÌá½»¹ýÕâÒ»¸öÎļþ£¬ÕâÊǽ«ÊǵÚÒ»´ÎÌá½»£¬Óãº

git diff --staged

ÊǵÈЧµÄ£¬µ«GITµÄ°æ±¾Òª´óÓÚ1.6.1¡£

ÔÙ´ÎÖ´ÐÐ"git add"½«¸²¸ÇÔÝ´æÇøµÄÄÚÈÝ¡£

ºöÂÔһЩÎļþ

Èç¹ûÓÐһЩ²¿¼þÎÒÃDz»ÏëÄÉÈë°æ±¾¿ØÖÆ£¬Ò²²»ÏëÔÚÿ´Î"git status"ʱ¿´µ½ÕâЩÎļþµÄÌáʾ£¬»òÕߺܶàʱºòÎÒÃÇΪÁË·½±ã»áʹÓÃ"git add ."Ìí¼ÓËùÓÐÐ޸ĵÄÎļþ£¬Õâʱ¾Í»áÌí¼ÓÉÏһЩÎÒÃDz»ÏëÌí¼ÓµÄÎļþ£¬ÔõôºöÂÔÕâЩÎļþÄØ£¿

GITµ±È»ÌṩÁË·½·¨£¬Ö»ÐèÔÚÖ÷Ŀ¼Ï½¨Á¢".gitignore"Îļþ£¬´ËÎļþÓÐÈçϹæÔò£º

ËùÓÐÒÔ#¿ªÍ·µÄÐлᱻºöÂÔ

¿ÉÒÔʹÓÃglobģʽƥÅä

Æ¥Åäģʽºó¸ú·´Ð±¸Ü£¨/£©±íʾҪºöÂÔµÄÊÇĿ¼

Èç¹û²»ÒªºöÂÔijģʽµÄÎļþÔÚģʽǰ¼Ó"!"

±ÈÈ磺

# ´ËΪעÊÍ ¨C ½«±» Git ºöÂÔ

*.a # ºöÂÔËùÓÐ .a ½áβµÄÎļþ

!lib.a # µ« lib.a ³ýÍâ

/TODO # ½ö½öºöÂÔÏîÄ¿¸ùĿ¼Ï嵀 TODO Îļþ,²»°üÀ¨ subdir/TODO

build/ # ºöÂÔ build/ Ŀ¼ÏµÄËùÓÐÎļþ

doc/*.txt # »áºöÂÔ doc/notes.txt µ«²»°üÀ¨ doc/server/arch.txt

ÒÆ³ýÎļþ

µ±ÎÒÃÇҪɾ³ýÒ»¸öÎļþʱ£¬ÎÒÃÇ¿ÉÄܾÍÖ±½ÓÓÃGUIɾ³ý»òÕßÖ±½Órm [file]ÁË£¬µ«ÊÇ¿´Í¼£º

ÎÒÃÇÐèÒª½«ÎļþÌí¼Óµ½ÔÝ´æÇø²ÅÄÜÌá½»£¬¶øÒƳýÎļþºóÊÇÎÞ·¨Ìí¼Óµ½ÔÝ´æÇøµÄ£¬ÄÇôÔõÃ´ÒÆ³ýÒ»¸öÎļþÈÃGIT²»ÔÙ½«ÆäÄÉÈë°æ±¾¿ØÖÆÄØ£¿ÉÏͼÖÐGITÒѾ­¸ø³öÁË˵Ã÷£º

git rm <file>...

Ö´ÐÐÒÔÉÏÃüÁîºóÌá½»¾Í¿ÉÒÔÁË£¬ÓÐʱÎÒÃÇÖ»ÊÇÏ뽫һЩÎļþ´Ó°æ±¾¿ØÖÆÖÐÌÞ³ý³öÈ¥£¬µ«ÈÔ±£ÁôÕâЩÎļþÔÚ¹¤×÷Ŀ¼ÖУ¬±ÈÈçÎÒÃÇÒ»²»Ð¡ÐĽ«±àÒëÉú³ÉµÄÖмäÎļþÄÉÈëÁ˰汾¿ØÖÆ£¬Ï뽫Æä´Ó°æ±¾¿ØÖÆÖÐÌÞ³ý³öÈ¥µ«ÔÚ¹¤×÷Ŀ¼Öб£ÁôÕâЩÎļþ£¨²»È»ÔٴαàÒë¿ÉÒª»¨·Ñ¸ü¶àʱ¼äÁË£©£¬ÕâʱֻÐèÒªÌí¼Ó"--cached"²ÎÊý¡£

Èç¹ûÎÒÃÇ֮ǰ²»ÊÇͨ¹ý"git rm"ɾ³ýÁ˺ܶàÎļþÄØ£¿±ÈÈç˵ͨ¹ýpatch»òÕßͨ¹ýGUI£¬Èç¹ûÕâЩÎļþÃüÃûûÓйæÔò£¬Ò»¸öÒ»¸öµØÖ´ÐÐ"git rm"»á¸ãËÀÈ˵ģ¬Õâʱ¿ÉÒÔÓÃÒÔÏÂÃüÁ

ÒÆ¶¯Îļþ

ºÍÒÆ³ýÎļþÒ»Ñù£¬Òƶ¯Îļþ²»¿ÉÒÔͨ¹ýGUIÖ±½ÓÖØÃüÁî»òÓÃ"mv"ÃüÁ¶øÊÇÒªÓÃ"git mv"£¬²»È»Í¬ÒƳýÎļþÒ»ÑùÄã»áµÃµ½ÈçϽá¹û£º

Èç¹ûÒªÖØÃüÃûÎļþ¿ÉÒÔʹÓÃ

git mv old_name new_name

Õâ¸öÃüÁîµÈЧÓÚ

mv old_name new_name

git rm old_name

git add new_name

½»»¥Ê½ÔÝ´æ

ʹÓÃgit add -i¿ÉÒÔ¿ªÆô½»»¥Ê½Ôݴ棬ÈçͼËùʾ£¬ÏµÍ³»áÁгöÒ»¸ö¹¦Äܲ˵¥ÈÃÑ¡Ôñ½«ÒªÖ´ÐеIJÙ×÷¡£

ÒÆ³ýËùÓÐδ¸ú×ÙÎļþ

git clean [options] Ò»°ã»á¼ÓÉϲÎÊý-df£¬-d±íʾ°üº¬Ä¿Â¼£¬-f±íÊ¾Ç¿ÖÆÇå³ý¡£

´¢²Ø-Stashing

¿ÉÄÜ»áÓöµ½ÕâÑùµÄÇé¿ö£¬ÄãÕýÔÚÒ»¸ö·ÖÖ§ÉϽøÐÐÒ»¸öÌØÐԵĿª·¢£¬»òÕßÒ»¸öBugµÄÐÞÕý£¬µ«ÊÇÕâʱͻȻÓÐÆäËûµÄÊÂÇé¼±Ðè´¦Àí£¬Õâʱ¸ÃÔõô°ì£¿²»¿ÉÄܾÍÔÚÕâ¸ö¹¤×÷½øÐе½Ò»°ëµÄ·ÖÖ§ÉÏÒ»Æð´¦Àí£¬ÏȰÑÐ޸ĵÄCopy³öÈ¥£¿Ì«Âé·³ÁË¡£ÕâÖÖÇé¿öϾÍÒªÓõ½StashingÁË¡£¼ÙÈçÎÒÃÇÏÖÔڵŤ×÷Ŀ¼ÊÇÕâÑù×ÓµÄ

$ git status
# On branch master
# Changes to be committed:
#
(use "git reset HEAD <file>..." to unstage)
#
#
modified:
index.html
#
# Changed but not updated:
#
(use "git add <file>..." to update what will be committed)
#
#
modified:
lib/simplegit.rb

´ËʱÈç¹ûÏëÇл»·ÖÖ§¾Í¿ÉÒÔÖ´ÐÐÒÔÏÂÃüÁî

$ git stash
Saved working directory and index state \
"WIP on master: 049d078 added the index file"
HEAD is now at 049d078 added the index file
(To restore them type "git stash apply")

ÕâʱÄã»á·¢ÏÖÄãµÄ¹¤×÷Ŀ¼±äµÃºÜ¸É¾»ÁË£¬¾Í¿ÉÒÔËæÒâÇзÖÖ§½øÐÐÆäËûÊÂÇéµÄ´¦ÀíÁË¡£

ÎÒÃÇ¿ÉÄܲ»Ö»Ò»´Î½øÐÐ"git stash"£¬Í¨¹ýÒÔÏÂÃüÁî¿ÉÒԲ鿴ËùÓÐstashÁбí

$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051... Revert "added file_size"

µ±½ô¼±ÊÂÇé´¦ÀíÍêÁË£¬ÐèÒªÖØÐ»ØÀ´ÕâÀï½øÐÐÔ­À´µÄ¹¤×÷ʱ£¬Ö»Ðè°ÑStashÇøÓòµÄÄÚÈÝÈ¡³öÀ´Ó¦Óõ½µ±Ç°¹¤×÷Ŀ¼¾ÍÐУ¬ÃüÁî¾ÍÊÇ

git stash apply

Èç¹û²»»ù²ÎÊý¾ÍÓ¦ÓÃ×îеÄstash£¬»òÕß¿ÉÒÔÖ¸¶¨stashµÄÃû×Ö£¬È磺stash@{1}£¬¿ÉÄÜͨ¹ý

git stash show

ÏÔʾstashµÄÄÚÈݾßÌåÊÇʲô£¬Í¬git stash applyÒ»Ñù£¬¿ÉÒÔÑ¡ÔñÖ¸¶¨stashµÄÃû×Ö¡£

¡¡¡¡git stash applyÖ®ºóÔÙgit stash list»á·¢ÏÖ£¬applyºóµÄstash»¹ÔÚstashÁбíÖУ¬Èç¹ûÒª½«Æä´ÓstashÁбíÖÐɾ³ý¿ÉÒÔÓÃ

git stash drop

¡¡¶ªÆúÕâ¸östash£¬stashµÄÃüÁî²ÎÊý¶¼¿ÉÑ¡ÔñÖ¸¶¨stashÃû×Ö£¬·ñÔò¾ÍÊÇ×îеÄstash¡£

¡¡¡¡Ò»°ãÇé¿öÏÂapply stashºóÓ¦¸Ã¾Í¿ÉÒÔ°ÑËü´ÓstashÁбíɾ³ýÁË£¬ÏÈapplyÔÙdrop»¹ÊDZȽϷ±ËöµÄ£¬Ê¹ÓÃÒÔÏÂÒ»ÌõÃüÁî¾Í¿ÉÒÔͬʱÍê³ÉÕâÁ½¸ö²Ù×÷

git stash pop

Èç¹ûÎÒÃÇÖ´ÐÐgit stashʱ¹¤×÷Ŀ¼µÄ״̬ÊDz¿·ÖÎļþÒѾ­¼ÓÈëÁËÔÝ´æÇø£¬²¿·ÖÎļþûÓУ¬µ±ÎÒÃÇÖ´ÐÐgit stash applyÖ®ºó»á·¢ÏÖËùÓÐÎļþ¶¼±ä³ÉÁËδÔÝ´æµÄ£¬Èç¹ûÏëά³ÖÔ­À´µÄÑù×Ó²Ù³ÖÔ­À´ÔÝ´æµÄÎļþÈÔÈ»ÊÇÔÝ´æ×´Ì¬£¬¿ÉÒÔ¼ÓÉÏ--index²ÎÊý

git stash apply --index

»¹ÓÐÕâôһÖÖÇé¿ö£¬ÎÒÃǰÑÔ­À´µÄÐÞ¸ÄstashÁË£¬È»ºóÐÞ¸´ÁËÆäËûһЩ¶«Î÷²¢½øÐÐÁËÌá½»£¬µ«ÊÇ£¬ÕâЩÌá½»µÄÎļþÓÐЩÔÚ֮ǰÒѾ­±»stashÁË£¬ÄÇôgit stash applyʱ¾ÍºÜ¿ÉÄÜ»áÓöµ½³åÍ»£¬ÕâÖÖÇé¿öϾͿÉÒÔÔÚstashʱËùÒÔÌá½»µÄ»ù´¡ÉÏн¨Ò»¸ö·ÖÖ§£¬È»ºóÔÙapply stash£¬µ±È»£¬ÕâÁ½¸ö²½ÖèÓÐÒ»È˼òµ¥µÄÍê³É·½·¨

git stash branch <branch name>
   
3320 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

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

Èí¼þÅäÖùÜÀíµÄÎÊÌ⡢ĿµÄ
Èí¼þÅäÖùÜÀí¹æ·¶
CQWeb 7.1ÐÔÄܲâÊÔÓëµ÷ÓÅÖ¸ÄÏ
ΪʲôÐèҪʹÓÃClearCase
ClearCaseÓëRTCµÄ¼¯³É
ÀûÓÃClearQuest ½øÐвâÊÔ¹ÜÀí

²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±

ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
ͨºÅÔº ÅäÖùÜÀí¹æ·¶ÓëÓ¦ÓÃ
ÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¤·ð˹ ClearCaseÓëÅäÖùÜÀí
ÖйúÒÆ¶¯ Èí¼þÅäÖùÜÀí
ÖйúÒøÐÐ Èí¼þÅäÖùÜÀí
Ìì½ò»ªÒíÀ¶Ìì¿Æ¼¼ ÅäÖùÜÀíÓëPvcs