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
      3. git stash
    7. Inspecting a repository
      1. git status
      2. git log
    8. 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
    9. 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
    10. 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
                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
                  Search

                  Getting Git right, with tutorials, news and tips.

                  Git

                  Git is a free and open source version control system, originally created by Linus Torvalds in 2005. Unlike older centralized version control systems such as SVN and CVS, Git is distributed: every developer has the full history of their code repository locally. This makes the initial clone of the repository slower, but subsequent operations such as commit, blame, diff, merge, and log dramatically faster.

                  Git also has excellent support for branching, merging, and rewriting repository history, which has lead to many innovative and powerful workflows and tools. Pull requests are one such popular tool that allow teams to collaborate on Git branches and efficiently review each others code. Git is the most widely used version control system in the world today and is considered the modern standard for software development.

                  Get started with Git

                  Did you know...

                  HEAD

                  Definition: Git’s way of referring to the current snapshot. Internally, the git checkout command simply updates the HEAD to point to either the specified branch or commit. When it points to a branch, Git doesn't complain, but when you check out a commit, it switches into a “detached HEAD” state.

                  See All References