• Stars
    star
    202
  • Rank 177,931 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Build your commit message without touching or editing your code!

Version Shellcheck

Kommit

Create more detailed commit messages without committing!

asciicast

While we were looking at this lovely project, we have seen some, ehmmm, downsides of it. Why not? let’s keep safe the source code and collect all the information somewhere else?

Idea

  • Commit often, Commit more!
  • A mini shell tool for storing messages: git kommit -m "Fixes a bug in XXX function"
  • Store your commit-extra information in to a hidden file .git/kommit-message
  • Append the .git/kommit-message to the original commit message in prepare-commit-msg hook and delete .git/kommit-message file after commit.

Usage

usage: git-kommit [-m <msg> | -t <msg> | -c | -e | -s | -i | -r | -h]

    -m <msg>        append message
    -t <msg>        append message with timestamp
    -c              check if hook installed ?
    -e              edit messages
    -s              show current message(s)
    -i              install kommit hook to .git/hooks/prepare-commit-msg
    -r              remove kommit hook, delete .git/hooks/prepare-commit-msg
    -h              print this message

Basic usage is shown below:

  • git kommit -m "Message" : Append new message.
  • git kommit -t "Message" : Append new message with timestamp.
  • git kommit -s : Show current messages
  • git kommit -e : Edit messages. This uses $EDITOR environment variable.

Sample Output

    # Your commit title

    - Your note...
    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
    eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
    enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat.

Install: Kommit

OS X Users can install via Homebrew.

brew install kommit

You can download or get it via curl. Go to your desired bin/ folder or go somewhere which is in the $PATH:

cd ~/bin/          # example bin/ folder
curl -O https://raw.githubusercontent.com/bilgi-webteam/kommit/master/bin/git-kommit
chmod +x git-kommit

Usage

Super easy;

  • git kommit -i : Installs hook.
  • git kommit -r : Removes hooks.
  • git kommit -c : Checks if the hooks is installed.
  • git kommit -b : Shows bash completion snippet
  • git kommit -m "Message" : Append new message.
  • git kommit -t "Message" : Append new message with timestamp.
  • git kommit -s : Show current messages.
  • git kommit -e : Edit messages. This uses $EDITOR environment variable.

Don’t forget, git-kommit way only works under git folder. To have the bash completion snippet; use git kommit -b and grab the code and add it to your shell environment.

Environment Variables

Kommit checks $KOMMIT_BULLET and $KOMMIT_WRAP_AT variables. Default bullet style for message is - You can change this via;

KOMMIT_BULLET="*" git kommit -m "Hello World"   # or,

export KOMMIT_BULLET="*"                    # define it in your .bashrc

Also, default value for wrap text is: 72 you can change it via;

KOMMIT_WRAP_AT=60 git kommit -m "Hello World"   # or,

export KOMMIT_WRAP_AT=60                    # define it in your .bashrc

IDE Integrations

Change Log

2016-03-05

  • You don’t need to pop the editor. git commit -m "message" will also insert the kommit’s messages. PR8

2016-02-10

  • Switched to git-kommit filename, full integration with git

2016-01-22

  • Added: kommit -t feature
  • Added: You don’t need to install hook, it installs it self in the first message addition.
  • Added: Bash completion snippet

2016-01-20

  • MIT license added.
  • Contributers list added.
  • IDE integration packages list added.

2016-01-19

  • New feature; edit messages! kommit -e
  • New feature; check hook kommit -c

2016-01-16

  • Release v0.1.0

2016-01-15

  • Initial commit!

Contribute

Feel free to send your PR’s!

  1. fork (https://github.com/bilgi-webteam/kommit/fork)
  2. Create your branch (git checkout -b my-features)
  3. commit yours (git commit -am 'added killer options')
  4. push your branch (git push origin my-features)
  5. Than create a new Pull Request!

Contributers

Other contributers can be found here.

License

This project is licensed under MIT.

More Repositories

1

git-puf-noktalari

Günlük hayatta kullandığımız revizyon kontrol sistemi GIT ile ilgili küçük ipuçlarını anlatan yeni mini kitabım.
Ruby
424
star
2

ruby101-kitap

Türkçe Ruby kitabı
Ruby
196
star
3

dinozorus

1990'lı yıllara damgasını vuran efsane televizyon oyunu Dinozorus. Amiga 1200 - AGA
Assembly
128
star
4

turk-scene-tarihi

80'lerin ortasında başlayan, günümüz bilgisayar kültürünün neredeyse başlangıç noktası olan Türk SCENE/DEMOSCENE tarihçesi
85
star
5

lyk-2017

Linux Yaz Kampı 2017'de anlattığım konular.
41
star
6

django2-project-template

Django project/application starter for lazybones :)
Python
40
star
7

statoo

`statoo` is a super simple http GET tool for checking site health
Go
32
star
8

textmate-twitterbootstrap.tmbundle

TextMate bundle for Twitter's Bootstrap
HTML
32
star
9

textmate-octopress.tmbundle

