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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Git ÔÚÍŶÓÖеÄ×î¼Ñʵ¼ù--ÈçºÎÕýȷʹÓÃGit Flow
 
×÷Õß : ÍõµÂË® À´Ô´£ºC²©¿Í  ·¢²¼ÓÚ 2016-8-8
  3326  次浏览      27
 

ÎÒÃÇÒѾ­´ÓSVN Çл»µ½GitºÜ¶àÄêÁË£¬ÏÖÔÚ¼¸ºõËùÓеÄÏîÄ¿¶¼ÔÚʹÓÃGithub¹ÜÀí, ±¾ÆªÎÄÕ½²Ò»ÏÂΪʲôʹÓÃGit, ÒÔ¼°ÈçºÎÔÚÍŶÓÖÐÕýȷʹÓá£

GitµÄÓŵã

GitµÄÓŵãºÜ¶à£¬µ«ÊÇÕâÀïÖ»ÁгöÎÒÈÏΪ·Ç³£Í»³öµÄ¼¸µã¡£

1.ÓÉÓÚÊÇ·Ö²¼Ê½£¬ËùÓб¾µØ¿â°üº¬ÁËÔ¶³Ì¿âµÄËùÓÐÄÚÈÝ¡£

2.ÓÅÐãµÄ·ÖÖ§Ä£ÐÍ£¬´ò·ÖÖ§ÒÔ¼°ºÏ²¢·ÖÖ§£¬»úÆ÷·½±ã¡£

3.¿ìËÙ£¬ÔÚÕâ¸öʱ¼ä¾ÍÊǽðÇ®µÄʱ´ú£¬GitÓÉÓÚ´úÂë¶¼ÔÚ±¾µØ£¬´ò·ÖÖ§ºÍºÏ²¢·ÖÖ§»úÆ÷¿ìËÙ£¬Ê¹ÓøöSVNµÄÄÜÉî¿ÌÌå»áµ½ÕâÖÖÓÅÊÆ¡£

¸ÐÐËȤµÄ£¬¿ÉÒÔÈ¥¿´Ò»ÏÂGit±¾ÉíµÄÉè¼Æ£¬ÄÚÔڵļܹ¹ÌåÏÖÁ˺ܶàµÄÓÅÊÆ£¬²»À¢Êdzö×ÊÌì²Å³ÌÐòÔ±Linus (LinuxÖ®¸¸) Ö®ÊÖ

°æ±¾¹ÜÀíµÄÌôÕ½

ËäÈ»ÓÐÕâôÓÅÐãµÄ°æ±¾¹ÜÀí¹¤¾ß£¬µ«ÊÇÎÒÃÇÃæ¶Ô°æ±¾¹ÜÀíµÄʱºò£¬ÒÀÈ»Óзdz£´óµÃÌôÕ½£¬ÎÒÃǶ¼ÖªµÀ´ó¼Ò¹¤×÷ÔÚͬһ¸ö²Ö¿âÉÏ£¬ÄÇô±Ë´ËµÄ´úÂëЭ×÷±ØÈ»´øÀ´ºÜ¶àÎÊÌâºÍÌôÕ½£¬ÈçÏ£º

1.ÈçºÎ¿ªÊ¼Ò»¸öFeatureµÄ¿ª·¢£¬¶ø²»Ó°Ïì±ðµÄFeature£¿

2.ÓÉÓÚºÜÈÝÒ×´´½¨Ð·ÖÖ§£¬·ÖÖ§¶àÁËÈçºÎ¹ÜÀí£¬Ê±¼ä¾ÃÁË£¬ÈçºÎÖªµÀÿ¸ö·ÖÖ§ÊǸÉʲôµÄ£¿

3.ÄÄЩ·ÖÖ§ÒѾ­ºÏ²¢»ØÁËÖ÷¸É£¿

