# Working With Git

- [What is Git Branch?](https://gitdeveloperguide.solomonmarvel.com/working-with-git/what-is-git-branch.md): In Git, branches are an essential feature that allow you to diverge from the main line of development and work on different features, bug fixes, or experiments without affecting the main codebase.
- [Creating and Switching Between Branches](https://gitdeveloperguide.solomonmarvel.com/working-with-git/creating-and-switching-between-branches.md)
- [Merging Branches and Resolving Conflicts](https://gitdeveloperguide.solomonmarvel.com/working-with-git/merging-branches-and-resolving-conflicts.md): Merging branches is a fundamental concept in Git that allows developers to combine changes from different branches into a single branch.
- [Best Practices for Branch Management](https://gitdeveloperguide.solomonmarvel.com/working-with-git/best-practices-for-branch-management.md): Branch management is a crucial aspect of any software development workflow as it allows for parallel development, isolation of features, and controlled releases.
- [Git Workflows](https://gitdeveloperguide.solomonmarvel.com/working-with-git/git-workflows.md): Git workflows provide a set of rules and guidelines for using branches effectively in a collaborative environment. Here are two popular Git workflows
- [Git Log](https://gitdeveloperguide.solomonmarvel.com/working-with-git/git-log.md): Git provides a powerful command called git log that allows you to visualise the branch history and explore the commits made in a repository
- [Git Stash](https://gitdeveloperguide.solomonmarvel.com/working-with-git/git-stash.md): Git stash provides a convenient way to save your work in progress and retrieve it later when needed.
- [Working with Git - Practice Scenarios](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios.md)
- [Creating and Switching Between Branches](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/creating-and-switching-between-branches.md): In software development, using branches is a common practice to isolate different features or bug fixes from the main codebase
- [Merging Branches and Resolving Conflicts](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/merging-branches-and-resolving-conflicts.md): Let's illustrate a scenario where two branches have conflicting changes
- [Branching Strategies in a Team Project](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/branching-strategies-in-a-team-project.md): In a collaborative software development project, it is crucial to have a well-defined branching strategy to ensure smooth collaboration, efficient development, and effective release management.
- [Rolling Back to a Previous Version](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/rolling-back-to-a-previous-version.md)
- [Experimenting with Feature Branches](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/experimenting-with-feature-branches.md)
- [Working with Stash](https://gitdeveloperguide.solomonmarvel.com/working-with-git/working-with-git-practice-scenarios/working-with-stash.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gitdeveloperguide.solomonmarvel.com/working-with-git.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