TextMate bundle for Octopress blog engine. http://octopress.org/
29
star
10

awesome-c64

Commodore 64 related links such as C64 tools for Mac/Linux/PC, demoscene related stuff, coding tools, C64 utilities etc...
28
star
11

gh-issues

Manage GitHub issues from command-line (read only!)
Ruby
22
star
12

dotfiles-light

Just another but `lighter` version of BASH environment
Shell
16
star
13

dotfiles-universal

My old BASH dot-files... Try new one!
Shell
13
star
14

textmate2-python-fmt

Python FMT is a python linter/formatter/checker for TextMate.
Ruby
12
star
15

textmate2-gfm-preview

GitHub Flavored Markdown Preview for TextMate 2
CSS
12
star
16

textmate-hosts.tmbundle

TextMate bundle for /etc/hosts file
9
star
17

django-project-template

Project starter for Django 1.11.4 ... Batteries included :)
Python
9
star
18

dotfiles-fever

Elegant BASH environment for macOS, Ubuntu and Gentoo
Shell
8
star
19

textmate-window-manager

Window manager/arranger for oldskool TextMate (1.5)
Shell
7
star
20

stormssh-completion

Bash competion for `sshstorm` (https://github.com/emre/storm)
Shell
6
star
21

devpod

Official website of devPod
HTML
6
star
22

apm-bash-completion

Bash completion for Atom Package Manager (apm)
Shell
6
star
23

textmate2-ruff-linter

Ruff linter for TextMate2. Linter and auto fixer for python!
Ruby
5
star
24

ugur.ozyilmazel.com-v5

Kişisel websitem V4.0
HTML
5
star
25

lsvirtualenvs

Small commandline tool for `virtualenvwrapper`
Go
4
star
26

git-tips

Git versiyon kontrol sistemi ile ilgili Türkçe dökümantasyon ve ipuçları
JavaScript
4
star
27

ghstars

Show GitHub stars count for user!
Go
4
star
28

golang-notlarim

Golang geliştirme ile ilgili aldığım notlar
Ruby
4
star
29

dox2008

2007-2008 yıllarında İstanbul Bilgi Üniversitesi, web departmanı için hazırladığım javascript ve html/css eğitimleri
JavaScript
4
star
30

git-init-githubrepo

Create git repository for GitHub style
Go
4
star
31

inspect-go

Ruby-ish Object#inspect tryouts for Golang!
Go
3
star
32

textmate2-power-tools

Some useful TextMate2 snippets, commands etc...
Ruby
3
star
33

putio

Command-Line client for put.io platform (unofficial)
Go
3
star
34

els

Unix `ls` command alternative via Ruby :)
Ruby
2
star
35

ruby101-kitap-kod

Ruby101 kitabında geçen kod örnekleri
2
star
36

textmate2-64tass-bundle

64tass Bundle for TextMate 2
2
star
37

pg16_django

3. Programlama Günleri / Karabük - Django ile tanışma
Python
2
star
38

textmate2-gomodifytags

TextMate2 implementation of Fatih’s gomodifytags
Shell
2
star
39

sayisal_captcha

Çok basit şekilde iki basamaklı sayılardan random toplama ya da çarpma üreten bir sistem
Ruby
2
star
40

learning-stimulus-02

I'm learning stimulus, this is example 02
JavaScript
2
star
41

vigo.io

Personal website
HTML
2
star
42

vigo

I'm a hustler baby!
2
star
43

ugur.ozyilmazel.com

Kişisel web sitem
HTML
1
star
44

try_git

1
star
45

learning-stimulus-01

I'm learning stimulus, this is example 01
JavaScript
1
star
46

homebrew-statoo

brew tap repo for `statoo`
Ruby
1
star
47

textmate2-bootstrap3

Bootstrap 3's helpers for TextMate2
1
star
48

amiga-ascii.tmbundle

Oldskool Amiga ascii/azki/nfo/diz support for TextMate with real Amiga fonts
1
star
49

uptimerobot_cmd

Command-line client for Uptimerobot service
Ruby
1
star
50

my-custom-textmate1-bundle

Many snippets and my custom scratch-pad for TextMate1.
CSS
1
star
51

homebrew-ghstars

Brew tap for ghstars cli
Ruby
1
star
52

homebrew-lsvirtualenvs

brew tap for lsvirtualenvs
Ruby
1
star
53

homebrew-git-init-githubrepo

brew tap for `git-init-githubrepo`
Ruby
1
star
54

dji18njs

Modified and hardcore changed version of Django's i18n-javascript function. Can be usable as JavasScript Template engine. If you familiar with python's "format text" you will love this!
JavaScript
1
star
55

textmate1-twitter-bs3.tmbundle

Twitter Bootstrap 3 bundle for TextMate1 (yes the oldest TextMate)
1
star
56

stringutils-demo

A basic golang package for demo purpose only...
Go
1
star
57

vigo.github.com

My developer home page...
HTML
1
star
58

textmate-nanorc.tmbundle

.nanorc bundle for TextMate
Ruby
1
star