I think that I am using git incorrectly. What I want to do is way too hard.
I have forked someone's repository from GitHub. I had to make some initial changes to URLs to be able to run my version. I made changes that consist of code change, and a change log change. First issue: I want to make a pull request for GitHub that has those code changes. I don't want to include the changed URLs, and I know that the change log change will not apply cleanly. How do I contribute my changes back to the base? Second issue: I have other changes after that first one. How do I contribute those changes as separate pull requests without having them contain the first change, or the changed URLs, etc.? Third issue: I want to keep up to date with the parent. As it makes changes, I want to merge those changes in. I know this is what rebase is for, and I know that this is the issue that "Git for Windows" and others have to deal with, but either I'm doing it wrong, or it's a lot harder than it ought to be. Fourth issue: I want to keep my history clean. A quick look at the "rerere" man page shows the issue -- showing a lot of merges from the origin back to me that later wind up being merged back into the origin results in a mess. By now this has to be a solved problem, right? If it got Linus to complain, then there's a solution, right? Fifth issue: test deployment. Separate from my live branch (which others may be using), I want a test deployment. This would have a different set of URLs that I changed in the first step, as well as a different change log/welcome message to indicate that it is the test deployment. But it would basically be the same set of changes, that would be applied wherever it was needed. Except that the last time I moved this change, with a rebase -onto, I discovered that it was actually moved. What I think I want would be a way to reapply a set of changes at the tip of a branch head for test deployment, without deleting that set of changes -- ideally, so a single script could apply the same constant set of changes. The problem with that fifth issue is that as far as I can tell there's no way to do that in Git, so clearly that's not what I want to do. Help? I feel like this is where I move from being a beginner with Git to an intermediate with Git. For reference: My Fork: https://github.com/keybounce/AutoTrimps Upstream: https://github.com/Zorn192/AutoTrimps -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.