Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6639419
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T23:33:07+00:00 2026-05-25T23:33:07+00:00

I want to have the following version structure: (my private changes to 0.1.0) –

  • 0

I want to have the following version structure:

                  (my private changes to 0.1.0) - A - B - C - ...
                    /
(upstream repo) - 0.1.0 - 0.2.0 - ...
                            \
                  (my private changes to 0.2.0) - D - E - F - ... 

I don’t want to merge my changes with changes in upstream, because the upstream is developed rapidly and usually there are zillions of hard to resolve conflicts, because upstream code was significantly redesigned. When 0.3.0 is out, I’m going just to create an exact copy of it forgetting my private changes and then re-apply my private fixes one by one. But I don’t want my old changes to disappear completely – I want them to sit somewhere still (on a separate branch?).

git rebase is not what I want. According to Pro git book, rebasing will try to re-apply A-B-C patches to 0.2.0. Here is an example situation between upstream 0.1.0 and 0.2.0 release dates:

(upstream) - 0.1.0 - (my master) - A - B - C

Now 0.2.0 is out:

              (my master) - A - B - C 
               /   
(upstream) - 0.1.0 - 0.2.0

I don’t want to rebase my A – B – C changes because of too many conflicts. I want to label my A – B – C branch as ‘my-0.1.0’ and start a ‘new’ master branch from 0.2.0:

              (my-0.1.0) - A - B - C
                 /
 (upstream) - 0.1.0 - 0.2.0 - (my new master)

I want my new master branch to be a clean copy of upstream 0.2.0, without any attempts to re-apply my old A-B-C changesets to it. So later I can cherry-pick A-B-C changes one by one if I need them in post-0.2.0 world.

How do I put the my-0.1.0 label? Is it a label, a tag, a branch? How do I start an empty master branch off 0.2.0? Note that there are two different repos: my repo and upstream repo. Do I need to copy upstream branch from upstream repo to my repo? How I ensure that 0.2.0 is pulled after 0.1.0, and not after C? If I just do a pull request after

(upstream) – 0.1.0 – (my master) – A – B – C

I get

(upstream) – 0.1.0 – (my master) – A – B – C – “0.2.0 merged with ABC”

which is not what I want.

Also sometimes I want to push certain change (e.g. E) back to upstream. Is it possible to create a pull request for E change only? In darcs this is possible. If it’s not possible with Git/GitHub, then I will need to create a separate branch, reapply the changes in E manually. How should I proceed?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T23:33:08+00:00Added an answer on May 25, 2026 at 11:33 pm

    git rebase is your friend.

    Tag the old version if you want and rebase your private branches on the latest upstream version.

    To create a pull request for E only, you can either:

    1. Create new branch and git cherry-pick E to it (the old branch will have the old version of E).
    2. git rebase -i the branch and reorder the commits to put E first. Than you can tag E and create a pull request from that tag. When the upstream applies it, rebasing should correctly apply the remaining commits

    In either case if the rebase does not realize E is merged when upstream finally does it (which happens if they modified it), just use the interactive rebase to drop your obsolete version of it.

    Darcs actually does the same thing, but darcs rebases automatically if it can do it without conflicts (and refuses to do it altogether if it can’t), while in git you rebase explicitly and if there are conflicts (E turns out to depend on D), it spits out the conflict and lets you deal with it anyway you want.

    Edit: Ah, you just want to put A, B and C aside and start with clean 0.2.0. You can use either branch (on master, do):

    git branch -m my-0.1
    git checkout -b master 0.2.0
    

    or tag (on master, do):

    git tag my-0.1
    git reset --keep 0.2.0
    

    The branch will keep it’s reflog around, you will be able to check it out and modify it. The tag will not have reflog and you won’t be able to check it out (checkout will put you in the “detached HEAD” state unless you give it a branch to create).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a table with the following structure: ReportId Version Title ..... I want
I have a table of the following structure: ID | COMPANY_ID | VERSION |
I have an loaded an XML document with the following structure: <?xml version=1.0 encoding=UTF-8
I have the following scenario- Pig version used 0.70 Sample HDFS directory structure: /user/training/test/20100810/<data
Say I have this following XML structure: <?xml version=1.0 encoding=UTF-8?> <main> <parent> <child1>some value</child1>
I have a zip file with the following structure apache-tomcat-6.0.26.zip apache-tomcat-6.0.26/webapps/manager I want to
I have got following XML structure of my screen. I want my Relative Layout
I want to have the following method not show a warning about using raw
The customer want to have the following scenario: Customer hands out link (webapp address)
I have following xml and I want to fetch the value of node which

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.