尊龙凯时人生就是搏

°ïÄãɾ³ý Git ÖеÄÀúÊ·¼Í¼

¹ØÓÚʹÓà git ¾ÙÐÐÏîÄ¿ÖÎÀíµÄ¿ª·¢ÕßÀ´Ëµ£¬¾­³£»áÓöµ½ÐèҪɾ³ýÀúÊ·¼Í¼µÄÇéÐÎ ¡£ºÃ±ÈÌá½»ÁËÃô¸ÐÐÅÏ¢»òÕßÖ´·¨ÒªÇóɾ³ýijЩÄÚÈÝ ¡£¿ÉÊÇ£¬git µÄÉè¼Æ³õÖ¾ÊDZ£´æËùÓÐÐ޸ļͼ£¬Òò´Ëɾ³ýÀúÊ·¼Í¼²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé ¡£±¾ÎĽ«ÏÈÈÝһЩҪÁ죬×ÊÖúÄãɾ³ý git ÖеÄÀúÊ·¼Í¼ ¡£

ʹÓà Git ÏÂÁî

¿ÉÒÔʹÓà Git ÏÂÁîÖÐµÄ git reset ºÍ git push ɾ³ýÀúÊ·¼Í¼ ¡£Ê×ÏÈʹÓà git log ÏÂÁîÉó²éÀúÊ·¼Í¼ ¡£

$ git log --oneline

µÇ¼ºó¸´ÖÆ

Õâ»áÁгöÄ¿½ñ·ÖÖ§ÉϵÄËùÓÐÌá½»¼Í¼£¬Ã¿¸ö¼Í¼¶¼ÓÐÒ»¸ö SHA-1 ±êʶ·û£¨µÚÒ»ÁУ©ºÍÒ»¸öÐÂÎÅ£¨ºóÃæµÄÁУ© ¡£

È»ºó£¬Ê¹Óà git reset ÏÂÁĿ½ñ·ÖÖ§ÖØÖõ½ÒªÉ¾³ýµÄÌύ֮ǰ ¡£ÀýÈ磬ÈôÊÇҪɾ³ý×î½üµÄÈý¸öÌá½»¼Í¼£¬Ôò¿ÉÒÔʹÓãº

$ git reset HEAD~3

µÇ¼ºó¸´ÖÆ

ÕâÑù¾Í½«Ä¿½ñ·ÖÖ§ÖØÖõ½ÁËÇ°Èý¸öÌá½»¼Í¼֮´¦£¬ÀúÊ·¼Í¼ÖеÄ×îºóÈý¸öÌá½»»á±»É¾³ý ¡£

×îºó£¬Ê¹Óà git push -f ÏÂÁîÇ¿ÖÆÍÆË͵½Ô¶³Ì¿ÍÕ»£¬ÁýÕÖÀúÊ·¼Í¼ ¡£Õâ»áʹÆäËûÈËÔÚÀ­È¡¸üÐÂʱÓöµ½ÎÊÌ⣬Òò´ËÐèҪȷ±£ËùÓÐÓÐȨÏÞµÄÈËÖªµÀ´Ë²Ù×÷ ¡£

$ git push -f

µÇ¼ºó¸´ÖÆ

ʹÓôËÒªÁìɾ³ýÀúÊ·¼Í¼ʱ£¬ÎÒÃǽ¨ÒéÔÚÖ´ÐÐ֮ǰ±¸·Ý´úÂë¿â£¬ÒÔ·ÀÍòÒ» ¡£

ʹÓà BFG Repo-Cleaner

ÁíÒ»¸öÇ¿Ê¢µÄ¹¤¾ßÊÇ BFG Repo-Cleaner ¡£ËüÊÇÒ»¸ö Java ³ÌÐò£¬¿ÉÒÔÔÚÍâµØÔËÐУ¬É¾³ý Git ¿ÍÕ»ÖеÄÀúÊ·¼Í¼ ¡£

Ê×ÏÈ£¬×°Öà BFG Repo-Cleaner ¡£¿ÉÒÔʹÓà Homebrew ÔÚ Mac ÉÏ×°Öãº

$ brew install bfg

µÇ¼ºó¸´ÖÆ

»òÕß´Ó¹ÙÍøÏÂÔز¢×°Öõ½ÅÌËã»úÉÏ£º

$ wget http://search.maven.org/remotecontent?filepath=com/madgag/bfg/1.14.0/bfg-1.14.0.jar

µÇ¼ºó¸´ÖÆ

