On Tue, Jan 24, 2012 at 12:12:54PM -0800, Junio C Hamano wrote: > > For example, imagine repo1 has two branches, "master" and "foo", and the > > "master" branch is checked out. When you clone it, the resulting repo2 > > will have remote-tracking branches for both "master" and "foo", but will > > only checkout the "master" branch. Now imagine you make commits on > > "foo" in repo1, and then try to push. Git's default behavior is to push > > only branches which match (by name) a branch on the destination. So we > > would attempt to push "master" (which is up to date), but not "foo". > > Technically you are not saying anything incorrect, but the above is not an > appropriate paragraph to give to a total newbie, I would have to say. > [...] Yeah, I agree with all of this. I was trying not to go into too much detail because we knew so little about the situation (e.g., we don't even know if repo2 in the example is bare or not!), but perhaps my terseness made things even more confusing. This might have been a better example (it exhibits the problem, but is not an example of a terrible thing to be doing): 1. repo1 has a "master" branch 2. clone repo1 with "git clone --bare repo1 repo2". Repo2 now has a master branch. 3. create a new "foo" branch in repo and commit on it 4. "git push ../repo2" from repo1. This is a sane thing to be doing, but will not push the newly-created "foo" branch, as some users might expect. -Peff -- 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