Skip to content

Latest commit

 

History

History

local-config

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Git Local Config

Per Repo .gitconfig

Replace the following in a file called .gitconfig or .gitconfig-team at root of the project. Uncomment certain values.

  • Team Member Name
  • [email protected]
  • @gitHub-ID
  • ~/.gitignore_global
  • ~/.gitconfigs/.gitcommit.tmpl.txt
  • organization/repo.git
  • ~/path/to/repo/

Have you | Can you:

  • Create an empty .gitconfig in 📂./ root of repository
  • Copy as below.
  • Commit to {hackathon-repo-name}
  • Confer with team if all team member can commits.
[core]
    filemode = false
    logallrefupdates = true
    bare = false
    sharedRepository = true

# Edit
[includeIf "gitdir:~/path/to/repo/"]
    path = .gitconfig-team

[user]
    # Edit
    name = Team Member Name
    # Edit
    email = [email protected]
    # username = {GitHUBID}
	excludesfile = ~/.gitignore_global

[credential "Windows"]
	# helper = manager
	# helper = "C:/Program Files/Git/mingw64/bin/git-credential-manager-core.exe"

[credential "https://github.com"]
    # username = {GitHUBID}

[remote "origin"]
    # Edit
    url = [email protected]:organization/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

[branch "main"]
    remote = origin
    merge = refs/heads/main

[commit]
    template = ~/.gitconfigs/.gitcommit.tmpl.txt
    cleanup = default

# [rebase]
#    autoSquash = true
#    autoStash = true

[pull]
    # merging, not rebasing
    rebase = false  
    ff = only
    # ff = true # default, merge commits as needed, 
    # ff = false # always merge commits, more noise and activity 
    verbose = true

[push]
    default = current
    followTags = true

[fetch]
    prune = true
    pruneTags = true

[http]
	postBuffer = 524288000

[alias]
    co = checkout
    br = branch
    ci = commit
    st = status

{value}: remove {...} and add in replaced actual value. | .gitconfig-team needs testing and editing before deployment.


Commit Message Standards

Versioning

Alternative Versioning Conventions

.GitCommit Template

  • An @iPoetDev prefered template for commits is as follows.
  • Also can show from a command line approach More info needed

Configure template

  • Configure via 📂./.gitconfig.
  • Copy the commit template and story under [~/git-configs/.gitcommit.tmpl.txt] locally.
  • Download or copy the sample .gitcommit temaplate from ./.github/local-config/..
  • Editing and configuration this will allow VSCode Template to appear the in commit window.
{gitmoji} type: (scope) Short description

branch: main | branch
tag: v.
PREVIOUSLOG 2024.08.dd v0.0.1-0000
CHANGELOG 2024.08.dd v.0.0.1-0000

--- . ---

🔸 bump: .v
    - :
🔸 merge: .intent
    - :
🔸 add: .intent
    - :
🔸 modify: .intent
    - :
🔸 edit: .intent
    - :
🔸 remove: .intent
    - :

opens: #
wip: #
resolves: #
seeAlso: #

BREAKINGCHANGE: ✅ | ❌

---


Co-authored-by: @iPoetDev <[email protected]>

📂./.github/local-config/.gitcommit.tmpl.txt

Template Elements

  • Commit First Line: type: (scope) Short Description

  • {Keep Blank}

  • Branch: {main|branch-name}

  • Bump: {.v} & short reason for bump

  • Tag: v0.0.1-0000

  • PREVIOUSLOG 2024.08.dd v0.0.1-0000

  • CHANGELOG 2024.08.dd v0.0.1-0000

  • {Keep Blank}

  • --- . ---

  • {Full Description}

  • --- . ---

  • merge: {.intent}

    • :
  • add: {.intent}

    • :
  • modify: {.intent}

    • :
  • edit: {.intent}

    • :
  • remove: {.intent}

    • :
  • Connected Issues

    • opens: #
    • wip: #
    • resolves: #
    • see also: #
  • BREAKING CHANGE: ✅ | ❌

  • ---

  • {Keep Blank}

  • {Keep Blank}

  • Co-authored-by: @GitHub_ID 2023.08.dd

  • Co-authored-by: @GitHub_ID 2023.08.dd

IDE Commit Editing

  • Using VSCode extensions for standardised commit template design. The same template above can be applied via the settings.

Commit Message Editor

  • 🔗
    • Commit messages can be editable in a customizable form.
      • Standard Template
      • Dynamic Template
      • Editable Form Inputs
    • This helps you to use a standardized format.
    • Portable configuration to share settings with teammates.
    • A huge textarea on a dedicated tab.
    • Follows the Conventional Commits specification.

