-
Notifications
You must be signed in to change notification settings - Fork 346
Working with dependent PRs
Eric Wieser edited this page Jul 2, 2024
·
7 revisions
You make a branch with some cool feature:
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch feature-1
commit
commit
commit
checkout master
Then you build another PR on top of that
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch feature-1
commit
commit
commit
branch feature-2
commit
commit
Then your first PR gets bors merge
d and squashed into a commit on staging
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch feature-1
commit
commit
commit type: HIGHLIGHT
branch feature-2
commit
commit
checkout master
commit
branch staging
commit id: "someone-elses-feature1"
commit id: "feature-1" type: HIGHLIGHT
commit id: "someone-elses-feature2"
And then bors finishes, deleting your branch
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch "feature-1 (deleted)"
commit
commit
commit type: HIGHLIGHT
branch feature-2
commit
commit
checkout master
commit
commit id: "someone-elses-feature1"
commit id: "feature-1" type: HIGHLIGHT
commit id: "someone-elses-feature2"
Recreate the deleted branch, and git merge master
. This merge should go through cleanly, but if it doesn't you should choose all the changes from master (TODO: what's the command for this?).
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch feature-1
commit
commit
commit type: HIGHLIGHT
branch feature-2
commit
commit
checkout master
commit
commit id: "someone-elses-feature1"
commit id: "feature-1" type: HIGHLIGHT
commit id: "someone-elses-feature2"
checkout feature-1
merge master
Checkout your feature-2
branch, and git merge feature-1
. This merge will contain only the actual conflicts
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch feature-1
commit
commit
commit type: HIGHLIGHT
branch feature-2
commit
commit
checkout master
commit
commit id: "someone-elses-feature1"
commit id: "feature-1" type: HIGHLIGHT
commit id: "someone-elses-feature2"
checkout feature-1
merge master
checkout feature-2
merge feature-1
TODO: add exact command. You need to specify where to rebase from!
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'master'}} }%%
gitGraph
commit
branch "feature-1 (deleted)"
commit
commit
commit type: HIGHLIGHT
checkout master
commit
commit id: "someone-elses-feature1"
commit id: "feature-1" type: HIGHLIGHT
commit id: "someone-elses-feature2"
branch feature-2
commit
commit