4.ÈçºÎ½øÐÐReleaseµÄ¹ÜÀí£¿¿ªÊ¼Ò»¸öReleaseµÄʱºòÈçºÎ¶³½áFeature, ÈçºÎÔÚPrepare ReleaseµÄʱºò£¬¿ª·¢ÈËÔ±¿ÉÒÔ¼ÌÐø¿ª·¢ÐµĹ¦ÄÜ£¿

5.ÏßÉÏ´úÂë³öBugÁË£¬ÈçºÎ¿ìËÙÐÞ¸´£¿¶øÇÒÐÞ¸´µÄ´úÂëÒª°üº¬µ½¿ª·¢ÈËÔ±µÄ·ÖÖ§ÒÔ¼°ÏÂÒ»¸öRelease

´ó²¿·Ö¿ª·¢ÈËÔ±ÏÖÔÚʹÓÃGit¾ÍÖ»ÊÇÓÃÈý¸öÉõÖÁÁ½¸ö·ÖÖ§£¬Ò»¸öÊÇMaster, Ò»¸öÊÇDevelop, »¹ÓÐÒ»¸öÊÇ»ùÓÚDevelop´òµÃ¸÷ÖÖ·ÖÖ§¡£Õâ¸öÔÚСÏîÄ¿¹æÄ£µÄʱºò»¹ÃãÇ¿¿ÉÒÔÖ§³Å£¬ÒòΪºÜ¶àÈË×öÏîÄ¿¾ÍÖ»ÓÐÒ»¸öRelease, µ«ÊÇÈËÔ±Ò»¶à£¬¶øÇÒÏîÄ¿ÖÜÆÚÒ»³¤¾Í»á³öÏÖ¸÷ÖÖÎÊÌâ¡£

Git Flow

¾ÍÏñ´úÂëÐèÒª´úÂë¹æ·¶Ò»Ñù£¬´úÂë¹ÜÀíͬÑùÐèÒªÒ»¸öÇåÎúµÄÁ÷³ÌºÍ¹æ·¶

Vincent Driessen ͬѧΪÁ˽â¾öÕâ¸öÎÊÌâÌá³öÁË A Successful Git Branching Model

ÏÂÃæÊÇGit FlowµÄÁ÷³Ìͼ

ÉÏÃæµÄͼÄãÀí½â²»ÁË£¿ û¹ØÏµ£¬Õâ²»ÊÇÄãµÄ´í£¬ÎÒ¾õµÃÕâÕÅͼ±¾ÉíÓеãÎÊÌ⣬ÕâÕÅͼӦ¸Ã×óת90¶È£¬´ó¼ÒÓ¦¸Ã¾ÍºÜÓÃÒÔÀí½âÁË¡£

Git Flow³£ÓõķÖÖ§

Production ·ÖÖ§

Ò²¾ÍÊÇÎÒÃǾ­³£Ê¹ÓõÄMaster·ÖÖ§£¬Õâ¸ö·ÖÖ§×î½ü·¢²¼µ½Éú²ú»·¾³µÄ´úÂ룬×î½ü·¢²¼µÄRelease£¬ Õâ¸ö·ÖÖ§Ö»ÄÜ´ÓÆäËû·ÖÖ§ºÏ²¢£¬²»ÄÜÔÚÕâ¸ö·ÖÖ§Ö±½ÓÐÞ¸Ä

Develop ·ÖÖ§

Õâ¸ö·ÖÖ§ÊÇÎÒÃÇÊÇÎÒÃǵÄÖ÷¿ª·¢·ÖÖ§£¬°üº¬ËùÓÐÒª·¢²¼µ½ÏÂÒ»¸öReleaseµÄ´úÂ룬Õâ¸öÖ÷ÒªºÏ²¢ÓëÆäËû·ÖÖ§£¬±ÈÈçFeature·ÖÖ§

Feature ·ÖÖ§

Õâ¸ö·ÖÖ§Ö÷ÒªÊÇÓÃÀ´¿ª·¢Ò»¸öÐµĹ¦ÄÜ£¬Ò»µ©¿ª·¢Íê³É£¬ÎÒÃǺϲ¢»ØDevelop·ÖÖ§½øÈëÏÂÒ»¸öRelease

