I have a git repository with two branches: master and gh-pages. If I want to copy a file foo from master to gh-pages without merging them. What command should I use? Many thanks.
4 Answers
You can:
git checkout gh-pages
git checkout master foo
git commit -m 'Add file foo to gh-pages.'
3 Comments
Hgtcl
Yes, thank you, but it seems that
foo file must be commited first. But it works fine. Thank you. If I have enough reputations, I'll vote up you~Wildcard
Of course it has to be committed first—otherwise it's not "on that branch", it's just in your working copy. If that is the case, you should use
git stash.Tormod
Or, if it is uncommitted, just checkout the desired branch. The uncommitted change will stay with you ready checkin.
If you want to compare all the diffs between 2 branches: you can use git difftool master gh-pages or git difftool <SHA1 of gh-pages> .
If you want to get diff for specific list of files follow this:
git diff master gh-pages -- path/to/file
1 Comment
Hgtcl
It doesn't work fine, it will show all files different between the two branches. It can be very annoying. Thank you all the same.
The Way I would do it: When you commit you have a choice of what to commit and push. So commit only foo from master then push it, Then just merge that on github/bitbucket whatever to gh-pages