Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
git:faq [2009/10/18 22:37] janakj created |
git:faq [2010/01/12 13:38] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOTOC~~ | ||
====== Git Frequently Asked Questions ====== | ====== 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? ==== | ==== 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 '' | No, you cannot use '' | ||
Line 8: | Line 9: | ||
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: | 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 | + | $ git update-index |
See '' | See '' | ||
+ | |||
+ | ==== 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/ | ||
+ | |||
+ | The same thing, but creating a new local branch '' | ||
+ | content from 1 week ago: | ||
+ | |||
+ | $ git checkout -b master_old origin/ | ||
+ | |||
+ | ==== How can I push my local branch into the shared repository? ==== | ||
+ | ---- | ||
+ | **Question**: | ||
+ | |||
+ | If I push my local branch ' | ||
+ | |||
+ | $ git push origin abcd --dry-run | ||
+ | To ssh:// | ||
+ | * [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. | ||
+ | |||
+ | ==== How to see the diff of commits between branches? ==== | ||
+ | ---- | ||
+ | |||
+ | **Question** | ||
+ | |||
+ | Branches during testing period can unsync via --cherry-pick commits, is there a way to see what commits were done only in a specific branch? | ||
+ | |||
+ | **Answer** | ||
+ | |||
+ | A quick way to see the different commits (commits on k_3.0 that are not on sr_3.0) is: | ||
+ | |||
+ | git log --oneline --left-right --cherry-pick origin/ | ||
+ | |||
+ | (the simpler git log --oneline origin/ | ||
+ | |||