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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Git ·ÖÖ§¹ÜÀíÏê½â
 
×÷Õß ³ÂÃ÷Ǭ µÄBLOG£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-08-11
  4948  次浏览      29
 

1.ǰÑÔ

ÔÚÉÏһƪ²©¿ÍÖÐÎÒÃÇÖ÷Òª½²½âÁËGit Ô¶³Ì²Ö¿â£¬ÏàÐÅ´ó¼Ò¶ÔÔ¶³ÌµÄGit²Ö¿âÓÐÒ»¶¨µÄÁ˽⣬ºÙºÙ¡£ÔÚÕâһƪ²©¿ÍÖÐÎÒÃÇÀ´ÔÚ´ó¼Ò½²½âÒ»ÏÂGit ·ÖÖ§¹ÜÀí£¬Õâ¿ÉÒÔ˵ÊÇGitµÄÓÖÒ»´óÌØµã¡£ÏÂÃæÎÒÃǾÍÀ´Ñ§Ï°Ò»ÏÂGit·ÖÖ§¹ÜÀí°É¡£

ÎÒÃÇÏÈÀ´ËµÒ»¸ö¼òµ¥µÄ°¸Àý°É£¬ÄãÃÇÍŶÓÖÐÓжà¸öÈËÔÙ¿ª·¢Ò»ÏÂÏîÄ¿£¬Ò»Í¬ÊÂÔÙ¿ª·¢Ò»¸öÐµĹ¦ÄÜ£¬ÐèÒªÒ»ÖÜʱ¼äÍê³É£¬ËûдÁËÆäÖеÄ30%»¹Ã»ÓÐдÍ꣬Èç¹ûËûÌá½»ÁËÕâ¸ö°æ±¾£¬ÄÇôÍŶÓÖÐµÄÆäËüÈ˾Ͳ»ÄܼÌÐø¿ª·¢ÁË¡£µ«Êǵȵ½ËûÈ«²¿Ð´ÍêÔÙÈ«²¿Ìá½»£¬´ó¼ÒÓÖ¿´²»µ½ËûµÄ¿ª·¢½ø¶È£¬Ò²²»ÄܼÌÐø¸É»î£¬ÕâÈçºÎÊǺÃÄØ£¿

¶ÔÓÚÉÏÃæµÄÕâ¸öÎÊÌ⣬ÎÒÃǾͿÉÒÔÓ÷ÖÖ§¹ÜÀíµÄ°ì·¨À´½â¾ö£¬Ò»Í¬Ê¿ª·¢Ð¹¦ÄÜËû¿ÉÒÔ´´½¨Ò»¸öÊôÓÚËû×Ô¼ºµÄ·ÖÖ§£¬ÆäËüͬÊÂÔÝʱ¿´²»µ½£¬¼ÌÐøÔÚ¿ª·¢·ÖÖ§£¨Ò»°ã¶¼Óжà¸ö·ÖÖ§£©ÉϸɻËûÔÚ×Ô¼ºµÄ·ÖÖ§ÉϸɻµÈËûÈ«²¿¿ª·¢Íê³É£¬ÔÙÒ»´ÎÐԵĺϲ¢µ½¿ª·¢·ÖÖ§ÉÏ£¬ÕâÑùÎÒÃǼȿÉÖªµÀËûµÄ¿ª·¢½ø¶È£¬ÓÖ²»Ó°Ïì´ó¼Ò¸É»î£¬ÊDz»ÊǺܷ½±ãÄØ£¿

´ó¼Ò¿ÉÄÜ»á˵ÁË£¬ÄãGitµÄ·ÖÖ§¹¦ÄÜÈ˼ÒSVNÒ²Óа¡£¬Ò²Ã»Ê²Ã´ÌØÊâµÄÂï¡£µ«ÎÒÏë˵ÄãÄǸö´´½¨ºÍÇл»ËÙ¶ÈÔõôÑùÄØ£¿ºÙºÙ£¬ÎÒÏë˵˭ÓÃË­ÖªµÀ°¡£¡µ«GitÄØ£¬ÎÞÂÛÄã´´½¨»¹ÊÇÇл»»òÕßɾ³ý¶¼ºÜ¿ìŶ£¡

