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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
GitÓÉdzÈëÉîÖ®´æ´¢Ô­Àí
 
À´Ô´£ºÍøÂç ·¢²¼ÓÚ 2017-4-26
  2045  次浏览      30
 

Git´æ´¢Ä¿Â¼½á¹¹

ÔÚ³õʼ»¯ÏîÄ¿²Ö¿âʱ£¨git clone »ògit init£©£¬Git»áÔÚ¸ùĿ¼Ï´´½¨Ò»¸ö.gitĿ¼£¬ÆäÏ´æ·Å×ÅGit²Ù×÷ºÍ´æ´¢Ïà¹ØµÄÄÚÈÝ£¬¸ÃĿ¼½á¹¹´óÖÂÈçÏ£º

ÈçͼÖÐËùÊö£º

HEADÎļþÖ¸Ïòµ±Ç°·ÖÖ§£»

indexÎļþ´æ´¢×ÅÔÝ´æÇøµÄÄÚÈÝÐÅÏ¢£»

refsĿ¼´æ´¢×ÅËùÓзÖÖ§Ö¸Ïò¸÷×ÔÌá½»¶ÔÏóµÄÖ¸Õ룻

objectsĿ¼´æ´¢×ÅGitÊý¾Ý¿âµÄËùÓÐÄÚÈÝ£»

configÎļþ°üº¬ÏîÄ¿µÄÅäÖÃÐÅÏ¢£»

infoĿ¼ÏµÄexcludeÎļþ°üº¬ÏîĿȫ¾ÖºöÂÔÆ¥Åäģʽ£¬Óë.gitignoreÎļþ»¥²¹£»

hooksĿ¼Ôò´æ·ÅÏîÄ¿µÄ¿Í»§¶Ë»ò·þÎñ¶Ë¹³×ӽű¾¡£

×¢£ºÆäÖеÄORIG_HEAD¼Ç¼µÄÊÇÔÚ½øÐм«¶Ë£¨drastic£©²Ù×÷£¨ÈçºÏ²¢merge£¬»ØÍËresetµÈ£©Ê±£¬´Ë²Ù×÷֮ǰHEADËùÖ¸ÏòµÄλÖ㬱ãÓÚÎÒÃÇÔÚ·¢Éú»ÙÃðÐÔʧÎóʱ½øÐлØÍË£¬ÈçʹÓÃ

git reset --hard ORIG_HEADÖ¸Áî¿ÉÒÔ»ØÍ˵½Î£ÏÕ²Ù×÷֮ǰµÄ״̬£¬µ«ÊǶÔÓÚÕý³£µÄÌá½»²Ù×÷£¬¸ÃÖ¸ÕëÊDz»»á±ä»¯µÄ¡£ÔÚ1.8.5°æ±¾ÒÔºó£¬GitʹÓÃÁËÁ´±í¼Ç¼HEADµÄËùÓÐÒÆ¶¯¹ì¼££¬

¿ÉÒÔʹÓÃgit reflog²é¿´£¬Ê¹ÓÃgit reset HEAD@{num}·½Ê½¿ÉÒÔ»ØÍ˵½Ö¸¶¨°æ±¾£¬ÕâÒ²ÊÇÖ®ºó½éÉÜGitÊý¾Ý»Ö¸´½«Òª½éÉܵÄÒ»¸öÖ¸Áî£¬ÍÆ¼öʹÓÃÕâÖÖ·½Ê½Ìæ´úORIG_HEAD·½Ê½¡£

¸ü¶àÐÅÏ¢¿É²Î¿¼´Ë´¦

Git´æ´¢

