On 8/27/25 06:30, Mark Geisert via Cygwin-apps wrote:

By mistake I replicated the author's git repository of chere into the Cygwin repository.  How can I nuke that so I can push my own repo, which just has a .cygport and patch file like most projects have?

I suspect a 'git reset' then 'git push' on a clone of the target repo will fail because the reset would clear out the config, right?

Hi, I assume you're asking for a general git advice (as in there's no special handling by the cygwin git server).

You can "git push --force" to completely overwrite whatever is on the server. However, it is frowned upon by git folks, because once it's public, it is assumed someone might've cloned it and will rely on a straight history without rewrites. Result: whatever you have committed locally will end up on the server. A complete replacement.

Assuming, you never intended to start off with author's repository and instead replicate your own previously working cygwin git repo -- I think this is fine. But it depends on how cygwin infrastructure works, to avoid conflicts with manual intervention, if any.

Rebase: you could "relink" your changes on top of whatever you've pushed there. However, this will now rewrite *your* part of the history, so nobody will know what old-cygwin-chere commits correspond to new-cygwin-chere commits.

Merge: merge your used branch with (on top of) what you've pushed to the server. If your branch had always been a derivative of author's, it should end up clean and only produce one merge commit at most. At worst: some conflicts to be resolved manually. If it's the latter: think twice.

TLDR: rebase would be wrong for losing old cygwin history. Force-push to replace is acceptable and merge is worth trying locally before all that.

Create a new branch locally and see how merge behaves:

1. git checkout -b new-branch uploaded-origin/branch # create and go to new branch, same as remote 2. git merge with-my-local-latest-commit # or branch name here to start merge
--
Cheers,
Vadim

Reply via email to