I'm starting a new thread to avoid hiding the message in another one, but this is a followup to a message in the "git push --track" thread: http://article.gmane.org/gmane.comp.version-control.git/137066 I wrote: > Junio C Hamano <gitster <at> pobox.com> writes: > > > The small nit is that "branch -f --track me origin/me" will happily > > overwrite "me", even when your "me" is not up to date with "origin/me", > > losing commits. > > And another issue is: > > $ git branch -f --track my-branch origin/my-branch > fatal: Cannot force update the current branch. > $ git branch --track my-branch origin/my-branch > fatal: A branch named 'my-branch' already exists. > > Actually, I just can't find a natural set of commands doing: > > 1. create a branch (git checkout -b) > 2. work on it > 3. send it upstream (git push) > 4. set the upstream as tracking (???) > > with the current version of Git. I just do 4. with $EDITOR > .git/config ... The first patch makes it possible to use branch --track on an existing branch (checked-out or not, regardless of -f), and the second warns on a newly introduced irrelevant case. This should be a nice complement to "push --set-upstream". I think "push --set-upstream" is the most natural in 99% of cases, but using "git branch" should work too. Matthieu Moy (2): branch: allow creating a branch with same name and same starting point. branch: warn and refuse to set a branch as a tracking branch of itself. branch.c | 59 ++++++++++++++++++++++++++++++++------------- t/t6040-tracking-info.sh | 8 ++++++ 2 files changed, 50 insertions(+), 17 deletions(-) -- 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