问题
I'm tracking my changes on a PHP-software with git. I have only a master branch and about 10 commits, the first commit was the original version 1.0 of the software.
Now I saw, that the owner of the PHP-software released version 1.1.
What is the best an easiest way for me, to update the software, but keep my own changes too and merge them with git mergetool? Should I use patches or create another branch with the untouched version updates?
Thank you!
回答1:
Typical approach is to create a branch with local changes (say "local") on top of the software:
git checkout origin/master
git checkout -b local
....edit files....
git commit
now whenever there is upstream update, you can easily reapply changes using rebase:
git fetch
git rebase origin/master
If you already have some merge history in master branch, try doing it raw and use 'git diff' to produce a complete patch of your work against upstream -- such package can be simply applied even without git tools.
回答2:
I would probably use the stash
for this. Just call git stash
, pull the changes and run git stash pop
which will reapply your stashed changes. Creating your own branch and merging it back after update is definitely the way too.
来源:https://stackoverflow.com/questions/16753855/git-update-a-php-script-but-keep-own-changes