Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anjlab/sublime-text-git-autocommit

Enables auto-commit for selected Git repos (install Git plugin first)
https://github.com/anjlab/sublime-text-git-autocommit

Last synced: 3 months ago
JSON representation

Enables auto-commit for selected Git repos (install Git plugin first)

Awesome Lists containing this project

README

        

Installation
============

0. [Install Package Control](https://packagecontrol.io/installation) if you don't have it yet
1. Install `Git` plugin (required)

```
Shift + CMD + P -> Install Package -> Git
```

2. Install `GitAutoCommit`

```
Shift + CMD + P -> Install Package -> GitAutoCommit
```

Why auto-committing anything at all?
====================================

I like using Sublime Text as a buffer for:

* working with text from clipboard,
* or writing random notes in the way only I can understand

Such notes usually change a lot during a day, and I often need to find a piece of text I had in there.

This little plugin helps tracking a history of such notes automatically. It stores the history in a Git repo.

How it works?
=============

You create new Git repo for your notes with an empty file `.sublime-text-git-autocommit`.
This way plugin knows that it should enable auto-commits for files in this repo.

Changes committed when you either:
* saved a file in your Git repo,
* or after you made changes to the files (in a 30 seconds delay).

Every changed file added & committed separately with commit message like:
> Auto-committing 'TODO.txt'

How to use?
===========

1. Create new Git repository for your temporary files

```
mkdir ~/Documents/Notes
cd ~/Documents/Notes
git init
```
2. Add empty file with name `.sublime-text-git-autocommit` to the root folder to activate this plugin

```
touch .sublime-text-git-autocommit
git commit -am "Commit .sublime-text-git-autocommit"
```
3. Create one or more text files at the same folder and make your notes in them

```
touch TODO
touch Clipboard
```
4. All changes made via Sublime to these files will be committed automatically (nested folders ignored)

How to view history?
====================

Use `git log -p`.

Or publish your repo as GitHub Gist and use its diff viewer.

## To publish as GitHub Gist:
1. Create [new private Gist](https://gist.github.com)
2. Copy git clone URL
3. From the root folder of your git repo

```
git remote add origin https://gist.github.com/YOUR_GIST_ID_HERE.git
git remote -v
git branch --set-upstream-to=origin/master master
git pull
```
4. Push your changes to Gist manually from time-to-time

"Shift+CMD+P" -> type "Git Push" -> Enter
5. View diffs on GitHub

## GitHub 2FA
If you enabled GitHub's 2-Factor Authentication then you need to use access token to push to your Gist repo from command line.

I found [Gist Tool](https://github.com/defunkt/gist) helpful for this purpose.

```
brew install gist
gist --login
cat ~/.gist
```

Once you have your access token use it as a username when GitHub asks for credentials, leave password empty.

License
=======
[MIT-License](https://raw.githubusercontent.com/anjlab/sublime-text-git-autocommit/master/LICENSE)

How to contribute?
==================
1. Fork it
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create New Pull Request