·ÖÖ§±¾ÖÊÉÏÆäʵ¾ÍÊÇÒ»¸öÖ¸Ïòij´ÎÌá½»µÄ¿É±äÖ¸Õë¡£Git µÄĬÈÏ·ÖÖ§Ãû×ÖΪ master ¡£¶øÎÒÃÇÊÇÔõô֪µÀµ±Ç°´¦ÓÚÄĸö·ÖÖ§µ±ÖÐÄØ£¿´ð°¸¾ÍÊÇÔÚÓÚ HEAD Õâ¸öÊ®·ÖÌØÊâµÄÖ¸Õ룬ËüרÃÅÓÃÓÚÖ¸ÏòÓÚ±¾µØ·ÖÖ§Öеĵ±Ç°·ÖÖ§¡£ÎÒÃÇ¿ÉÒÔ¼òµ¥Àí½âΪ£ºcommit <- branch <- HEAD £¨×¢£¬±¾À´ÎÒÃÇÏêϸ˵һÏÂHEADµÄ£¬Õâ¸ö¶«Î÷Õæ²»ºÃ˵£¬gooleÁËÒ»ÏÂҲû¼¸¸ö´óÉñ˵Õâ¸ö£¬ºÙºÙ¡£ÏÂÃæÎÒ¾Íͨ¹ý½²½â°ïÖú´ó¼ÒÀí½â£¬¼òµ¥µÄ˵HEAD¾ÍÊÇÖ¸ÏòÓÚ±¾µØ·ÖÖ§Öеĵ±Ç°·ÖÖ§£¬ÈçÏÂͼ£º£© ÏÂÃæÎÒÃÇÀ´´´½¨·ÖÖ§¡£

2.´´½¨·ÖÖ§

µ±ÎÒÃÇÐèÒªµ÷ÊÔij¸öBug»òÕß³¢ÊÔÌí¼Ó»òÐ޸ijÌÐòÖеÄij¸öÄ£¿é£¬¶øÓÖ²»ÄÜÓ°ÏìÖ÷·ÖÖ§µÄ¿ª·¢Ê±¡£¾Í¿ÉÒÔͨ¹ý´´½¨·ÖÖ§À´Âú×ãÐèÇó¡£´´½¨·ÖÖ§Ï൱ÓÚÊÇ´´½¨Ò»¸öеķÖÖ§Ö¸ÕëÖ¸Ïòµ±Ç°ËùÔÚµÄÌá½»¡£ÎÒÃÇÔÚCommit3ÉÏ´´½¨dev·ÖÖ§£º

ÈçÏÂͼËùʾ£¬dev·ÖÖ§Ö¸ÏòCommit3¡£

´ÓÉÏͼ¿ÉÖª£¬ËäÈ»ÎÒÃÇ´´½¨ÁËÒ»¸öзÖÖ§£¬µ«ÊÇ HEAD ÈÔȻָÏò master ¡£Èç¹ûÏ£ÍûÔÚ´´½¨·ÖÖ§µÄͬʱÇл»µ½Ð·ÖÖ§ÉÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒÔÏÂÃüÁîʵÏÖ£º

git checkoutÃüÁî¼ÓÉÏ-b²ÎÊý±íʾ´´½¨²¢Çл»·ÖÖ§ÉÏ¡£

3.Çл»·ÖÖ§

Çл»µ±Ç°·ÖÖ§ÎÒÃÇ¿ÉÒÔÓÃÒÔÏÂÃüÁîʵÏÖ£º

git branch -a ÃüÁî¿ÉÒԲ鿴ËùÓзÖÖ§£¬ÏÖÔÚÎÒÃÇHEADÖ¸Õë±ãÖ¸Ïòdev·ÖÖ§£¬´ó¼Ò¿ÉÒÔÔÚÉÏͼÖп´µ½dev·ÖÖ§ÉÏÓиö*ºÅ¡£

ÏÂÃæÎÒÃÇÐÞ¸ÄÒ»ÏÂreadme.txtÖеÄÄÚÈÝ£¬²¢ÔÚdev·ÖÖ§ÉÏÌύһϡ£ÈçÏÂͼ£º

ÓÃÁ÷³ÌͼÑÝʾÉÏÊö¹ý³ÌÈçÏ£º

ÏÖÔÚÎÒÃÇÔÚdev·ÖÖ§ÉÏÍê³É¹¤×÷£¬ÏÖÔÚµ½master·ÖÖ§ÉÏ¡£ÈçÏÂͼ£º

Á÷³Ìͼ±íʾÈçÏ£º

Çл»»Ømaster·ÖÖ§ºó£¬Ôٲ鿴һ¸öreadme.txtÎļþ£¬ÈçÏÂͼ£º

´ó¼Ò¿ÉÒÔ¿´µ½ÎÒÃǸղÅÔö¼ÓµÄÒ»ÐÐÄÚÈݲ»¼ûÁË£¬ºÙºÙ¡£ÒòΪÄǸöÌá½»ÊÇÔÚdev·ÖÖ§ÉÏ£¬¶ømaster·Ö֧ûÓб仯¡£ºÃÁË£¬ÏÂÃæÎÒÃÇÀ´ÑÝʾһϺϲ¢·ÖÖ§¡£

