This is an old revision of the document!
Git Frequently Asked Questions
How do I tell git to ignore my local changes to file XYZ from the repository? Can I use .gitignore for that?
No, you cannot use .gitignore
, because that only works on files that are not being tracked in the repository. If you want to tell git to ignore your local changes to file XYZ, use the following command:
$ git update-index --assume-unchanged XYZ
The command above sets a special flag for the file XYZ which makes git ignore any you did in your copy of the file. The flag remains in effect until you cancel it again with the following command:
$ git update-index --no-assume-unchanged XYZ
See man git-update-index
for more details.
Is there a way to pull a version of the code as it was at a certain date?
You can check out what in the repository a week ago without a branch (it would be difficult to make/commit changes) with:
$ git checkout origin/master@{"1 week ago"}
The same thing, but creating a new local branch master_old
with the
content from 1 week ago:
$ git checkout -b master_old origin/master@{"1 week ago"}
How can I push my local branch into the shared repository?
Question:
If I push my local branch 'abcd' into the shared repository, it seem that git wants to create a new branch:
$ git push origin abcd --dry-run To ssh://username@git.sip-router.org/sip-router * [new branch] abcd -> abcd
Which is not what I really want, I want to push it into the existing master branch instead.
Answer:
You need to specify the name of the branch in the remote repository you want to push to if the name of the local branch and the name of the remote branch are not same:
$ git push origin abcd:master
If you omit the name of the destination branch after colon then git assumes that it is the same as the name of your source branch.