Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to git and stash


Published on

  • Be the first to comment

Introduction to git and stash

  1. 1. Introduction to GIT and Stash PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78
  3. 3. Git was created by Linus Torvalds for work on the Linux kernel ~2005
  4. 4. I'm an egoistical bastard, and I name all my projects after myself. First 'Linux', now 'git'. LINUS TORVALDS ” “ Git means “unpleasent person”
  5. 5. HISTORY What was Git designed for? • Take Concurrent Versions System (CVS) as an example of what not to do; if in doubt, make the exact opposite decision • Support a distributed workflow • Very strong safeguards against corruption, either accidental or malicious
  6. 6. HISTORY • Development began on 3 April 2015 • The first version of git was just ~1300 lines of code • The project was announced on 6 April and became self-hosting as of 7 April • The first merge of multiple branches was done on 18 April. • On 29 April, the nascent Git was benchmarked recording patches to the Linux kernel tree at the rate of 6.7 per second. • On 16 June Git managed the kernel 2.6.12 release. • Torvalds turned over maintenance on 26 July 2005 to Junio Hamano • Hamano was responsible for the 1.0 release on 21 December 2005, and remains the project's maintainer. Milestones
  7. 7. 2014 - Git #1 Code Management Tool. Git has finally surpassed Subversion to be the top code management tool used by software developers. ECLIPSE COMMUNITY SURVEY RESULTS 2014 ” “
  8. 8. 2015 - Git is #1 Code Management Tool for the Enterprise
  10. 10. Git is a Distributed Version Control System
  11. 11. HISTORY • Everyone has the complete history • Everything is done offline • No central authority • Changes can be shared without a server Distributed means
  12. 12. Centralized VC vs. Distributed VC
  13. 13. WHAT IS GIT • Allows users to work productively when not connected to a network. • Makes most operations much faster. • Allows private work, so users can use their changes even for early drafts they do not want to publish. • Avoids relying on one physical machine as a single point of failure. Why distributed VC?
  14. 14. Git is loved by developers
  15. 15. WHAT IS GIT • Personal Benefits • Accelerate commits • Reduce latency issues • Full local history • Easily switch branches Why do developers love Git?
  16. 16. WHAT IS GIT • Team Benefits • Flexible Workflows • Cheap, frequent branching • No merge hassles Why do developers love Git?
  17. 17. Git is feared by IT Managers
  18. 18. WHAT IS GIT • Git is not secure • Git is too complex for my project • Git is oriented to open-source/community development • Git is a hassle to be managed • Git does not have a good UI • Migrating from other VCS to Git is a pain What do IT Managers think about Git
  19. 19. Git can and should be used by Businesses and Enterprises
  20. 20. Atlassian One-stop Git shop Git Repository Management for Enterprise Teams Free Git Code Hosting for Small Teams Free Git Desktop client for Mac or Windows
  22. 22. Git Repository Management for Enterprise Teams
  23. 23. Git Repository Management for Enterprise Teams Simple repository management On-premise: full control over environment Security and access control Kick-ass user interface Integrates with JIRA and LDAP Social code collaboration Extensible: full REST API
  24. 24. Who is using Stash?
  25. 25. Git & Stash v2 Stash provides an interface for simple git management
  26. 26. Stash is built for the Enterprise Security & Access Control Integration Collaborative Development Visibility
  27. 27. Deployment Runs on your servers, OS & database Full copy of source code Your user-management LDAP, Active Directory DIY Backup options Active clustering
  28. 28. Security and Access Control Enterprise-level Security Glob al Proj ect Reposit ory Bran ch 4 Permission levels
  29. 29. Visibility Full control over production code History accessible via the browser “One source of truth” Centralized Management
  30. 30. Visibility Customized branching model Side-by-side diffs Accountabilit y through ‘Blame’ Code Traceability
  31. 31. Collaborative Development 10 10 10 Branch Discuss Merge
  32. 32. Collaborative Development Changes the way developers collaborate Easily merge from source to destination branch Pull Requests
  33. 33. Collaborative Development Comments and discussions become part of the workflow View changes using diffs Code Review
  34. 34. Collaborative Development With one-click approve, decline or merge changes Flexibility: fit into any development workflow Approval Process
  35. 35. Collaborative Development Tailor your workflow Guarantee code quality with merge checks Conditional Merges
  36. 36. Integration Create a branch directly from the JIRA issue Push-button branch names Work from high quality code Seamless Development
  37. 37. Integration Access your source and progress from related issues in JIRA Navigate from issue to source in a single click Visibility from issue to deployment Development Traceability
  38. 38. Integration Contextual awareness of JIRA issues and Bamboo builds in Stash Build and issue details at your fingertips Development Traceability
  39. 39. Extensibility Featured Add-ons APIs and Add-ons
  40. 40. Extensibility Hooks Customize workflows with Git hooks Write hooks using a hooks API Create and manage hooks for each repository within the UI
  41. 41. Stash Pricing Starter license with proceeds going to Room to Read Perpetual license Free first year maintenance Source code included
  42. 42. Thank you! PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78