4.ºÏ²¢·ÖÖ§£¨¿ìËٺϲ¢£©

ÏÖÔÚ£¬ÎÒÃǰÑdev·ÖÖ§µÄ¹¤×÷³É¹ûºÏ²¢µ½master·ÖÖ§ÉÏ£¬ÈçÏÂͼ£º

git merge ÃüÁîÓÃÓںϲ¢Ö¸¶¨·ÖÖ§µ½µ±Ç°·ÖÖ§¡£ºÏ²¢ºó£¬Ôٲ鿴readme.txtµÄÄÚÈÝ£¬¾Í¿ÉÒÔ¿´µ½£¬ºÍdev·ÖÖ§µÄ×îÐÂÌá½»ÊÇÍêȫһÑùµÄ¡£ÈçÏÂͼ£º

´ó¼Ò×¢Òâµ½ÉÏÃæµÄFast-forwardÐÅÏ¢£¬Git¸æËßÎÒÃÇ£¬Õâ´ÎºÏ²¢ÊÇ¡°¿ì½øÄ£Ê½¡±£¬Ò²¾ÍÊÇÖ±½Ó°ÑmasterÖ¸ÏòdevµÄµ±Ç°Ìá½»£¬ËùÒԺϲ¢Ëٶȷdz£¿ì¡£µ±È»£¬Ò²²»ÊÇÿ´ÎºÏ²¢¶¼ÄÜFast-forward£¬ÎÒÃǺóÃæ»á½«ÆäËû·½Ê½µÄºÏ²¢¡£ºÏ²¢Íê³Éºó£¬¾Í¿ÉÒÔ·ÅÐĵØÉ¾³ýdev·ÖÖ§ÁË¡£

5.ɾ³ý·ÖÖ§

ÏÂÃæÎÒÃÇÀ´ÑÝʾһÏÂɾ³ý·ÖÖ§£¬ÈçÏÂͼ£º

´ó¼ÒÔÚʵ¼Ê²Ù×÷ÖпÉÒÔ·¢ÏÖÔÚÎÒÃÇ´´½¨¡¢ºÏ²¢¡¢É¾³ý·ÖÖ§µÄËٶȷdz£¿ì°É£¬ÕâºÍÖ±½ÓÔÚmaster·ÖÖ§ÉϹ¤×÷Ч¹ûÊÇÒ»ÑùµÄ£¬µ«¹ý³Ì¸ü°²È«£¬¸ü¿É¿¿¡£ÏÂÃæÎÒÃÇÀ´¼òµ¥µÄ×ܽáһϣº

1.²é¿´·ÖÖ§ git branch -a

2.´´½¨·ÖÖ§ git branch name

3.Çл»·ÖÖ§ git checkout name

4.´´½¨²¢Çл» git checkout -b name

5.ºÏ²¢Ä³·ÖÖ§µ½µ±Ç°·ÖÖ§ git merge name

6.ɾ³ý·ÖÖ§ git branch -d name

6.·ÖÖ§ºÏ²¢³åÍ»

ÏÂÃæÎÒÃÇÀ´ÑÝʾһϲ»Í¬·ÖÖ§ÐÞ¸Äͬһ¸öÎļþ²úÉú³åÍ»ÎÊÌ⣬ÏÂÃæÎÒÃÇÀ´´´½¨Ò»¸öеķÖÖ§£¬¼ÌÐø¿ª·¢Ð¹¦ÄÜ£º

ÏÖÔÚÎÒÃǽ«·ÖÖ§Çл»µ½master·ÖÖ§ÉÏÐÞ¸Äreadme.txtÄÚÈݲ¢Ìá½»£¬ÈçÏÂͼ£º

ÕâÖÖÇé¿öÏ£¬GitÎÞ·¨Ö´ÐС°¿ìËٺϲ¢¡±£¬Ö»ÄÜÊÔͼ°Ñ¸÷×ÔµÄÐ޸ĺϲ¢ÆðÀ´£¬µ«ÕâÖֺϲ¢¾Í¿ÉÄÜ»áÓгåÍ»£¬ÈçÏÂͼ£º

¹ûÈ»³åÍ»ÁË£¬Git¸æËßÎÒÃÇreadme.txtÎļþ´æÔÚ³åÍ»£¬±ØÐëÊÖ¶¯½â¾ö³åÍ»ºóÔÙÌá½»¡£ÏÂÃæÎÒÃÇÓÃgit status²é¿´Ò»ÏÂ״̬£º

