if it is just URL replacement then consider a smudge/clean filter so that the worktree (local checked out files) have the URLs you want, but when you checkin/add/commit the URLs are replaced (changed back to) the URLs the upstream wants.

I guess it is a simple sed invocation, with reverse in the other direction.

P.

On 22/11/2018 21:09, Michael wrote:
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.

Reply via email to