Files
aperonight/docs/branch-naming.md
2025-08-28 15:11:42 +02:00

6.0 KiB
Executable File

Cette conversation a été générée avec Duck.ai (https://duck.ai) à l'aide du modèle Mistral Small 3 d'Mistral AI. Les chats IA peuvent afficher des informations inexactes ou offensantes (voir https://duckduckgo.com/duckai/privacy-terms pour en savoir plus).

====================

Message 1 sur 2 de l'utilisateur - 16/08/2025, 08:06:58: In a git Ruby on Rails web project, how to name branches?

Mistral Small 3: Naming branches in a Git Ruby on Rails web project (or any Git project) is an important aspect of maintaining a clean and understandable repository. Here are some best practices for naming branches:

  1. Use Descriptive Names: The branch name should clearly describe the purpose or the feature being worked on. This helps other developers understand the context of the branch at a glance.

  2. Use Hyphens or Underscores: Use hyphens (-) or underscores (_) to separate words in the branch name. This makes the name more readable.

  3. Prefix with the Type of Change: Prefix the branch name with a type indicator such as feature, bugfix, hotfix, release, chore, refactor, docs, etc. This helps in categorizing the branches.

  4. Keep It Short but Meaningful: While being descriptive, try to keep the branch name short to avoid clutter.

  5. Avoid Special Characters: Stick to alphanumeric characters and hyphens/underscores. Avoid using special characters like @, #, $, etc.

  6. Use Lowercase Letters: Consistently use lowercase letters to avoid case sensitivity issues.

Here are some examples of well-named branches:

  • feature/user-authentication
  • bugfix/login-issue
  • hotfix/critical-bug
  • release/v1.2.0
  • chore/update-dependencies
  • refactor/user-model
  • docs/update-readme

Example Workflow

  1. Creating a New Feature Branch:

    git checkout -b feature/user-authentication
    
  2. Creating a Bugfix Branch:

    git checkout -b bugfix/login-issue
    
  3. Creating a Hotfix Branch:

    git checkout -b hotfix/critical-bug
    
  4. Creating a Release Branch:

    git checkout -b release/v1.2.0
    
  5. Creating a Chore Branch:

    git checkout -b chore/update-dependencies
    
  6. Creating a Refactor Branch:

    git checkout -b refactor/user-model
    
  7. Creating a Docs Branch:

    git checkout -b docs/update-readme
    

By following these guidelines, you can maintain a well-organized and understandable branch structure in your Git repository, making collaboration and code management much easier.


Message 2 sur 2 de l'utilisateur - 16/08/2025, 08:08:31: Is it a good practice to use main, develop and functionnal names for branches?

Mistral Small 3: Using main, develop, and feature branches is a common and widely accepted practice in Git workflows, particularly in the context of the Git Flow or GitHub Flow methodologies. Here's a breakdown of these branches and why they are useful:

  1. main Branch:

    • Purpose: The main branch (or sometimes called master) is the stable branch that always contains the production-ready code. It represents the current state of the project that is deployed to production.
    • Usage: This branch should only contain code that has been thoroughly tested and is ready for release. It is typically protected to prevent direct commits and requires pull requests for changes.
    • Example: git checkout main
  2. develop Branch:

    • Purpose: The develop branch is used for integrating features and preparing for the next release. It serves as a staging area for features that are in progress but not yet ready for production.
    • Usage: Developers merge their feature branches into develop for integration testing. This branch can be less stable than main but should still be in a reasonably good state.
    • Example: git checkout develop
  3. Feature Branches:

    • Purpose: Feature branches are used to develop new features, bug fixes, or any other isolated work. Each feature branch is created from develop and merged back into develop once the work is complete.
    • Usage: These branches allow for parallel development without interfering with the stability of develop or main. They are typically named descriptively, as discussed earlier (e.g., feature/user-authentication, bugfix/login-issue).
    • Example: git checkout -b feature/user-authentication

Example Workflow

  1. Create a Feature Branch:

    git checkout develop
    git pull origin develop
    git checkout -b feature/user-authentication
    
  2. Develop the Feature:

    • Make changes, commit them, and push the branch to the remote repository.
    git add .
    git commit -m "Add user authentication feature"
    git push origin feature/user-authentication
    
  3. Merge the Feature Branch into develop:

    • Once the feature is complete and tested, create a pull request to merge it into develop.
    git checkout develop
    git pull origin develop
    git merge feature/user-authentication
    git push origin develop
    
  4. Prepare for Release:

    • When preparing for a new release, create a release branch from develop.
    git checkout -b release/v1.2.0
    
  5. Merge Release Branch into main:

    • After testing the release branch, merge it into main and tag the release.
    git checkout main
    git merge release/v1.2.0
    git tag -a v1.2.0 -m "Release version 1.2.0"
    git push origin main --tags
    

Benefits

  • Stability: The main branch remains stable and always contains production-ready code.
  • Integration: The develop branch allows for continuous integration of features, making it easier to test and integrate new work.
  • Isolation: Feature branches isolate work, allowing multiple developers to work on different features simultaneously without conflicts.

Using main, develop, and feature branches is a good practice as it helps maintain a clean, organized, and manageable repository, facilitating better collaboration and code management.