Current Behavior
In the UI, when right-clicking on a local branch to perform an action to integrate a remote-tracking branch into a local branch, the corresponding label reads something like:
Fetch origin/master into master:
However, under the hood, this action executes a git fetch followed by git pull or git merge, which absolutely alters the local working branch.
Why This Is an Issue
In Git terminology, fetch is strictly a safe, non-destructive operation. A standard git fetch updates local remote-tracking branches (like origin/master) but never touches or modifies local working branches (like master).
Using the phrase "Fetch [remote] into [local]" is technically inaccurate and creates UX confusion. A user expecting a harmless background fetch might accidentally trigger an unintended merge, potentially leading to unexpected merge conflicts in their active workspace.
Suggested Fix
Change the UI text to use accurate Git terminology. Depending on the exact underlying command being executed, consider changing the label to:
Pull origin/master into master (if it fetches and merges)
Merge origin/master into master (if it is specifically performing the merge step)
Current Behavior
In the UI, when right-clicking on a local branch to perform an action to integrate a remote-tracking branch into a local branch, the corresponding label reads something like:
Fetch origin/master into master:However, under the hood, this action executes a
git fetchfollowed bygit pullorgit merge, which absolutely alters the local working branch.Why This Is an Issue
In Git terminology,
fetchis strictly a safe, non-destructive operation. A standardgit fetchupdates local remote-tracking branches (likeorigin/master) but never touches or modifies local working branches (likemaster).Using the phrase "Fetch [remote] into [local]" is technically inaccurate and creates UX confusion. A user expecting a harmless background fetch might accidentally trigger an unintended merge, potentially leading to unexpected merge conflicts in their active workspace.
Suggested Fix
Change the UI text to use accurate Git terminology. Depending on the exact underlying command being executed, consider changing the label to:
Pull origin/master into master(if it fetches and merges)Merge origin/master into master(if it is specifically performing the merge step)