È»ºó£¬ÔÚ Git ¿ÍÕ»µÄ¸ùĿ¼ÏÂÔËÐÐÒÔÏÂÏÂÁÇëÈ·±£ÔÚɾ³ýÇ°±¸·Ý´úÂë¿â£©£º

$ java -jar /path/to/bfg.jar --delete-files filename.txt.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
$ git push

µÇ¼ºó¸´ÖÆ

ÆäÖУ¬filename.txt.git ÊÇ°üÀ¨ÒªÉ¾³ýÄÚÈݵÄÎļþÃû£¨ÀýÈç .git-credentials£© ¡£ÕâÀïʹÓà BFG Repo-Cleaner ɾ³ýÌá½»ÀúÊ·¡¢refs ºÍ tags£¬È»ºóÖØÐÂѹËõ´æ´¢¿â ¡£

ÐèҪעÖصÄÊÇ£¬BFG Repo-Cleaner ¿ÉÒÔɾ³ý¿ÍÕ»ÖеÄÈκÎÄÚÈÝ£¬Òò´ËÐèҪСÐIJÙ×÷ ¡£

½¨ÉèÒ»¸öÐ嵀 Git ¿ÍÕ»

×îºóÒ»ÖÖÒªÁìÊǽ¨ÉèÒ»¸öÐ嵀 Git ¿ÍÕ»£¬Ö»°üÀ¨Òª±£´æµÄÌá½»¼Í¼ ¡£ÕâÖÖÒªÁìÐèҪһЩÊÖ¶¯²Ù×÷£¬µ«¿ÉÒÔ±£´æ¿ÍÕ»µÄÍêÕûÐÔ£¬²¢ÇÒ²»»áÓ°ÏìÆäËûÈËÔÚ¿ÍÕ»ÉϵÄÊÂÇé ¡£

Ê×ÏÈ£¬ÔÚԭʼ Git ¿ÍÕ»µÄ¸ùĿ¼Ï½¨ÉèÒ»¸öÐÂĿ¼£¬ÓÃÓÚÉúÑÄÐ嵀 Git ¿ÍÕ»£º

$ mkdir newrepo && cd newrepo

µÇ¼ºó¸´ÖÆ

È»ºó£¬½«Ô­Ê¼ Git ¿ÍÕ»µÄÑ¡ÔñÐÔÌá½»¼Í¼¸´ÖƵ½ÐÂĿ¼ÖУº

$ git clone /path/to/oldrepo --depth 1
$ cd oldrepo && git log --oneline

µÇ¼ºó¸´ÖÆ

ÕâÑù¾Í¿ÉÒÔ½«Ô­Ê¼ Git ¿ÍÕ»µÄ×îºóÒ»¸öÌá½»¼Í¼¸´ÖƵ½Ð嵀 Git ¿ÍÕ»ÖÐ ¡£¸üÐÂпÍÕ»µÄÔ¶³Ì URL£¬È»ºó½«ÆäÍÆË͵½Ô¶³Ì¿ÍÕ» ¡£

$ git remote set-url origin git://new/repo.git
$ git push -u origin master

µÇ¼ºó¸´ÖÆ

ÕâÑù¾Í½¨ÉèÁËÒ»¸öÐ嵀 Git ¿ÍÕ»£¬Ö»°üÀ¨Ñ¡ÔñÐÔÌá½»µÄ¼Í¼ ¡£

×ܽá

ÔÚ Git ÖУ¬É¾³ýÀúÊ·¼Í¼ÊÇÒ»¸öÃô¸ÐµÄÎÊÌ⣬ÐèҪСÐÄÉóÉ÷²Ù×÷ ¡£Ê¹Óà git reset ÏÂÁî¿ÉÒÔɾ³ý×î½üµÄһЩÌá½»¼Í¼ ¡£Ê¹Óà BFG Repo-Cleaner ¿ÉÒÔɾ³ýÌض¨µÄÎļþ»òÎļþ¼ÐµÄÌá½»ÀúÊ· ¡£×îºó£¬¿ÉÒÔͨ¹ý½¨ÉèÒ»¸öÐ嵀 Git ¿ÍÕ»À´Ñ¡ÔñÐԵر£´æÌá½»¼Í¼ ¡£²»¹ÜÄÄÖÖÒªÁ죬¶¼ÐèÒªÔÚɾ³ý֮ǰ±¸·Ý´úÂë¿â£¬ÒÔ·ÀÍòÒ» ¡£

ÒÔÉϾÍÊÇ°ïÄãɾ³ý Git ÖеÄÀúÊ·¼Í¼µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í尊龙凯时人生就是搏ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ尊龙凯时人生就是搏ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是搏

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
sitemap¡¢ÍøÕ¾µØͼ