• Stars
    star
    204
  • Rank 185,569 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 8 years ago
  • Updated almost 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
196
star
3

dinozorus

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

textmate-twitterbootstrap.tmbundle

TextMate bundle for Twitter's Bootstrap
HTML
33
star
8

statoo

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

awesome-c64

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

textmate-octopress.tmbundle

TextMate bundle for Octopress blog engine. http://octopress.org/
29
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
18
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
13
star
15

textmate2-gfm-preview

GitHub Flavored Markdown Preview for TextMate 2
CSS
12
star
16

django-project-template

Project starter for Django 1.11.4 ... Batteries included :)
Python
10
star
17

textmate-hosts.tmbundle

TextMate bundle for /etc/hosts file
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

apm-bash-completion

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

stormssh-completion

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

devpod

Official website of devPod
HTML
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

ghstars

Show GitHub stars count for user!
Go
4
star
27

git-init-githubrepo

Create git repository for GitHub style
Go
4
star
28

golang-notlarim

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

git-tips

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

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
31

textmate2-power-tools

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

inspect-go

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

putio

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

textmate2-64tass-bundle

64tass Bundle for TextMate 2
2
star
35

sayisal_captcha

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

learning-stimulus-02

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

vigo

I'm a hustler baby!
2
star
38

textmate2-gomodifytags

TextMate2 implementation of Fatih’s gomodifytags
Shell
2
star
39

vigo.io

Personal website
HTML
2
star
40

els

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

pg16_django

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

ruby101-kitap-kod

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

learning-stimulus-01

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

textmate2-bootstrap3

Bootstrap 3's helpers for TextMate2
1
star
45

uptimerobot_cmd

Command-line client for Uptimerobot service
Ruby
1
star
46

stringutils-demo

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

textmate1-twitter-bs3.tmbundle

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

try_git

1
star
49

homebrew-statoo

brew tap repo for `statoo`
Ruby
1
star
50

homebrew-git-init-githubrepo

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

vigo.github.com

My developer home page...
HTML
1
star
52

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
53

homebrew-lsvirtualenvs

brew tap for lsvirtualenvs
Ruby
1
star
54

homebrew-ghstars

Brew tap for ghstars cli
Ruby
1
star
55

amiga-ascii.tmbundle

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

my-custom-textmate1-bundle

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

ugur.ozyilmazel.com

Kişisel web sitem
HTML
1
star
58

textmate-nanorc.tmbundle

.nanorc bundle for TextMate
Ruby
1
star