Building a Commit Message

1. The First Line: Commit Subject

  • <intention|type> [scope?][:?] <message>
    • intention|type: An emoji|text from the list.
    • scope: An optional string that adds contextual information for the scope of the change.
    • message: A brief explanation of the change.

2. Second Line: Blank

  • Separate between commit subject and commit body

3. Next Lines: Commit Body

Branch

Bump

Tag

ChangeLog: SemVer

ChangeLog: Add/Modify/Remove/Merge

Issues: Autolinks

Issues: Breaking Change

4. Commit Footer

Co-authors

Gitmoji | Commit Types

Add a bit of spark for and suggestions for commit activity/intentions.

  • 🎨 🎨 Improve structure / format of the code.
  • ⚡️ ⚡ Improve performance.
  • 🔥 🔥 Remove code or files.
  • 🐛 🐛 Fix a bug.
  • 🚑️ 🚑 Critical hotfix.
  • ✨ ✨ Introduce new features.
  • 📝 📝 Add or update documentation.
  • 🚀 🚀 Deploy stuff.
  • 💄 💄 Add or update the UI and style files.
  • 🎉 🎉 Begin a project.
  • ✅ ✅ Add, update, or pass tests.
  • 🔒️ 🔒 Fix security or privacy issues.
  • 🔐 🔐 Add or update secrets.
  • 🔖 🔖 Release / Version tags.
  • 🚨 🚨 Fix compiler / linter warnings.
  • 🚧 🚧 Work in progress.
  • 💚 💚 Fix CI Build.
  • ⬇️ ⬇️ Downgrade dependencies.
  • ⬆️ ⬆️ Upgrade dependencies.
  • 📌 📌 Pin dependencies to specific versions.
  • 👷 👷 Add or update CI build system.
  • 📈 📈 Add or update analytics or track code.
  • ♻️ ♻️ Refactor code.
  • ➕ ➕ Add a dependency.
  • ➖ ➖ Remove a dependency.
  • 🔧 🔧 Add or update configuration files.
  • 🔨 🔨 Add or update development scripts.
  • 🌐 🌐 Internationalization and localization.
  • ✏️ ✏️ Fix typos.
  • 💩 💩 Write bad code that needs to be improved.
  • ⏪️ ⏪ Revert changes.
  • 🔀 🔀 Merge branches.
  • 📦️ 📦 Add or update compiled files or packages.
  • 👽️ 👽 Update code due to external API changes.
  • 🚚 🚚 Move or rename resources (e.g.: files, paths, routes).
  • 📄 📄 Add or update license.
  • 💥 💥 Introduce breaking changes.
  • 🍱 🍱 Add or update assets.
  • ♿️ ♿ Improve accessibility.
  • 💡 💡 Add or update comments in source code.
  • 🍻 🍻 Write code drunkenly.
  • 💬 💬 Add or update text and literals.
  • 🗃️ 🗃️ Perform database related changes.
  • 🔊 🔊 Add or update logs.
  • 🔇 🔇 Remove logs.
  • 👥 👥 Add or update contributor(s).
  • 🚸 🚸 Improve user experience / usability.
  • 🏗️ 🏗️ Make architectural changes.
  • 📱 📱 Work on responsive design.
  • 🤡 🤡 Mock things.
  • 🥚 🥚 Add or update an easter egg.
  • 🙈 🙈 Add or update a .gitignore file.
  • 📸 📸 Add or update snapshots.
  • ⚗️ ⚗️ Perform experiments.
  • 🔍️ 🔍 Improve SEO.
  • 🏷️ 🏷️ Add or update types.
  • 🌱 🌱 Add or update seed files.
  • 🚩 🚩 Add, update, or remove feature flags.
  • 🥅 🥅 Catch errors.
  • 💫 💫 Add or update animations and transitions.
  • 🗑️ 🗑️ Deprecate code that needs to be cleaned up.
  • 🛂 🛂 Work on code related to authorization, roles and permissions.
  • 🩹 🩹 Simple fix for a non-critical issue.
  • 🧐 🧐 Data exploration/inspection.
  • ⚰️ ⚰️ Remove dead code.
  • 🧪 🧪 Add a failing test.
  • 👔 👔 Add or update business logic.
  • 🩺 🩺 Add or update healthcheck.
  • 🧱 🧱 Infrastructure related changes.
  • 🧑‍💻 🧑‍💻 Improve developer experience.
  • 💸 💸 Add sponsorships or money related infrastructure.
  • 🧵 🧵 Add or update code related to multithreading or concurrency.
  • 🦺 🦺 Add or update code related to validation.