17
submitted 4 days ago* (last edited 4 days ago) by Kissaki@programming.dev to c/git@programming.dev

For those familiar with Git terminology:

The simplest way to assemble a triangular workflow is to set the branch’s merge key to a different branch name, like so:

[branch “branch”]
   remote = origin
   merge = refs/heads/default

This will result in the branch pullRef as origin/default, but pushRef as origin/branch, as shown in Figure 9.

Working with triangular forks requires a bit more customization than triangular branches because we are dealing with multiple remotes. […]

you are viewing a single comment's thread
view the rest of the comments
[-] theLetterJ 6 points 4 days ago
[-] abbadon420@lemm.ee 4 points 4 days ago* (last edited 4 days ago)

No, you're the letter j

Anyways, I'm assuming you don't understand what the triangular workflow is (if i assumed wrong, ignore this)? Imagine you want to make an improvement to Lemmy. You got to github.com/lemmynet/lemmy, you fork that repository and you add your improvement. Now you can't just push you improvement back to that repository, because you don't have the rights to push to that repository. So you have to make your own repository at github.com/theletterj/lemmy and make a nerge request to github.com/lemmynet/lemmy to merge your improvement.

That is the triangle. You have to pull from github/lemmynet, but push to guthub/theletterj and send a merge request back to github/lemmynet

[-] Colloidal@programming.dev 3 points 3 days ago

How is that different from sending a PR?

[-] abbadon420@lemm.ee 5 points 3 days ago

For a single PR it's pretty much the same, but if you have multiple back and forth, you'd have to set up multiple remotes and switch between them. Now you don't. If I understand it correctly, you can now just "git pull" from repo1 and "git push" to repo2

[-] LarsIsCool@lemmy.world 2 points 3 days ago

Not oc, but thank you for explaining

this post was submitted on 25 Apr 2025
17 points (100.0% liked)

Git

3225 readers
1 users here now

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Resources

Rules

  1. Follow programming.dev rules
  2. Be excellent to each other, no hostility towards users for any reason
  3. No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.

Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.

founded 2 years ago
MODERATORS