Replies: 2 comments 12 replies
-
Thanks so much for sharing! The |
Beta Was this translation helpful? Give feedback.
-
Here's a more complete example of my workflow today:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello 👋🏻
In my normal git workflow, I operate a local branch, say
main
, where I juggle a set of commits. This is my workspace. Sometimes I juggle these commits manually, and sometimes i use tools that make stacked patch management easier, but I'm still working on that branch.I then push these commits to a target, tracked by the upstream tracking branch of my local branch, e.g. via
git branch --set-upstream-to=origin/main main
. The upstream tracking branch is both where I pull new changes from, and where I push my changes to (directly, or indirectly).GitButler seems to duplicate these concepts, by defining its own workspace,
gitbutler/workspace
, and its own way to track what the target is, viagitbutler/target
, which feels a bit strange. I generally prefer my tooling to be as nonintrusive as possible in mandating changes to existing workflows, so I'm wondering if these two "special" branches are really needed.I understand that on the workspace branch, whatever that is, you're managing an octopus merge commit on top, and rewriting history, so for new users it might make sense to test their feet on a different branch than what they normally work on. But for more experienced users, it should be possible to take off the training wheels and work with GitButler directly on the
main
branch as the "workspace".Regarding
gitbutler/target
, I'm wondering what purpose it serves that isn't covered by normal upstream tracking branches? With the current design, I for example can't use regular git tooling and conventions to ask what the current upstream is:I know that this information is tracked internally:
But would have expected this information to be available through plain git:
And if it were (done automatically), then that goes back to the earlier question of why the
gitbutler/target
is needed.These questions are extra relevant when dealing with multiple "target" branches. I often work on both
main
and production branches (2.0
e.g.), and have these checked out as separate git work trees. In a normal git workflow, this is straight forward, withmain
havingorigin/main
as its tracking branch, and2.0
havinganotherorigin/2.0
as upstream e.g.With the current design of GitButler it seems we're limited to a single upstream "target"?
Hope these use-cases can be taken into account for future development of GitButler, as it looks like a really cool product/project! ❤ Thanks!
Beta Was this translation helpful? Give feedback.
All reactions