For example Id like to modify the login page, so it auto-logs me.
I want those changes to ONLY work on my development station and dont be visible in push. if I make it on a branch than i would have to somehow un-merge that change before every push.
is that supported by git?
If you have at least Git 1.7.0, you might like this bit of ‘plumbing’:
git update-index --skip-worktree -- path
From the git update-index
manpage under “Skip-worktree bit”:
Skip-worktree bit can be defined in one (long) sentence: When reading an entry, if it is marked as skip-worktree, then Git pretends its working directory version is up to date and read the index version instead.
To elaborate, "reading" means checking for file existence, reading file attributes or file content. The working directory version may be present or absent.
The “skip-worktree bit” is the basis for the sparse checkout mechanism documented in the git read-tree
manpage`.
There is a related ‘bit’ in older versions of Git (git update-index --assume-unchanged
), but it should not be used for the OP's purpose. It seems like it might be useful for the OP's situation, but Git's maintainer has said that its contract (the “promise”) makes it unsuitable for such purposes.
Why don't use setup a gitattributes filter driver?
Every time to checkout your directory, it will check through a script in the smudge
step) for that file (and that file only) if certain condition are met (as in "this is or is not your development station") and will modify the content accordingly.
The clean
step would restore its content or at least ignore that particular modification.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With