1. Learn Git
    1. Learn Git with Bitbucket Cloud
      1. Create a Git repository
      2. Copy your Git repository and add files
      3. Pull changes from your Git repository on Bitbucket Cloud
      4. Use a Git branch to merge a file
    2. Learn about code review in Bitbucket Cloud
      1. Fork a teammate's repository
      2. Copy your fork and make a change to the repository
      3. Create a pull request
  2. Getting Started
    1. What is version control
      1. Benefits of version control
    2. What is Git
      1. Performance
      2. Security
      3. Flexibility
      4. Version control with Git
    3. Why Git for your organization
      1. Git for developers
      2. Git for marketing
      3. Git for product management
      4. Git for designers
      5. Git for customer support
      6. Git for human resources
      7. Git for anyone managing a budget
    4. Install Git
      1. Install Git on Mac OS X
      2. Install Git on Windows
      3. Install Git on Linux
    5. Setting up a repository
      1. git init
      2. git clone
      3. git config
    6. Saving changes
      1. git add
      2. git commit
    7. Git Stash
      1. .gitignore
        1. Inspecting a repository
          1. git status
          2. git log
        2. Viewing old commits
          1. Undoing Changes
            1. git checkout
            2. git revert
            3. git reset
            4. git clean
          2. Rewriting history
            1. git commit --amend
            2. git rebase
            3. git rebase -i
            4. git reflog
        3. Collaborating
          1. Syncing
            1. git remote
            2. git fetch
            3. git pull
            4. git push
          2. Making a Pull Request
            1. How it works
            2. Example
            3. Where to go from here
          3. Using Branches
            1. git branch
            2. git checkout
            3. git merge
          4. Comparing Workflows
            1. Centralized Workflow
            2. Feature Branch Workflow
            3. Gitflow Workflow
            4. Forking Workflow
        4. Migrating to Git
          1. SVN to Git - prepping for the migration
            1. For administrators
            2. Basic Git commands
            3. Git Migration Tools
            4. For developers
          2. Migrate to Git from SVN
            1. Prepare
              1. Convert
                1. Synchronize
                  1. Share
                    1. Migrate
                      1. Perforce to Git - why to make the move
                        1. Migrating from Perforce to Git
                        2. Advanced Tips
                          1. Advanced Git Tutorials
                            1. Merging vs. Rebasing
                              1. Conceptual Overview
                              2. The Golden Rule of Rebasing
                              3. Workflow Walkthrough
                              4. Summary
                            2. Reset, Checkout, and Revert
                              1. Commit-level Operation
                              2. File-level Operations
                              3. Summary
                            3. Advanced Git log
                              1. Formatting Log Output
                              2. Filtering the Commit History
                              3. Summary
                            4. Git Hooks
                              1. Conceptual Overview
                              2. Local Hooks
                              3. Server-side Hooks
                              4. Summary
                            5. Refs and the Reflog
                              1. Hashes
                              2. Refs
                              3. Packed Refs
                              4. Special Refs
                              5. Refspecs
                              6. Relative Refs
                              7. The Reflog
                              8. Summary
                            6. Git LFS
                            YEARS OF GIT20132005201120152007

                            10 years ago Linus Torvalds started writing code for a new distributed version control system on a Sunday and only a mere few days later, the world was given the gift of Git. Git has helped teams big and small work faster while becoming more distributed and has left its mark with cheap local branching, easier code review, flexible work flows and so much more. Over the last decade Git has seen exponential growth and has become the most popular version control system today. Take a walk down memory lane to see how Git has evolved over the years and join us in celebrating the history of Git.


                            April 2005

                            Git project announced & becomes self-hosting

                            Created by Linus Torvalds

                            April 2005

                            1st merge of multiple branches

                            July 2005

                            Junio Hamano takes over maintenance of Git project

                            December 2005

                            Git 1.0 released

                            May 2007

                            Linus Torvalds gives Git talk at Google

                            February 2008

                            Original pull request

                            April 2008

                            GitHub site launched

                            Founded by Tom Preston-Werner, Chris Wanstrath, and PJ Hyett

                            July 2008

                            Gist announced

                            "Git Download" Keyword Search Trend over Time

                            200520072009201120132015Keyword Searches20406080100

                            January 2010

                            Git installations skyrocket

                            April 2010

                            Sourcetree founded by Steve Streeting

                            August 2010

                            Pull requests 2.0

                            October 2010

                            Git-annex launches

                            Large Git file management without checking file contents into Git

                            January 2011

                            Git installations surpass all other version control systems

                            September 2011

                            Gitlab founded

                            Git MeetUp Groups around the World

                            • 35Groups
                            • 6,640Members
                            • 806Interested
                            • 33Cities
                            • 19Countries

                            October 2011

                            Bitbucket adds support for Git

                            May 2012

                            Atlassian releases Stash 1.0

                            May 2012

                            Bitbucket exceeds half a million repos managed

                            Git Usage by Developers over Time


                            March 2014

                            Git 2.0 released

                            June 2014

                            Developers usage of Git surpasses SVN

                            Yearly Eclipse Community Survey calls out Git as the #1 Code management tool

                            March 2015

                            Snippets launch