ÏÂÃæÎÒÃÇÀ´²é¿´Ò»ÏÂreadme.txtÖеÄÄÚÈÝ£¬ÈçÏÂͼ£º

GitÓÃ<<<<<<<£¬=======£¬>>>>>>>±ê¼Ç³ö²»Í¬·ÖÖ§µÄÄÚÈÝ£¬ÈÃÎÒÃÇÑ¡ÔñÒª±£ÁôµÄÄÚÈÝ£¬ÏÂÃæÎÒÃÇÐÞ¸ÄÒ»ÏÂreadme.txt£¬ÔÙ´ÎÌá½»¡£ÈçÏÂͼ£º

ºÃÁË£¬µ½ÕâÎÒÃǵķÖÖ§ºÏ²¢³åÍ»¾Í½²½âÍê³ÉÁË£¬ÏÂÃæÎÒÃÇÀ´É¾³ý·ÖÖ§¡£ÈçÏÂͼ£º

×îºó£¬ÎÒÃÇ¿ÉÒÔÓà git log --graph --pretty=oneline --abbrev-commit ÃüÁ²é¿´Ò»Ï·ÖÖ§ºÏ²¢¡£

7.ºÏ²¢·ÖÖ§£¨ÆÕͨºÏ²¢£©

·ÖÖ§ºÏ²¢·ÖΪ¿ìËٺϲ¢ÓëÆÕͨºÏ²¢Á½ÖÖģʽ£¬ÆÕͨºÏ²¢£¬ºÏ²¢ºóµÄÀúÊ·ÓзÖÖ§¼Ç¼£¬ÄÜ¿´³öÀ´Ôø¾­×ö¹ýºÏ²¢£¬¶ø¿ìËٺϲ¢¾Í¿´²»³öÀ´Ôø¾­×ö¹ýºÏ²¢¡£ÏÂÃæÎÒÃÇÀ´ÑÝʾһÏÂÆÕͨºÏ²¢£¬

´ó¼Ò¿ÉÒÔ¿´µ½ÎÒÃÇÕâ´ÎºÏ²¢ÓÃµÄÆÕͨģʽºÏ²¢£¬--no-ff²ÎÊý±íʾ½ûÓÿìËٺϲ¢¡£ÏÂÃæÎÒÃÇÓÃgit logÃüÁî²é¿´Ò»Ïºϲ¢ÀúÊ·£º

×¢£¬ºÏ²¢·Ö֧ʱ£¬¼ÓÉÏ--no-ff²ÎÊý¾Í¿ÉÒÔÓÃÆÕͨģʽºÏ²¢£¬ºÏ²¢ºóµÄÀúÊ·ÓзÖÖ§¼Ç¼£¬ÄÜ¿´³öÀ´Ôø¾­×ö¹ýºÏ²¢£¬¶øfast forwardºÏ²¢¾Í¿´²»³öÀ´Ôø¾­×ö¹ýºÏ²¢¡£ÈçÏÂͼ£º

1).¿ìËٺϲ¢

2).ÆÕͨºÏ²¢

8.·ÖÖ§¹ÜÀí²ßÂÔ

ÏÂÃæÎÒÃÇÀ´ËµÒ»ÏÂÒ»°ãÆóÒµÖпª·¢Ò»¸öÏîÄ¿µÄ·ÖÖ§²ßÂÔ£º

1.Ö÷·ÖÖ§ master

2.¿ª·¢·ÖÖ§ develop

3.¹¦ÄÜ·ÖÖ§ feature

4.Ô¤·¢²¼·ÖÖ§&#160; release

5.bug ·ÖÖ§ fixbug

6.ÆäËü·ÖÖ§ other

1).Ö÷·ÖÖ§ master

´úÂë¿âÓ¦¸ÃÓÐÒ»¸ö¡¢ÇÒ½öÓÐÒ»¸öÖ÷·ÖÖ§¡£ËùÓÐÌṩ¸øÓû§Ê¹ÓõÄÕýʽ°æ±¾£¬¶¼ÔÚÕâ¸öÖ÷·ÖÖ§ÉÏ·¢²¼¡£

GitÖ÷·ÖÖ§µÄÃû×Ö£¬Ä¬ÈϽÐ×öMaster¡£ËüÊÇ×Ô¶¯½¨Á¢µÄ£¬°æ±¾¿â³õʼ»¯ÒÔºó£¬Ä¬ÈϾÍÊÇÔÚÖ÷·ÖÖ§ÔÚ½øÐпª·¢¡£

