Git Version Control System

  1. The Basic Git Workflow
    1. Overview of the Git Workflow
      1. Typical Workflow Steps
        1. Edit Files
          1. Stage Changes
            1. Commit Changes
              1. Push to Remote
              2. Best Practices
                1. Frequent Commits
                  1. Descriptive Messages
                    1. Logical Grouping
                  2. Recording Changes to the Repository
                    1. Tracking File Changes
                      1. File Modification Detection
                        1. Change Types
                          1. Status Monitoring
                          2. Untracked vs Tracked Files
                            1. File Lifecycle
                              1. Adding to Version Control
                                1. Ignoring Files
                              2. Checking the Status of Files
                                1. Interpreting Status Output
                                  1. File State Indicators
                                    1. Color Coding
                                      1. Abbreviated Output
                                      2. Common Status Scenarios
                                        1. Clean Working Directory
                                          1. Modified Files
                                            1. Staged Changes
                                              1. Merge Conflicts
                                            2. Tracking New Files
                                              1. Adding Files to Version Control
                                                1. Individual File Addition
                                                  1. Directory Addition
                                                    1. Pattern Matching
                                                    2. Ignoring Files
                                                      1. .gitignore Patterns
                                                        1. Global Ignore Rules
                                                          1. Temporary Ignoring
                                                        2. Staging Modified Files
                                                          1. Staging Individual Files
                                                            1. Specific File Selection
                                                              1. Path Specifications
                                                              2. Staging All Changes
                                                                1. Bulk Staging Commands
                                                                  1. Selective Staging
                                                                  2. Staging Parts of Files
                                                                    1. Interactive Staging
                                                                      1. Patch Mode
                                                                        1. Hunk Selection
                                                                      2. Committing Changes
                                                                        1. Commit Structure
                                                                          1. Commit Message
                                                                            1. Author Information
                                                                              1. Timestamp
                                                                                1. Parent References
                                                                                2. Writing Good Commit Messages
                                                                                  1. Commit Message Conventions
                                                                                    1. Subject Line Guidelines
                                                                                      1. Body Content
                                                                                      2. Multi-line Commit Messages
                                                                                        1. Structure and Format
                                                                                          1. Detailed Descriptions
                                                                                            1. Issue References
                                                                                          2. Skipping the Staging Area
                                                                                            1. Direct Commit Commands
                                                                                              1. Automatic Staging
                                                                                                1. Limitations and Risks
                                                                                                2. Amending Commits
                                                                                                  1. Last Commit Modification
                                                                                                    1. Message Changes
                                                                                                      1. File Additions
                                                                                                    2. Viewing the Commit History
                                                                                                      1. Basic Log Output
                                                                                                        1. Default Format
                                                                                                          1. Commit Information
                                                                                                          2. Formatting Log Output
                                                                                                            1. Custom Formats
                                                                                                              1. Oneline Format
                                                                                                                1. Short Format
                                                                                                                  1. Full Format
                                                                                                                    1. Custom Format Strings
                                                                                                                    2. Graphical Representation
                                                                                                                      1. ASCII Art Graphs
                                                                                                                        1. Branch Visualization
                                                                                                                          1. Merge Visualization
                                                                                                                        2. Filtering Log History
                                                                                                                          1. By Author
                                                                                                                            1. Author Name Matching
                                                                                                                              1. Email Matching
                                                                                                                                1. Multiple Authors
                                                                                                                                2. By Date
                                                                                                                                  1. Date Range Filtering
                                                                                                                                    1. Relative Dates
                                                                                                                                      1. Specific Date Formats
                                                                                                                                      2. By File
                                                                                                                                        1. File Path Filtering
                                                                                                                                          1. Directory Filtering
                                                                                                                                            1. Rename Following
                                                                                                                                          2. Searching Commit Messages
                                                                                                                                            1. Text Pattern Matching
                                                                                                                                              1. Regular Expressions
                                                                                                                                                1. Case Sensitivity