I think I found a way to sort it out. I deleted my local repo, then used
the Clone function in SmartGit to start over

Max Hodges@DUCHESS /D/Documents/GIT-repos/wre-website2 (master)
$ git branch -a
* master
  remotes/origin/#1-google-analytics-jquery-tracking
  remotes/origin/#4
  remotes/origin/HEAD -> origin/master
  remotes/origin/fix-search-label
  remotes/origin/fixed-livevalidation
  remotes/origin/master
  remotes/origin/new-product-detail-page

now I have a local master branch again so I guess this should work.



On Mon, Oct 15, 2012 at 11:10 AM, Max Hodges <m...@whiterabbitpress.com>wrote:

> "Note that Git does *not* touch remote branches unless it's performing `
> git fetch origin` which is specifically meant to download all the history
> from origin, not present in the local repo, and update the remote
> branches accordingly."
>
>
> So "git fetch origin" is the only operation that touches remote branches?
> That's a pull operation right? So Push doesn't actually commit anything to
> remote branches? Remote branches are read-only (can pull from them, but
> can't commit to them?) This sounds wrong because I didn't create any remote
> branches. I only created branches locally then pushed them. Doesn't make
> sense.
>
>
>
> On Mon, Oct 15, 2012 at 11:04 AM, Max Hodges <m...@whiterabbitpress.com>wrote:
>
>> Hi Damien,
>>
>> I tried the first step but I get an error which I don't fully comprehend
>>
>> Max Hodges@DUCHESS /D/Documents/GIT-repos/wre-website
>> (fixed-livevalidation)
>> $ git checkout --track -b master remote/origin/master
>> fatal: git checkout: updating paths is incompatible with switching
>> branches.
>> Did you intend to checkout 'remote/origin/master' which can not be
>> resolved as c
>> ommit?
>>
>> Is there any other way to get my master back? or is the best way is to
>> just delete the repo and start over by tracking changing from scratch
>> again.
>>
>> Cheers!
>>
>> On Sun, Oct 14, 2012 at 5:14 AM, Damien Robert <
>> damien.olivier.rob...@gmail.com> wrote:
>>
>>>
>>>
>>> On Friday, October 12, 2012 8:37:24 AM UTC+2, maxhodges wrote:
>>>
>>>> I just deleted my local master so I guess I can merge the remote/master
>>>> forward and that will become my new master?
>>>>
>>>
>>> No, it will just merge it to the branch you do the merge on (git does
>>> not force you to track a remote branch remote/origin/master under your
>>> local branch master). What you can do is git checkout --track -b master
>>> remote/origin/master, which will create a local master branch that points
>>> to the same commit as the remote master branch. The track option tells git
>>> pull that it should update the remote master branch while you are on the
>>> local master branch.
>>>
>>>>
>>>> [remote "origin"]
>>>> fetch = +refs/heads/*:refs/remotes/**origin/*
>>>>  url = g...@bitbucket.org:maxhodges/**wre-website.git
>>>>
>>>
>>> This line tells git that git fetch origin fetches all the branches in
>>> bitbucket.. and stores them under refs/remotes/origin/
>>> (a simple git fetch is equivalent to git fetch origin)
>>>
>>>
>>>> [branch "#4"]
>>>>  remote = origin
>>>> merge = "refs/heads/#4"
>>>>
>>>
>>> This line tells git pull that once it has fetched all the branches in
>>> origin, it should merge #4 with the remote #4 branch
>>>
>>>> [branch "#4-2"]
>>>> remote = origin
>>>>  merge = "refs/heads/#4"
>>>>
>>>
>>> This line tells git exactly the same, in particular both the #4 branch
>>> and #4-2 branch will point to the same commit after git pull --all
>>>
>>>
>>>> [branch "facebook-comments"]
>>>> remote = origin
>>>>  merge = refs/heads/master
>>>>
>>>
>>> Here git pull on branch facebook-comments will merge the remote branch
>>> origin/master. As you can see you can name the local and the remote branch
>>> differently.
>>>
>>>
>>> Here you can see (partially) how commits seem to apply to multiple
>>> branches (but the results are cut off in the log)
>>> $ git log --all --oneline --graph --decorate
>>> * f2cdb49 (HEAD, origin/fixed-livevalidation, fixed-livevalidation)
>>> fixed issues
>>> | * 963706f (origin/fix-search-label, fix-search-label) fixed label
>>> position on
>>> | * e061be1 fixed #21 firefox label issue
>>> |/
>>> * f917121 (origin/master, master, facebook-comments) changed main message
>>> *   6f12bd2 Merge branch 'revert-svpply' into facebook-comments
>>> |\
>>>
>>> This is perfectly normal. Remember that under git commits are snapshots
>>> of your repo, and branches are only pointers to a snapshot. So in
>>> particular, given your config, branch #4, branch #4-2 and branch
>>> remotes/origin/#4 will all point to the same commit after an update.
>>>
>>>
>>> > I guess I should avoid deleting local branches, to "clean up", if they
>>> were pushed to the remote repo, because they will > just get pulled again
>>> someday?
>>>
>>> If you do a git fetch, it will fetch all the branches from bitbucket
>>> under remotes/origin/*, so yes these will be recreated.
>>> Origin is the default name of the remote you had when you first used git
>>> clone
>>>
>>>
>>> >Any else obvious I can do to try and sort things out? I'm sure the tool
>>> works like it is supposed to, and the problem is >that I don't understand
>>> it all well enough. I'm trying to get some training scheduled, but we have
>>> to keep working on our >project meanwhile.
>>>
>>> Everything look perfectly normal :)
>>> Cheers!
>>> Cheers!
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thursday, October 11, 2012 1:58:21 AM UTC+9, Konstantin Khomoutov
>>>> wrote:
>>>>>
>>>>> On Wed, 10 Oct 2012 08:10:51 -0700 (PDT)
>>>>>
>>>>>
>>>>> > I have a git repo with multiple "origin" branches.
>>>>>
>>>>> Do I understand right that you have a configured remote named "origin"
>>>>> (either by creating that repo via cloning, which created such a remote
>>>>> automatically or by running something like `git remote add origin
>>>>> URL`),
>>>>> and you do fetch from that remote so Git created the so-called "remote
>>>>> branches" to track state of that remote repository for you?
>>>>>
>>>>> If this is indeed the case, such branches are named "remote branches".
>>>>> Yes, the name is confusing, but better stick to this universally
>>>>> agreed-upon naming convension so everyone things about the same
>>>>> things.
>>>>>
>>>>> > WHen I add a new branch and commit changes, it shows that each of
>>>>> > these branches are identical, so it may be writing the commits to
>>>>> > multiple branches.
>>>>>
>>>>> Impoissible unless you commit using a tool which does something
>>>>> wicked.
>>>>>
>>>>> Committing in plain Git only updates the HEAD reference and also an
>>>>> appropriate branch reference, if HEAD points to a branch.  So it's
>>>>> impossible to update several branches at one when doing a commit --
>>>>> only the currently checked out branch is updated (the most usual case)
>>>>> or no branch at all (but ignore this for now).
>>>>>
>>>>> Well, it's also possible to do anything by writing a post-commit hook,
>>>>> but I also doubt this is your case.
>>>>>
>>>>> Another possibility is that what you tell us here is not what you
>>>>> actually do.  Note that Git does *not* touch remote branches unless
>>>>> it's
>>>>> performing `git fetch origin` which is specifically meant to download
>>>>> all the history from origin, not present in the local repo, and update
>>>>> the remote branches accordingly.
>>>>>
>>>>> > I think made I made some rebase mistake.
>>>>>
>>>>> I cannot imagine a way in which rebasing might break something in a
>>>>> way
>>>>> you describe.  Note that
>>>>>
>>>>> > Is there anyway to sort this out, it doesn't work like it used to
>>>>> and
>>>>> > its confusing. Or should I just delete the repo and start tracking
>>>>> > with a new repo?
>>>>>
>>>>> Start from pasting here the contents of your .git/config followed by
>>>>> the output of `git branch -a`.
>>>>>
>>>>> Next, paste the first handful of relevant lines of output generated
>>>>> by running `git log --all --oneline --graph --decorate`
>>>>> then commit to a branch (be sure to tell us which branch you committed
>>>>> to) and then paste the output of that `git log ... --graph ...` once
>>>>> again so we could naturally see what happened.
>>>>>
>>>>> Otherwise we're condemned to do plain guessing.
>>>>>
>>>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to