- Author
- Version
0.01 (might work)
- Web
- Download
- Git
clone http://j03.de/git/git-overlook.git/
( browse, also on github)
A git extension for having certain changesets in your working dir, but not in your tree. Think .gitignore, but for changesets, instead of files.
This is particularly useful for local changes that should stay local, e.g. database/password configuration.
For the moment, you need to add git-overlook to your path:
$> cd $HOME
$> git clone git://github.com/peritus/git-overlook.git
$> echo 'PATH=$PATH:$HOME/git-overlook/' >> $HOME/.profile
$> ogit overlook
Optionally, you can map ogit
as your standard git
:
$> echo 'alias git=ogit' >> $HOME/profile
This way you can use git
instead of ogit
in the following examples, so there is no need to overwrite your muscle memory.
Then, use ogit
("omitting git" - a simple wrapper for git) instead of git
for your daily work. Use ogit-overlook
to manage changesets, git should keep local.
ogit overlook create
Set the current index as an overlooked changeset
ogit overlook show
Show the current overlooked changeset
ogit overlook clear
Remove the overlooked changeset
Clone some git repo: :
$> ogit clone git://example.com/some/repo.git/
$> cd repo
Edit the example configuration to your needs: :
$> vim config.inc
$> ogit diff
diff --git a/config.inc b/config.inc
index 285e2ab..377332d 100644
--- a/config.inc
+++ b/config.inc
@@ -1,7 +1,7 @@
# This is a sample configuration file
-DATABASE_NAME='' # your database name
+DATABASE_NAME='development_db'
Add the change to the index:
$> ogit add config.inc
Advise git to overlook this change: :
$> ogit overlook create
The change is gone (at least from git's point of view), but the working dir contains your change: :
$> ogit diff
$> ogit diff --cached
$> cat config.inc
DATABASE_NAME='development_db'
$> ogit show HEAD:config.inc
# This is a sample configuration file
DATABASE_NAME='' # your database name
This is a propotype - a proper version would be part of (a forked version of) git. The wrapper around git is particular slow, so in case you have a slow machine, you care about performance or your name is Linus Torvalds, please port this to C.
git-overlook is licensed as Beerware.