Don't Let Git Get Your Goat!

Post on 14-Jun-2015

365 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Practical ways to master Git and avoid common problems. A webinar presented by Steven Elsemore, CollabNet's Sr. Software Engineer.

Transcript

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– selsemore@collab.net

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

top related