2).¿ª·¢·ÖÖ§ develop

Ö÷·ÖÖ§Ö»ÓÃÀ´·Ö²¼ÖØ´ó°æ±¾£¬ÈÕ³£¿ª·¢Ó¦¸ÃÔÚÁíÒ»Ìõ·ÖÖ§ÉÏÍê³É¡£ÎÒÃǰѿª·¢ÓõķÖÖ§£¬½Ð×öDevelop¡£

Õâ¸ö·ÖÖ§¿ÉÒÔÓÃÀ´Éú³É´úÂëµÄ×îдúÂë°æ±¾¡£Èç¹ûÏëÕýʽ¶ÔÍâ·¢²¼£¬¾ÍÔÚMaster·ÖÖ§ÉÏ£¬¶ÔDevelop·ÖÖ§½øÐÐ"ºÏ²¢"£¨merge£©¡£

3).¹¦ÄÜ·ÖÖ§ feature

¹¦ÄÜ·ÖÖ§£¬ËüÊÇΪÁË¿ª·¢Ä³ÖÖÌØ¶¨¹¦ÄÜ£¬´ÓDevelop·ÖÖ§ÉÏÃæ·Ö³öÀ´µÄ¡£¿ª·¢Íê³Éºó£¬ÒªÔÙ²¢ÈëDevelop¡£

¹¦ÄÜ·ÖÖ§µÄÃû×Ö£¬¿ÉÒÔ²ÉÓÃfeature-*µÄÐÎʽÃüÃû¡£

4).Ô¤·¢²¼·ÖÖ§&#160; release

Ô¤·¢²¼·ÖÖ§£¬ËüÊÇÖ¸·¢²¼Õýʽ°æ±¾Ö®Ç°£¨¼´ºÏ²¢µ½Master·Ö֧֮ǰ£©£¬ÎÒÃÇ¿ÉÄÜÐèÒªÓÐÒ»¸öÔ¤·¢²¼µÄ°æ±¾½øÐвâÊÔ¡£Ô¤·¢²¼·ÖÖ§ÊÇ´ÓDevelop·ÖÖ§ÉÏÃæ·Ö³öÀ´µÄ£¬Ô¤·¢²¼½áÊøÒԺ󣬱ØÐëºÏ²¢½øDevelopºÍMaster·ÖÖ§¡£ËüµÄÃüÃû£¬¿ÉÒÔ²ÉÓÃrelease-*µÄÐÎʽ¡£

5).bug ·ÖÖ§ fixbug

bug·ÖÖ§¡£Èí¼þÕýʽ·¢²¼ÒÔºó£¬ÄÑÃâ»á³öÏÖbug¡£Õâʱ¾ÍÐèÒª´´½¨Ò»¸ö·ÖÖ§£¬½øÐÐbugÐÞ²¹¡£ÐÞ²¹bug·ÖÖ§ÊÇ´ÓMaster·ÖÖ§ÉÏÃæ·Ö³öÀ´µÄ¡£ÐÞ²¹½áÊøÒÔºó£¬Ôٺϲ¢½øMasterºÍDevelop·ÖÖ§¡£ËüµÄÃüÃû£¬¿ÉÒÔ²ÉÓÃfixbug-*µÄÐÎʽ¡£

6).ÆäËü·ÖÖ§ other

»¹ÓоÍÊÇÆäËü·ÖÖ§ÁË£¬´ó¼Ò¿ÉÒÔ¸ù¾ÝÐèÒª´´½¨¼´¿É¡­¡­

9.ÍŶӶàÈË¿ª·¢Ð­×÷

ÔÚÉÏÃæµÄÕ½ÚÖÐÎÒÃǽ²½âÁËGitµÄ·ÖÖ§¹ÜÀí²ßÂÔ£¬Ò»°ã¿ª·¢ÍŶÓÖÐÓÐÕâÑù¼¸¸ö·ÖÖ§£¬master¡¢develop¡¢feature¡¢release¡¢bug¡¢other·ÖÖ§£¬»òÕßÄ㻹ÓÐÆäËü·ÖÖ§£¬ÄÇÓв©ÓÑ»áÎÊÁË£¬Äã½²ÁËÄÇô¶à·ÖÖ§£¬¶¼ÔÚ±¾µØ·Å×ÅÎÒÃÇÔõô²é¿´ºÍÍÆËÍ·ÖÖ§µ½Ô¶³Ì·þÎñÆ÷ÉÏÄØ£¿ºÙºÙ£¬ÎÒÃÇ˵´ó¼Ò±ð¼±ÎÒÃÇÔÚÕâÒ»Õ½ÚÖоÍÀ´Öص㽲½â£¬ÔÚÍŶӶàÈËЭ×÷ÖеķÖÖ§ÍÆËÍÓëץȡ¡£