GitÊÇÒ»¸öÄÚÈÝѰַÎļþϵͳ(content-addressed filesystem)£¬Æä´æ´¢ÄÚÈݶ¼ÊÇͨ¹ýÄÚÈݵØÖ·Î¬»¤£¬¿ÉÒÔ°ÑËüÀí½â³ÉÒ»¸ö¼üÖµ¶Ô´æ´¢·½Ê½£º¼´¸ø¶¨Ò»¸ö´æ´¢Îļþ£¬¸Ãϵͳ¸ù¾ÝÎļþÐÅÏ¢ºÍÄÚÈÝ£¬Ê¹ÓÃSHA-1Ëã·¨¼ÆË㣬·µ»ØÒ»¸öÓÉ40¸öÊ®Áù½øÖÆ×Ö·û×é³ÉµÄ×Ö·û´®£¬Ö®ºóÖ»ÐèҪͨ¹ý¸Ã×Ö·û´®¼´¿É·ÃÎʸÃÎļþ£¬Õâ¸ö×Ö·û´®¾ÍÊÇGitÖÐͨ³£Ëù˵µÄУÑéºÍ¡£

ÄÚÈÝѰַ

ÔÚÁ˽âGitÄÚ²¿´æ´¢Ô­Àí֮ǰÎÒÃÇÏÈÁ˽âÏÂÄÚÈÝѰַ£º

When being contrasted with content-addressed storage, a typical local or networked
storage device is referred to as location-addressed. In a location-addressed storage device,
each element of data is stored onto the physical medium, and its location recorded for later use.
The storage device often keeps a list, or directory, of these locations.
When a future request is made for a particular item, the request includes only the
location (for example, path and file names) of the data. The storage device can then use this
information to locate the data on the physical medium, and retrieve it. When new information is
written into a location-addressed device, it is simply stored in some available free space,
without regard to its content.
In contrast, when information is stored into a CAS system, the system will record a content address,
which is an identifier uniquely and permanently linked to the information content itself.
A request to retrieve information from a CAS system must provide the content identifier,
from which the system can determine the physical location of the data and retrieve it.
Because the identifiers are based on content, any change to a data element will necessarily
change its content address.

̸µ½ÄÚÈÝѰַ£¬ÓбØÒªÁ˽âһϵľÍÊDZ¾µØÑ°Ö·£¬»òÕß½ÐÎïÀíѰַ¡£¶ÔÓÚÎïÀíѰַϵͳ£¬ÆäËùÓÐÊý¾Ý´æ´¢ÔÚÎïÀíý½éµÄ¿ÉÓÿռ䣬ÓëÆäÄÚÈÝÎ޹أ¬ÏµÍ³¼Ç¼ÆäÎïÀíµØÖ·£¨physical location£©¹©ËæºóʹÓã¬ÕâЩÎïÀíµØÖ·Í¨³£Í¨¹ýʹÓÃÒ»¸öÁбí»òÕßĿ¼À´Î¬»¤£¬µ±ÔÙ´ÎÇëÇóÌØ¶¨Êý¾Ýʱ£¬ÐèҪʹÓÃÆäÎïÀíµØÖ·£¬Èç·¾¶ºÍÎļþÃû¡£

¶ø¶ÔÓÚÒ»¸öÄÚÈÝѰַϵͳ£¬ÏµÍ³¼Ç¼µÄÊÇÒ»¸öÄÚÈݵØÖ·£¨content-address£©£¬¸ÃÄÚÈݵØÖ·ÊǶÔÓ¦Êý¾ÝµÄÒ»¸öΨһÇҳ־õÄʶ±ð·û£¬ËüÊÇͨ¹ý¼ÓÃܹþÏ£Ëã·¨£¨È磬SHA-1»òMD5£©¼ÆËã³öÀ´µÄÒ»´®Öµ£¬µ±ÎÒÃÇÐèÒªÊý¾Ýʱ£¬Ìṩ¸ÃÄÚÈݵØÖ·£¬ÏµÍ³¼´¿Éͨ¹ý¸ÃµØÖ·»ñÈ¡Êý¾ÝµÄÎïÀíµØÖ·£¬·µ»ØÊý¾Ý£»Í¬Ê±£¬¶ÔÓÚÊý¾ÝµÄÈκαä¸ü¶¼½«µ¼ÖÂÄÚÈݵØÖ··¢Éú±ä»¯¡£

