Git Version Control System

  1. Branching in Git
    1. Understanding Branches
      1. Definition and Purpose of Branches
        1. Parallel Development Lines
          1. Feature Isolation
            1. Experimental Work
            2. Branch Naming Conventions
              1. Descriptive Names
                1. Hierarchical Naming
                  1. Team Standards
                  2. The HEAD Pointer
                    1. Current Branch Reference
                      1. Symbolic Reference
                        1. HEAD Movement
                          1. HEAD vs Branch Pointers
                            1. Branch Reference Updates
                              1. Pointer Relationships
                                1. Commit Navigation
                                2. Detached HEAD State
                                  1. Causes and Scenarios
                                    1. Working in Detached State
                                      1. Recovering from Detached HEAD
                                  2. Branch Management
                                    1. Creating a New Branch
                                      1. Naming Branches
                                        1. Convention Guidelines
                                          1. Descriptive Naming
                                            1. Special Characters
                                            2. Creating from Specific Commits
                                              1. Commit Hash References
                                                1. Tag References
                                                  1. Relative References
                                                2. Switching Branches
                                                  1. Switching to Existing Branches
                                                    1. Clean Working Directory
                                                      1. Uncommitted Changes
                                                        1. Conflict Resolution
                                                        2. Creating and Switching Simultaneously
                                                          1. Single Command Operations
                                                            1. Checkout vs Switch
                                                          2. Listing Branches
                                                            1. Local Branches
                                                              1. Current Branch Indication
                                                                1. Branch Listing Format
                                                                2. Remote Branches
                                                                  1. Remote Tracking Branches
                                                                    1. Origin References
                                                                      1. Multiple Remotes
                                                                    2. Deleting Branches
                                                                      1. Deleting Local Branches
                                                                        1. Safe Deletion
                                                                          1. Force Deletion
                                                                            1. Merged Branch Checks
                                                                            2. Deleting Remote Branches
                                                                              1. Push Deletion
                                                                                1. Remote Reference Cleanup
                                                                              2. Renaming Branches
                                                                                1. Renaming Local Branches
                                                                                  1. Current Branch Renaming
                                                                                    1. Other Branch Renaming
                                                                                    2. Renaming Remote Branches
                                                                                      1. Push and Delete Strategy
                                                                                        1. Upstream Updates
                                                                                      2. Tracking Branches
                                                                                        1. Upstream Branches
                                                                                          1. Remote Branch Relationships
                                                                                            1. Tracking Configuration
                                                                                            2. Setting Upstream Branches
                                                                                              1. Manual Configuration
                                                                                                1. Automatic Setup
                                                                                                  1. Push Configuration