1).²é¿´Ô¶³Ì²Ö¿â·ÖÖ§

²é¿´Ô¶³Ì²Ö¿âµÄÐÅÏ¢£¬ÈçÏÂͼ£º

´ó¼Ò¿ÉÒÔ¿´µ½git remoteÃüÁî¿ÉÒԲ鿴Զ³Ì²Ö¿â£¬¼Ó-vÑ¡Ïî¿ÉÒԲ鿴ÏêϸÐÅÏ¢¡£ÉÏÃæÏÔʾÁËÄãץȡºÍÍÆË͵Äorigin£¨Ô´£©ÐÅÏ¢¡£ µ±Äã´ÓÔ¶³Ì²Ö¿â¿Ë¡ʱ£¬Êµ¼ÊÉÏGit×Ô¶¯°Ñ±¾µØµÄmaster·ÖÖ§ºÍÔ¶³ÌµÄmaster·ÖÖ§¶ÔÓ¦ÆðÀ´ÁË£¬²¢ÇÒÔ¶³Ì²Ö¿âµÄĬÈÏÃû³ÆÊÇorigin¡£

2).·ÖÖ§ÍÆËÍ

ÏÂÃæÎÒÃÇÀ´ÑÝʾһϽ«±¾µØ·ÖÖ§ÍÆË͵½Ô¶³ÌµÄ²Ö¿âÖУ¬ÈçÏÂͼ£º

´ó¼Ò¿ÉÒÔ¿´µ½£¬ÎÒÃǵı¾µØmaster·ÖÖ§ÓëÔ¶³ÌµÄmaster·ÖÖ§ÒÑͬ²½¡£ÏÂÃæÎÒÃÇÀ´ÑÝʾһÏÂͬ²½dev·ÖÖ§£¬ÈçÏÂͼ£º

Óв©ÓÑ»áÎÊÁË£¬ÎÒ±¾µØÓкܶà·ÖÖ§£¬ÓÐÄÄЩ·ÖÖ§ÐèÒªÍÆË͵½Ô¶³Ì²Ö¿âÖÐÄØ£¿Ò»°ãÊÇÕâÑùµÄ£¬

1.master ·ÖÖ§ÊÇÖ÷·ÖÖ§£¬ÒªÊ±¿ÌÓëÔ¶³Ìͬ²½£¬Ò»°ãÎÒÃÇ·¢²¼×îа汾¾ÍÓÃmaster·ÖÖ§

2.develop ·ÖÖ§ÊÇ¿ª·¢·ÖÖ§£¬ÍŶÓÖÐËùÓÐÈ˶¼ÔÚÕâ¸ö·ÖÖ§ÉÏ¿ª·¢£¬ËùÒÔÒ²ÐèÒªÓëÔ¶³Ìͬ²½

3.bug ·ÖÖ§Ò»°ãÖ»ÔÚ±¾µØÊ¹ÓÃÀ´ÐÞ¸´bug£¬Ò»°ã²»ÐèÍÆËÍÔ¶³Ì²Ö¿âÖÐ

4.feature ·ÖÖ§ÊÇ·ñÐèÒªÍÆË͵½Ô¶³Ì£¬Òª¿´ÊDz»ÊÇÓм¸¸öÈ˺Ï×÷¿ª·¢Ð¹¦ÄÜ£¬Èç¹ûÄãÊÇÒ»¸ö¿ª·¢£¬ÄǾÍÁôÔÚ±¾µØ°É

5.release ·ÖÖ§Ò»°ãÊÇϵͳ¹ÜÀí£¬ÍÆËÍ»òץȡµÄ·ÖÖ§Ò»°ãÓ뿪·¢ÈËÔ±ÎÞ¹Ø

6.other ·ÖÖ§´ó¼Ò°´ÐèÇó·ÖÅä

3).·Ö֧ץȡ

ÏÖÔÚÄãһͬÊÂÔÚµçÄÔÉϿˡһ·Ý²Ö¿â£¬ÎÒÃÇÀ´ÑÝʾһÏ¡£

Éú³É¹«Ô¿£º

[root@localhost ~]# ssh-keygen -t rsa  
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):


Enter passphrase (empty for no passphrase):