GitÖÐËùÓеÄÕâЩÄÚÈݵØÖ·¶¼´æ´¢ÔÚ¸ùĿ¼ÏµÄ.git/objects/Îļþ¼ÐÏ£¬ËûÃǰ´ÕÕÊ÷Ðνṹ·ÖÀà´æ·Å£¬Ã¿¸öÄÚÈݵØÖ·µÄǰÁ½Î»×÷Ϊ֦¸É·Ö±ð½¨Á¢×ÓĿ¼£¬¸ÃĿ¼Ï´æÔÚËùÓÐͬÀàÐÍ(¿ªÍ·Ïàͬ)µÄÄÚÈݵØÖ·¡£

Git¶ÔÏó

ÏÂÃæÐèÒª½éÉÜGit´æ´¢Ïà¹ØµÄ¼¸¸ö¶ÔÏó¸ÅÄÌá½»¶ÔÏó£¬tree¶ÔÏó£¬blob¶ÔÏó¡£

GIT CAT-FILE

GitÌṩcat-fileÖ¸ÁîÖ§³Ö½«Ð£ÑéºÍ½âÃÜ¿ª£¬ÈçÏÂУÑéºÍÊÇ¡±hello¡±¾­¹ýSHA-1Ëã·¨¼ÓÃܺóµÃµ½µÄ£¬»¹Ô­ºó£º

Ìá½»¶ÔÏó

ÈçÏ£¬ÎÒÃdzõʼ»¯Ò»¸ö±¾µØ²Ö¿â£¬²¢½øÈëGit´æ´¢Ä¿Â¼.git/objects£¬ÕâÀï³ýÁËĬÈÏ´´½¨µÄpackºÍinfo×ÓĿ¼£¬²¢Ã»ÓÐÈκδ洢Îļþ»òĿ¼£¬ÒòΪµ±Ç°²Ö¿âÊǿյģº

ÎÒÃÇÔÚ²Ö¿âÄÚн¨Ò»¸öÎļþ£¬²¢ÔÚÎļþÖÐÊäÈ롱hello¡±ÄÚÈÝ£º

ÎÒÃÇ¿´µ½´Ë´ÎÌá½»µÄcommitIdÊÇdebaa7e47534af51ef3c10117200e65dd4c658ef£¬ÎÒÃǸù¾ÝУÑéºÍµÄǰÁ½Î»£¬¼´deÔÚ.git/objects/ÏÂѰÕÒdeĿ¼£¬½øÈë¸ÃĿ¼£º

¸ÃÖµ¾ÍÊÇ֮ǰµÄÌá½»commitIdÖµ£¬¸ÃÖµÒ²ÊÇ´Ë´ÎÌá½»¶ÔÏóµÄУÑéºÍ£¬½âÃÜÈçÏ£º

ÔÚÉÏͼÖУ¬ÎÒÃDz¢Ã»ÓÐʹÓÃÍêÕûµÄУÑéºÍ£¬ÒòΪGitʹÓÃSHA-1Ëã·¨¼ÆËãУÑéºÍ£¬Ç°Ãæ8λ×Ö·ûÍêÈ«ÖØµþµÄÇé¿ö¼¸ºõ²»´æÔÚ£¬¶øÇҶԱȺó·¢ÏÖ½âÃܺóµÄÄÚÈݺÍ֮ǰ²é¿´µÄÌá½»ÀúÊ·ÄÚÈÝÎǺϣ¬ÎÒÃÇÔٴαä¸üÄÚÈÝ£¬ÐÂÔö¼¸¸öÎļþ£º

Ôٴθù¾ÝÐÂÌá½»µÄcommitId686b5e1cbfa83ed0244558d006ee01543fde83f3£¬½âÃÜ£º

