Concepts for StackedPRs CLI | Aviator Documentation
Uncategorized page from Aviator
Branch and stack We have two kinds of branches in Aviator CLI: Trunk branches: Branches that PRs are merged into. Typically,
main
or
master
. Topic branches : Branches that contain proposed changes against trunk branches. main is the trunk branch, and feature1 and feature2 are topic branches A stack is a series of topic branches. Each branch has one parent branch, and the root of the stack has a trunk branch as a parent. One branch corresponds to one pull-request in GitHub. All pull-requests are ultimately merged into the trunk branch they are rooted. Aviator CLI internally tracks parent-child relationships of branches. When a parent branch is needed, and it is not specified, it uses the remote
HEAD
as the default trunk branch. This is typically a branch that you set as the default branch on GitHub. Sync After sync operation, the branches regain the parent-child relationship in their commits. As you add more code to the stack, the state of the stack can be out of sync. For example: The
main
branch on the remote gets updates by merging other pull-requests. A new commit is added or a commit is amended in one of the parent branches. Some of the parents are merged. In those cases, you want to rebase your branches on top of the new commits. Sync is an action that does that for you. Aviator CLI uses the recorded branch parent to figure out which commit a branch should be rebased onto, and it pushes the new state to GitHub as needed. Previous How to Use Editor Plugins in CLI Next How to Rebase and Sync with GitHub Last updated 1 year ago Was this helpful?
The technical content you provided is mostly clear, but there are a few areas where improvements or clarifications could be made:
-
Formatting and Consistency:
- The list of trunk branches (
mainandmaster) is presented in a way that might be confusing due to the use of code blocks. Consider using inline code formatting for consistency and clarity. For example, usemainandmasterinstead of separate code blocks.
- The list of trunk branches (
-
Punctuation and Grammar:
- The sentence "main is the trunk branch, and feature1 and feature2 are topic branches" should be more clearly integrated into the paragraph. Consider rephrasing it to: "For example,
mainis the trunk branch, whilefeature1andfeature2are topic branches."
- The sentence "main is the trunk branch, and feature1 and feature2 are topic branches" should be more clearly integrated into the paragraph. Consider rephrasing it to: "For example,
-
Clarification on Branch Relationships:
- The explanation of the stack and parent-child relationships could be more explicit. Consider adding a diagram or a more detailed example to illustrate how branches are stacked and how they relate to each other.
-
Technical Details:
- The term "remote
HEAD" might be confusing to some readers. It would be helpful to clarify that this refers to the default branch set on the remote repository, typically on GitHub.
- The term "remote
-
Section Headers:
- The section headers "Sync" and "Previous/Next" are not clearly distinguished from the main content. Consider using a different formatting style or adding a visual separator to make these sections stand out.
-
Repetition:
- The phrase "branches regain the parent-child relationship in their commits" could be rephrased for clarity. Perhaps: "After a sync operation, the branches are updated to reflect the correct parent-child relationships in their commit history."
-
Additional Context:
- The content assumes familiarity with certain Git concepts. It might be helpful to provide a brief explanation or link to resources for terms like "rebase" and "pull-request" for readers who may not be as familiar with Git workflows.
Overall, the content is technically sound but could benefit from improved clarity and organization to enhance readability and understanding.
No product messaging analysis available for this page.
No competitive analysis available for this page.