Enter same passphrase again:


Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
60:a6:f3:71:d1:1e:0f:5f:3f:0c:6f:a3:61:4c:28:c0 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|&#160;&#160;&#160;&#160;&#160; ..&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |
|&#160;&#160;&#160;&#160;&#160;&#160; E..&#160; .&#160;&#160;&#160; |
|&#160;&#160;&#160;&#160;&#160; + ..+. o.&#160; |
|&#160;&#160;&#160;&#160; + . o.=o.+. |
|&#160;&#160;&#160; o . S . o+ *.|
|&#160;&#160;&#160;&#160; o o&#160;&#160;&#160; . + o|
|&#160;&#160;&#160;&#160;&#160; .&#160;&#160;&#160;&#160;&#160; .&#160;&#160; |
|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |
|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |
+-----------------+
[root@localhost ~]#


[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# cat id_rsa.pub


ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx/ms/8BGBrG2FwHNySjFsVdpldArSzS6CkrdFeqJd0YAZfo/ e2RwyZ9HkBqp3xcBZxCRdifnPbfSHdACLbVALfw2Dj6s0jJmdg3AHth13hF1qeljlQarXTTkheHNuFhi3OF/ MVKZXJh0jRT2xU9UL4GRrtodOmclU6DelBFbqlw7yCj0TFXZSZk3UmHPHG3I2E3il/7jWdqw0qsys85rUL/ Ugs50RUcFn53avqUiAYSU+neXiLmHmshCLVpdbDiOxRjfFPVjTgLh88hDLwkcYL4Lrzc5My3glgiEjrSn43 WxDdbOiGUyZz1TdJKNngq7OJK+SuA/FkMEA+pXoTIAwQ==
root@localhost.localdomain

½«Éú³ÉµÄ¹«Ë¾Ôö¼Óµ½git·þÎñÆ÷ÉÏ£º

[root@test ~]# cat /data/git/.ssh/authorized_keys  
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++ YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+ 1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9 zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40l YVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx/ms/8BGBrG2FwHNySjFsVdpldArSzS6CkrdFeqJd0YAZfo/ e2RwyZ9HkBqp3xcBZxCRdifnPbfSHdACLbVALfw2Dj6s0jJmdg3AHth13hF1qeljlQarXTTkheHNuFhi3OF/ MVKZXJh0jRT2xU9UL4GRrtodOmclU6DelBFbqlw7yCj0TFXZSZk3UmHPHG3I2E3il/7jWdqw0qsys85rUL/ Ugs50RUcFn53avqUiAYSU+neXiLmHmshCLVpdbDiOxRjfFPVj TgLh88hDLwkcYL4Lrzc5My3glgiEjrSn43WxDdbOiGUyZz1TdJKNngq7OJK+SuA/ FkMEA+pXoTIAwQ== root@localhost.localdomain

¿Ë¡Զ³Ì°æ±¾¿â£º

[root@localhost .ssh]# cd /data/  
[root@localhost data]# ls
lost+found
[root@localhost data]# git --version
git version 1.7.1
[root@localhost data]# git clone git@192.168.18.201:/data/git/project1.git
Initialized empty Git repository in /data/project1/.git/
The authenticity of host '192.168.18.201 (192.168.18.201)' can't be established.
RSA key fingerprint is 3b:52:6b:ea:4d:50:7c:b2:9e:66:e4:0e:2e:21:98:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.18.201' (RSA) to the list of known hosts.
remote: Counting objects: 20, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 20 (delta 4), reused 0 (delta 0)
Receiving objects: 100% (20/20), done.
Resolving deltas: 100% (4/4), done.
[root@localhost data]# ls
lost+found&#160; project1
[root@localhost data]# cd project1/
[root@localhost project1]# ls
readme.txt

ÎÒÃÇÏÖÔڲ鿴һÏ·ÖÖ§£º

[root@localhost project1]# git branch 

* master

ÄãͬÊÂÒªÔÚdev·ÖÖ§ÉÏ¿ª·¢£¬¾ÍµÃ´´½¨ÓëÔ¶³ÌoriginÒ»ÑùµÄdev·ÖÖ§µ½±¾µØµÄ²Ö¿âÉÏ£¬ÏÂÃæÎÒÃÇÀ´´´½¨Ò»Ï£º

[root@localhost project1]# git checkout -b dev origin/dev  
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
[root@localhost project1]# git branch * dev master
[root@localhost project1]#

ÏÖÔÚÄãͬʾͿÉÒÔÔÚdev·ÖÖ§ÉÏ¿ª·¢ÁË£¬ÏÂÃæÎÒÃÇн¨Ò»Ð©Îļþ²¢Ìá½»µ½Ô¶³Ìdev·ÖÖ§£º

[root@localhost project1]# touch index.html  
[root@localhost project1]# vim index.html
This git test index.html!
[root@localhost project1]# git add index.html
[root@localhost project1]# git commit -m "add index.html"
[dev 6e47de0] add index.html
Committer: root <root@localhost.localdomain>
Your name and email address were configured automatically based on your username and hostname.Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
If the identity used for this commit is wrong, you can fix it with:
git commit --amend --author='Your Name <you@example.com>'
1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 index.html
[root@localhost project1]# git config --global user.name "leo"
[root@localhost project1]# git config --global user.email "leo@jjhh.com"
[root@localhost project1]# git commit -m "add index.html"
# On branch dev # Your branch is ahead of 'origin/dev' by 1 commit.
# nothing to commit (working directory clean)
[root@localhost project1]# git status
# On branch dev # Your branch is ahead of 'origin/dev' by 1 commit.
# nothing to commit (working directory clean)
[root@localhost project1]# git push origin dev
Counting objects: 4, done. Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 305 bytes, done.
Total 3 (delta 0), reused 0 (delta 0) To git@192.168.18.201:/data/git/project1.git
58f4fae..6e47de0; dev ¨C> dev

ÄãµÄͬÊÂÏòorigin/dev·ÖÖ§Ìá½»ÁËÒ»¸öindex.htmlÒ³Ãæ£¬ÏÖÔÚÄãÒ²ÔÚÐÞ¸ÄÕâ¸öÎļþ£¬²¢Ìá½»£º

ÍÆËÍʧ°Ü£¬ÒòΪÄãͬʵÄ×îÐÂÌá½»ºÍÄãÍÆË͵ÄÌá½»ÓгåÍ»£¬GitÌáʾÎÒÃÇ£¬ÏÈÓÃgit pull°Ñ×îеÄÌá½»´Óorigin/dev×¥ÏÂÀ´£¬È»ºóÔÚ±¾µØºÏ²¢½â¾ö³åÍ»£¬ÔÙÍÆËÍ£º

git pull ʧ°ÜÁË£¬Ô­ÒòÊÇûÓн«dev·ÖÖ§ÓëÔ¶³Ìorigin/dev·ÖÖ§½øÐÐÁ´½Ó£¬GitÌáʾÎÒÃÇÉèÖÃdevºÍorigin/devµÄÁ´½Ó£º

ÏÂÃæÎÒÃÇÔÙÀ´git pullÒ»ÏÂÊÔÊÔ£º

git pull ³É¹¦£¬µ«ÊǺϲ¢ÓгåÍ»ÐèÒªÊÖ¶¯½â¾ö£¬½â¾öµÄ·½·¨ºÍ·ÖÖ§¹ÜÀíÖеĽâ¾ö³åÍ»ÍêȫһÑù¡£½â¾öºóÌáÔÙpush£º

ºÃÁË£¬ÕâÑùµÄÎÒÃǵÄÔ¶³ÌÍÆËÍÓëץȡ¾Í½²½âÍê³ÉÁË£¬ÏÂÃæÎÒÃÇÀ´×ܽáһϡ£

10.×ܽá

Ò»°ãÔÚÍŶÓÖжàÈË¿ª·¢Ä£Ê½ÊÇÕâÑùµÄ£º

Ê×ÏÈ£¬¿ÉÒÔÊÔͼÓÃgit push origin branch-nameÍÆËÍ×Ô¼ºµÄÐÞ¸Ä

Èç¹ûÍÆËÍʧ°Ü£¬ÔòÒòΪԶ³Ì·ÖÖ§±ÈÄãµÄ±¾µØ¸üУ¬ÐèÒªÏÈÓÃgit pullÊÔͼºÏ²¢

Èç¹ûºÏ²¢ÓгåÍ»£¬Ôò½â¾ö³åÍ»£¬²¢ÔÚ±¾µØÌá½»

ûÓгåÍ»»òÕß½â¾öµô³åÍ»ºó£¬ÔÙÓÃgit push origin branch-nameÍÆË;ÍÄܳɹ¦

Èç¹ûgit pullÌáʾ¡°no tracking information¡±£¬Ôò˵Ã÷±¾µØ·ÖÖ§ºÍÔ¶³Ì·ÖÖ§µÄÁ´½Ó¹ØÏµÃ»Óд´½¨£¬ÓÃÃüÁîgit branch --set-upstream branch-name origin/branch-name¡£

ºÃÁË£¬µ½ÕâÀïÎÒÃǵÄGit·ÖÖ§¹ÜÀí¾Í½²½âµ½ÕâÀïÁË¡£×îºó£¬Ï£Íû´ó¼ÒÓÐËùÊÕ»ñ^_^¡­¡­

   
4948 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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