ºÍ³õʼÌá½»¶ÔÏóÏà±È¶àÁËÒ»ÐÐparent debaa7e47534af51ef3c10117200e65dd4c658ef,¸ÃÐжÔÓ¦´æ´¢µÄУÑéºÍ´ú±íµÄÊÇ´Ë´ÎÌá½»µÄ¸¸Ìá½»¶ÔÏ󣬴˴¦¼´Ö®Ç°µÄ³õʼÌá½»¶ÔÏóУÑéºÍ¡£

ͨ³£Ìá½»¶ÔÏó°üÀ¨Èý²¿·ÖÄÚÈÝ£º

Ìá½»ÐÅÏ¢£º°üÀ¨Ìá½»ÕßÐÕÃû/ÓÊÏäºÍÌá½»±¸×¢µÈÏà¹ØÐÅÏ¢£»

tree¶ÔÏóµÄУÑéºÍ£º¹ØÓÚtree¶ÔÏóÔÚÏÂÒ»½ÚÏêϸ½éÉÜ£»

¸¸Ìá½»¶ÔÏóµÄУÑéºÍ£¨¿ÉÄÜ´æÔÚ¶à¸ö¡£Èç·ÖÖ§·¢ÉúºÏ²¢Ê±£¬Ìá½»µÄ¸¸Ìá½»¿ÉÄÜÓжà¸ö£©

TREE¶ÔÏó

½âÃÜÉÏÀýÖеÄtree¶ÔÏóУÑéºÍ£º

ÎÒÃÇ·¢ÏÖ´Ëtree¶ÔÏó°üº¬ÈýÐУ¬Ç°Á½ÐÐÊÇÁ½¸öblobУÑéºÍ£¬Ö¸Ïòµ¥¸öÎļþ£¬µÚÈýÐеÄУÑéºÍÊǶÔÓ¦Ò»¸ötree¶ÔÏó£¬Ö¸ÏòÒ»¸öspaĿ¼¡£

»¹Ô­µÚÒ»ÐеÄblob¶ÔÏó£º

¿ÉÒÔ·¢ÏÖblobУÑéºÍ¾Í´ú±íÁ˸ÃÎļþµÄÄÚÈÝ£»ÔÙ¿´¶þ¼¶tree¶ÔÏóУÑéºÍ½âÃܺó£º

ºÍÒ»¼¶tree¶ÔÏóÀàËÆ£¬Æä°üº¬ÁËÒ»¸öblobУÑéºÍ£¬Ö¸ÏòspaĿ¼ÏµÄtest.js£¬µ±È»Õâ¸öУÑéºÍ´ú±íµÄ¾ÍÊÇtest.jsÎļþµÄÄÚÈÝ£º

ÏÖÔÚ£¬ÎÒÃÇÖªµÀÒ»¸ötree¶ÔÏó¿ÉÒÔ°üº¬£º

Èô¸Étree¶ÔÏóУÑéºÍ: Ö¸Ïòµ±Ç°Ä¿Â¼µÄÒ»¸ö×ÓĿ¼£»

Èô¸ÉblobУÑéºÍ£ºÖ¸ÏòÒ»¸öÎļþ

×¢£ºÕâÀïµÄblob˵Ã÷GitÊÇͨ¹ý´´½¨Blob¶ÔÏ󣨶þ½øÖÆ·½Ê½£©´æ´¢Êý¾Ý¡£

BLOB¶ÔÏó

BLOB (binary large object)£¬¶þ½øÖÆ´ó¶ÔÏó£¬ÊÇÒ»¸ö¿ÉÒÔ´æ´¢¶þ½øÖÆÎļþµÄÈÝÆ÷£¬GitÖÐËùÓÐÊý¾Ý¶¼ÊÇͨ¹ý¸Ã·½Ê½´æ´¢¡£

   
2045 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

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

ÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀí°×ƤÊé
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