Can git ignore a specific line?

git, gitx

Solution

If your file is of a specific type, you can declare a content filter driver, that you can declare in a `.gitattributes` file (as presented in the "Keyword expansion" of "Git Attributes"):

*.yourType filter=yourFilterName

(you can even set that filter for a specific file, if you want)

Implement:

`yourFilterName.smudge` (triggered on `git checkout`) and

  git config --global filter.yourFilterName.smudge 'sed "s/isPhoneGap = .*/isPhoneGap = true/"'

`yourFilterName.clean` (triggered on `git add`)

  git config --global filter.yourFilterName.clean 'sed "s/isPhoneGap = .*/isPhoneGap = false/"'

Your file would appear unchanged on `git status`, yet its checked out version would have the right value for `isPhoneGap`.

Note: in the comments, ohaal and Roald suggest to isolate the `sed` calls in a separate `helper.sh` script:

sed "s/isPhoneGap = .*/isPhoneGap = true/" "$@"

Problem

I'm using git to sync to phonegap while testing on the phone's native browser. As such I have the following line: ``` var isPhoneGap = false; ``` Obviously I change this when building, but is there any way I can set up git to ignore this one line or do I have to go and put it in its own file and ignore it that way? I'm using Gitx and the terminal on OSX 10.6.

Original source

Related problems