Date post: | 14-Jun-2015 |
Category: |
Technology |
Upload: | collabnet |
View: | 368 times |
Download: | 0 times |
1 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
Don’t Let Git Get Your Goat!Practical ways to master Git and avoid common problems
Steve ElsemoreSr. Software EngineerTuesday, July 8, 2014
2 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
Leader• ALM, SCM, cloud, agile• Enterprise agile experts- 17,000+ ScrumMasters trained
• Transformed 100s of largest, most respected IT orgs
Pioneer• Creator of Subversion (SVN), GitEye• Embrace Git – working on Gerrit project, extensive training & expertise especially in
enterprise deployments • CloudForge development platform for small projects,
enterprise workgroups• TeamForge enterprise ALM platform- SCM, Agile, DevOps
Proven Scale• 10,000+ customers, 6M+ users
Who is CollabNet?
3 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
Steve Elsemore
Steve Elsemore is a Sr. Software Engineer at CollabNet.
He works on Subclipse, GitEye and the CollabNet Desktop – Eclipse Edition.
About Our Presenter
4 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Git advantages/disadvantages
• Introduction to CollabNet GitEye
• GitEye demo and problem solving
• Questions and wrap up
Agenda (what you will learn today)
5 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Git is decentralized
•Work offline
• Branching and merging is fast and easy
• Data redundancy can be a good thing
• Gerrit
• There is great flexibility for establishing workflows
• Git adoption is growing
Why Git Is Great
6 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Git has a complex information model– Subversion
Files, working copy, repository, versions, branches, tags
– GitFiles, working directory, index, local repository, remote repository, remotes, commits, branches, stash . . .
• Git command line is complicated and inconsistent– “git pull” = “git fetch” + “git merge”– Question: “git branch” + “git checkout”= ?– Answer: “git checkout –b”
• It is too easy to make a serious mistake– git push origin fix:stable
Pushes local branch “fix” to remote branch “stable”
– git push origin fix :stablePushes local branch “fix” to remote branch “fix” and deletes remote branch “stable”
Why Git Can Get Your Goat
7 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Auditing and complianceHistory can be rewritten!
• Security controlRelies on native file system read/write access
• DecentralizedNo “golden” or “blessed” master repository
• Coexisting with SubversionNot all teams/projects use Git
• ComplexityEasy to make mistakes and cause harm!
The Challenges of Enterprise Git
8 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Auditing and compliance– History protection– Tamper-proof auditing– Full change rollback, even for History Rewrite (push –f)
• Security control– Role-based access control – Fine-grained permissions down to the branch level– Authentication and encryption
• Centralized repository management– Always a master repository!– Easy to create and clone Git repositories using TeamForge– Easy to synchronize with satellite repositories
• Coexisting with alternate SCM solutions– Git and Subversion repositories can run in parallel, even in the same project– Common management and security frameworks for Git and Subversion repositories
• Overcoming Git’s complexity– Powerful graphical user interface– Fully integrated with TeamForge’s ALM toolset
How CollabNet Makes Git Ready for the Enterprise
9 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• GitEye is a free graphical Git client
• Visibility into the state of your workspace
• Understand your repository history
• No more command line!
Welcome to CollabNet GitEye
10 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
Command Linegit push origin fix:stable(Pushes local branch “fix” to remote branch “stable”)
vs.git push origin fix :stable(Pushes local branch “fix” to remote branch “fix” and deletes remote branch “stable”)
GitEye Helps You Avoid Mistakes
GitEye GUI
11 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
User Poll
12 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
GitEye Demo
13 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Performing Git tasks from GitEye is simple and intuitive.
• Gerrit requires 1 commit/change. For multiple commits that require review, amend the previous commit.
• If you forget to do the above, use interactive rebase to fix your commits. GitEye makes this easier.
• GitEye is tightly integrated with TeamForge and CloudForge,– http://www.collab.net/giteyeapp
• Take a Free Trial of CloudForge or TeamForge – www.cloudforge.com/pricing or www.collab.net/teamforge-free-trial
GitEye Demo Take Aways
14 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
User Poll
15 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• Questions?
• List of how-to resources will be emailed
• Contact Steve Elsemore– [email protected]
Wrap up
Goodbye! Thanks for attending.
16 Copyright ©2014 CollabNet, Inc. All Rights Reserved.
• GitEye Downloadhttp://www.collab.net/downloads/giteye
• BlogsGit and Agile Development with CloudForge and TeamForge
http://blogs.collab.net/uncategorized/git-agile-development-cloudforge
Linking TeamForge Commits and Artifactshttp://blogs.collab.net/subversion/linking-teamforge-commits-and-artifacts
TeamForge for Gerrit – Ready for the Enterprisehttp://blogs.collab.net/cloudforge/teamforge-for-gerrit-enterprise
GitEye and Interactive Rebasehttp://blogs.collab.net/cloudforge/giteye-and-interactive-rebase
Gerrit Dependency Management with GitEyehttp://blogs.collab.net/cloudforge/gerrit-dependency-management-with-giteye
Resources