Release·ÖÖ§

µ±ÄãÐèÒªÒ»¸ö·¢²¼Ò»¸öÐÂReleaseµÄʱºò£¬ÎÒÃÇ»ùÓÚDevelop·ÖÖ§´´½¨Ò»¸öRelease·ÖÖ§£¬Íê³ÉReleaseºó£¬ÎÒÃǺϲ¢µ½MasterºÍDevelop·ÖÖ§

Hotfix·ÖÖ§

µ±ÎÒÃÇÔÚProduction·¢ÏÖеÄBugʱºò£¬ÎÒÃÇÐèÒª´´½¨Ò»¸öHotfix, Íê³ÉHotfixºó£¬ÎÒÃǺϲ¢»ØMasterºÍDevelop·ÖÖ§£¬ËùÒÔHotfixµÄ¸Ä¶¯»á½øÈëÏÂÒ»¸öRelease

Git FlowÈçºÎ¹¤×÷

³õʼ·ÖÖ§

ËùÓÐÔÚMaster·ÖÖ§ÉϵÄCommitÓ¦¸ÃTag

Feature ·ÖÖ§

·ÖÖ§Ãû feature/*

Feature·ÖÖ§×öÍêºó£¬±ØÐëºÏ²¢»ØDevelop·ÖÖ§, ºÏ²¢Íê·ÖÖ§ºóÒ»°ã»áɾµãÕâ¸öFeature·ÖÖ§£¬µ«ÊÇÎÒÃÇÒ²¿ÉÒÔ±£Áô

Release·ÖÖ§

·ÖÖ§Ãû release/*

Release·ÖÖ§»ùÓÚDevelop·ÖÖ§´´½¨£¬´òÍêRelease·ÖÖ®ºó£¬ÎÒÃÇ¿ÉÒÔÔÚÕâ¸öRelease·ÖÖ§ÉϲâÊÔ£¬ÐÞ¸ÄBugµÈ¡£Í¬Ê±£¬ÆäËü¿ª·¢ÈËÔ±¿ÉÒÔ»ùÓÚ¿ª·¢ÐµÄFeature (¼Çס£ºÒ»µ©´òÁËRelease·ÖÖ§Ö®ºó²»Òª´ÓDevelop·ÖÖ§ÉϺϲ¢Ðµĸ͝µ½Release·ÖÖ§)

·¢²¼Release·Ö֧ʱ£¬ºÏ²¢Releaseµ½MasterºÍDevelop£¬ ͬʱÔÚMaster·ÖÖ§ÉÏ´ò¸öTag¼ÇסRelease°æ±¾ºÅ£¬È»ºó¿ÉÒÔɾ³ýRelease·ÖÖ§ÁË¡£

ά»¤·ÖÖ§ Hotfix

·ÖÖ§Ãû hotfix/*

hotfix·ÖÖ§»ùÓÚMaster·ÖÖ§´´½¨£¬¿ª·¢ÍêºóÐèÒªºÏ²¢»ØMasterºÍDevelop·ÖÖ§£¬Í¬Ê±ÔÚMasterÉÏ´òÒ»¸ötag

Git Flow´úÂëʾÀý

a. ´´½¨develop·ÖÖ§

git branch develop
git push -u origin develop

b. ¿ªÊ¼ÐÂFeature¿ª·¢

git checkout -b some-feature develop
# Optionally, push branch to origin:
git push -u origin some-feature

# ×öһЩ¸Ä¶¯
git status
git add some-file
git commit

c. Íê³ÉFeature

git pull origin develop
git checkout develop
git merge --no-ff some-feature
git push origin develop

git branch -d some-feature

# If you pushed branch to origin:
git push origin --delete some-feature

d. ¿ªÊ¼Relase

git checkout -b release-0.1.0 develop

# Optional: Bump version number, commit
# Prepare release, commit

e. Íê³ÉRelease

git checkout master
git merge --no-ff release-0.1.0
git push

git checkout develop
git merge --no-ff release-0.1.0
git push

git branch -d release-0.1.0

# If you pushed branch to origin:
git push origin --delete release-0.1.0


git tag -a v0.1.0 master
git push --tags

f. ¿ªÊ¼Hotfix

git checkout -b hotfix-0.1.1 master  

g. Íê³ÉHotfix

git checkout master
git merge --no-ff hotfix-0.1.1
git push


git checkout develop
git merge --no-ff hotfix-0.1.1
git push

git branch -d hotfix-0.1.1

git tag -a v0.1.1 master
git push --tags

Git flow¹¤¾ß

ʵ¼ÊÉÏ£¬µ±ÄãÀí½âÁËÉÏÃæµÄÁ÷³Ìºó£¬ÄãÍêÈ«²»ÓÃʹÓù¤¾ß£¬µ«ÊÇʵ¼ÊÉÏÎÒÃǴ󲿷ÖÈ˺ܶàÃüÁî¾ÍÊǼDz»×¡Ñ½£¬Á÷³Ì¾ÍÊǼDz»×¡Ñ½£¬Ö×ô°ìÄØ£¿

×ÜÓдÏÃ÷µÄÈË´´ÔìºÃµÄ¹¤¾ß¸ø´ó¼ÒÓÃ, ÄǾÍÊÇGit flow script.

°²×°

OS X

brew install git-flow

Linux

apt-get install git-flow

Windows

wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash

ʹÓÃ

³õʼ»¯: git flow init

¿ªÊ¼ÐÂFeature: git flow feature start MYFEATURE

PublishÒ»¸öFeature(Ò²¾ÍÊÇpushµ½Ô¶³Ì): git flow feature publish MYFEATURE

»ñÈ¡PublishµÄFeature: git flow feature pull origin MYFEATURE

Íê³ÉÒ»¸öFeature: git flow feature finish MYFEATURE

¿ªÊ¼Ò»¸öRelease: git flow release start RELEASE [BASE]

PublishÒ»¸öRelease: git flow release publish RELEASE

·¢²¼Release: git flow release finish RELEASE

±ðÍüÁËgit push --tags

¿ªÊ¼Ò»¸öHotfix: git flow hotfix start VERSION [BASENAME]

·¢²¼Ò»¸öHotfix: git flow hotfix finish VERSION

Git Flow GUI

ÉÏÃæ½²ÁËÕâô¶à£¬ÎÒÖªµÀ»¹ÓÐÈ˼Dz»×¡£¬ÄÇôÓÖÓÐÈË×ö³öÁËGUI ¹¤¾ß£¬ÄãÖ»ÐèÒªµã»÷ÏÂÒ»²½¾ÍÐУ¬¹¤¾ß°ïÄã¸ÉÕâЩÊ£¡£¡£¡

SourceTree

µ±ÄãÓÃGit-flow³õʼ»¯ºó£¬»ù±¾ÉÏÄãÖ»ÐèÒªµã»÷git flow²Ëµ¥Ñ¡Ôñstart feature, release»òÕßhotfix, ×öÍêºóÔÙ´ÎÑ¡Ôñgit flow²Ëµ¥£¬µã»÷Done Action. ÎÒÀÕ¸öÈ¥£¬ÎÒʵÔÚÏë²»µ½»¹ÓбÈÕâ¸ü¼òµ¥µÄÁË¡£

ĿǰSourceTreeÖ§³ÖMac, Windows, Linux.

ÕâôºÃµÄ¹¤¾ßÇëÎʶàÉÙÇ®ÄØ£¿ Ãâ·Ñ!!!!

Git flow for visual studio

¹ã´óVSµÄ¸£Òô

GitFlow for Visual Studio

   
3326 ´Îä¯ÀÀ       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