With git

1,626 views

Published on

Published in: Technology
  • Be the first to comment

With git

  1. 1. development work flow with GitSetucoCMS @akitsukada
  2. 2. case:Local work
  3. 3. VCS1 of the three major affairs formodern software development!Version ControlTestAutomation
  4. 4. DistributedGit is different fromcenterization VCS, e.g.SVN,CVS.svn checkout repos git clone repossvn commit git commit && git pushsvn update git pull
  5. 5. Safety for ReposWe have local repositories, socommit has no effect for others. John : svn commit (include BUGS!) Mike : svn update (with bugs, no notices)Git is very affable to chickens :)John : git commit (include BUGS) Mike : git pull (from safe repos) John : I fix bugs! :) John : git push
  6. 6. Nice small commitEach change has independentmeaning, should be separated.John : edit a.txt b.txt c.txt d.txt ...John : svn commit (all files)Mike : edit a.txt b.txt c.txt d.txt ...Mike : git add a.txtMike : git commit (only a.txt)Mike : git add b.txt c.txt ...Mike : git commit (b.txt, c.txt)
  7. 7. Very small commitGit can make more smaller commit.In 1 file’s changes.Mike : edit a.txtMike : git add -p ... demo ...Git has wonderful flexibility forcommits. Besides, we edit pastcommits freely too.
  8. 8. Git repos worldGit has 5 areas for tracking.- local - untrack -------------------------------------- track -------------------------------------- modified -------------------------------------- index --------------------------------------- remote - remote --------------------------------------Index is also called “Stage” or “Cache”.
  9. 9. FYI, if SVN...SVN has no index.- local - untrack -------------------------------------- track -------------------------------------- modified --------------------------------------- remote - remote --------------------------------------
  10. 10. Flexibility by Indexuntrack ----------------------------------------track ----------------------------------------modified ----------------------------------------index ----------------------------------------remote ----------------------------------------
  11. 11. FYI, if SVN.untrack ----------------------------------------track ----------------------------------------modified ----------------------------------------remote ----------------------------------------
  12. 12. Other many utilsprivate branches, merge,edit commits(rebase),revert, log tracking,blaming, reflog, cherry-pic,tags, etc...
  13. 13. #SCMBC SCM Boot Camp in Tokyo 30.7.2011 @ORACLEhttp://kokucheese.com/event/index/14062/
  14. 14. case: Group work(SetucoCMS)
  15. 15. BranchesGit branches are also useful.Internal structure of git reposmaster -----------------------------------branch1 -----------------------------------branch2 -----------------------------------... -----------------------------------branches form a commits tree.
  16. 16. SetucoCMS treeGit repos branches:master - main workspace has always newest commitissXXX - topic branch for development, bugfix, for masterX.X - release branch, has bug fix tags
  17. 17. SetucoCMS treeGit repos tags:X.X.X - bug fixes or refactorings on release branch X.X
  18. 18. Tree examplebranchesmaster -*------*--------*------- *:commit / /iss123 *--* / / 1.0 *------ ---- --- 1.0.1 1.0.2 :tag / iss124 *--*--* iss125 *----Each branch has own history, and wecan merge them, delete, add, get,push or pull at any time.
  19. 19. Repeal of stageI decided to do away with Stagebranch.Stage branch’s advantages - careful confirmation - modify safelyDisadvantages - long about work - possibillity of mistake - difficult to leaning git
  20. 20. Setuco without stageLet’s read wiki...How to drive our git repos http://bit.ly/setuco_drivegitHow to release SetucoCMS http://bit.ly/setuco_release

×