Most of git hand book and tutorial tell how to obtain git repos, manage git repos, see what is changed, how to merge, and so on. But I haven’t found a good guide for supporting developers who need to keep track of the main development, while providing their own modification for easy merge back to trunk.
Indeed, quite a lot of tutorial already mentioned how to cooperate with others, but have you encountered the following:
- Whenever upstream updates po files, you have to manually edit them all to resolved conflict, though you never touch it.
- After merge, there were dozens of conflicts, though you only changed a few files before merge.
- Finally, some folks kindly tell you that git-rebase is the way to go, but if you actually do it, there will be hundred of conflicts waiting to kill your time.
I still believe that those hand books might enlighten us about the relieves of these symptoms. providing you have sufficient time an patient to actually understand it, but I don’t.
Here are some tips:
- Keep the latest untouched-by-you upstream commit ID in mind, suppose it is “untouched-by-me”
- Add –rebase when using git-pull
- If you see some conflict on the files you don’t even want to touch,
roll back these files by
git-checkout untouched-by-me files
- No need to dash directly into the hell of conflicts by running git-mergetool,
- Make your patch:
git-diff untouched-by-me your-latest-touch > patch-file
- Reset back and get the update from upstream.
- Apply back your patch:
And yeah, now is the time you resolve conflict.
- Commit when done.
- Remember to use