• Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 2 years 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
425
star
2

ruby101-kitap

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

dinozorus

1990'lı yıllara damgasını vuran efsane televizyon oyunu Dinozorus. Amiga 1200 - AGA
Assembly
134
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
39
star
7

statoo

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

textmate-twitterbootstrap.tmbundle

TextMate bundle for Twitter's Bootstrap
HTML
33
star
9

awesome-c64

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

textmate-octopress.tmbundle

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

django-admin-list-filter

Dead simple autocompletion for Django admin `list_filter`.
Python
22
star
12

gh_issues

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

dotfiles-light

Just another but `lighter` version of BASH environment
Shell
20
star
14

dotfiles-universal

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

textmate2-python-fmt

Python FMT is a python linter/formatter/checker for TextMate.
Ruby
13
star
16

textmate2-gfm-preview

GitHub Flavored Markdown Preview for TextMate 2
CSS
13
star
17

django-project-template

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

textmate-hosts.tmbundle

TextMate bundle for /etc/hosts file
9
star
19

dotfiles-fever

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

textmate-window-manager

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

apm-bash-completion

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

stormssh-completion

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

devpod

Official website of devPod
HTML
6
star
24

textmate2-ruff-linter

Ruff linter for TextMate2. Linter and auto fixer for python!
Perl
5
star
25

ugur.ozyilmazel.com-v5

Kişisel websitem V4.0
HTML
5
star
26

lsvirtualenvs

Small commandline tool for `virtualenvwrapper`
Go
4
star
27

ghstars

Show GitHub stars count for user!
Go
4
star
28

git-init-githubrepo

Create git repository for GitHub style
Go
4
star
29

textmate2-tailwind-css

Tailwind CSS support for TextMate 2
Ruby
4
star
30

golang-notlarim

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

git-tips

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

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
33

textmate2-power-tools

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

inspect-go

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

putio

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

textmate2-64tass-bundle

64tass Bundle for TextMate 2
2
star
37

sayisal_captcha

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

learning-stimulus-02

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

vigo

I'm a hustler baby!
2
star
40

textmate2-gomodifytags

TextMate2 implementation of Fatih’s gomodifytags
Shell
2
star
41

els

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

ruby101-kitap-kod

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

vigo.io

Personal website
HTML
2
star
44

pg16_django

3. Programlama Günleri / Karabük - Django ile tanışma
Python
2
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

uptimerobot_cmd

Command-line client for Uptimerobot service
Ruby
1
star
49

stringutils-demo

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

textmate1-twitter-bs3.tmbundle

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

try_git

1
star
52

homebrew-lsvirtualenvs

brew tap for lsvirtualenvs
Ruby
1
star
53

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
54

homebrew-git-init-githubrepo

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

amiga-ascii.tmbundle

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

vigo.github.com

My developer home page...
HTML
1
star
57

ugur.ozyilmazel.com

Kişisel web sitem
HTML
1
star
58

my-custom-textmate1-bundle

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

textmate-nanorc.tmbundle

.nanorc bundle for TextMate
Ruby
1
star
60

homebrew-ghstars

Brew tap for ghstars cli
Ruby
1
star