Sidhant Sharma <tigerkid001@xxxxxxxxx> writes: > $ ggit rebase > > [WARNING] You are about to rebase your commits in <topic-branch> onto the > $BASE_BRANCH, which will essentially replay the work done in $TOPIC_BRANCH > since last merge onto $BASE_BRANCH. > For instance, > Current state: > > o---o---A---B $BASE_BRANCH > \ > X---Y $TOPIC_BRANCH > > State after rebasing: > > o---o---A---B---X'---Y' $BASE_BRANCH > \ > X---Y $TOPIC_BRANCH > > where X' and Y' are the commits making changes identical to those made by X and > Y respectively. The topology may be correct, but the branch labels are both wrong, no? The tip of the base branch will stay at B, and the tip of the topic will point at Y'. > Rebasing is not usually problematic except in cases when you are rebasing > commits that do not exist in your repository. This cannot be correct, as you fundamentally cannot work on (not limited to rebasing) commits that do not exist in your repository. > $ ggit reset --hard > > Resetting to <destination-commit-hash> > [WARNING] You are about to hard reset the current HEAD (master) by <n> commit(s). If I were on B and did "git reset --hard Y", i.e. o---o---A---B $CURRENT_BRANCH \ X---Y $CURRENT_BRANCH_AFTER_RESETTING does the phrasing "about to reset by <n> commit(s):" make any sense? > This will take you back to commit <destination-commit-hash>, and discard all > changes make thereafter. For instance, > Current state: > > o---o---A---B---C---D---E $CURRENT_BRANCH > > After resetting 3 commits: > > o---o---A---B $CURRENT_BRANCH The above two examples make me wonder if these should be static text. "ggit rebase" and "ggit reset" have full information of the concrete branch names, commit object names and the actual topology of the history, so it should be able to give a description more tailored to the user's situation. Instead of giving a fictional drawing with "For instance, Current state:", it should be able to draw the actual before-and-after picture based on where the end-user actually is. I see _some_ attempts (e.g. with "<n>", mention of "(master)" and $BASE_BRANCH, you may have meant that they will be replaced with actual values), but I suspect that telling some truth (i.e. use of the real branch names) while showing pictures that do not match the reality (i.e. if the topology and the description are done as fixed text) would only confuse the users. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html