On Fri, 30 Dec 2011 16:52:57 +0530 Vibin Nair <vibin@xxxxxxxxxxxxxxxx> wrote: > I am a Git beginner. Recently i started working on a codebase (that > is checked in to a git repository) of our client, who is not very > aware about how git works. > The repository has multiple branches such as > > origin/user1 > origin/master > origin/user2 > > Now when i take a clone of this repository : git clone <repo-url>, a > clone of the repo is created on my machine. > > But when i do a : "git branch" it shows > > user1 * > > which means that the "head" is pointing to the "user1" branch. > > The client told me that all the recent code were being merged into > the "master" branch and hence the "user1" branch has code which is > older than "master" branch. > > I had 2 queries : > > 1. Is it possible to make the "head" of the remote point to "master" > instead of "user1", so that other members of my team get the latest > code when they try to clone the repository. `git clone` checks out the branch which the HEAD ref in the remote repo points to. You can use `git symbolic-ref` to retarget HEAD if it's a bare repository. If the repository is non-bare HEAD tracks what's checked out, so it can be changed by doing `git checkout`. Note that you can pass the "-b <branch>" command-line option to `git clone` to make it create a local tracking branch and check it out for an arbitrary remote branch <branch>. > 2. Is there any way to safely merge "user1" to "master". This question has little sense because it heavily depends on what you mean by "safely". The correct way to state a question like this is to think whether merging user1 to master has sense from the project's development standpoint. -- 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