Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Moving a git repo to a second computer?

Tags:

git

I have a project with a simple local git repo, and I want to move this project (folders etc.) to another computer and work from there from now on. I don't want to have anything left on the old machine (except of course my other git projects). I want it to be as if I have been working from the new machine all along.

Can I simply move all the files over to that computer, or will there be a problem with keys? Should I have the same key across two machines? If simply moving all the folders can't be done, what should I do? I want to avoid the hassle of setting up and learning to use a server, since this seems complicated and I don't want to alter my workflow.

like image 506
mk. Avatar asked May 01 '11 22:05

mk.


People also ask

Can I copy git folder to another computer?

Thanks. Yes you can, but there's no need to copy the full working tree. You can copy just the . git folder without the working tree (i.e. as a "bare" repo) and then checkout the latest working tree on the other machine.

Can you use GitHub on two computers?

You need to clone the repository on your second computer. Now you can use git pull and git push to keep your local repository in sync with the one on GitHub. Show activity on this post. You want to checkout the repository on the other computer, you do not want to fork it.


2 Answers

For your case, the best way to do it is to copy over the folder (copy, scp, cp, robocopy - whichever) to the new computer and delete the old folder.

I completely disagree with @Pablo Santa Cruz that cloning is the paradigm for what you are doing. No it is not. You are moving a repo to a new computer.

Why I don't like clone for this purpose:

  • It creates remote-tracking branches for each branch in the cloned repository. You are moving, and the old repo is defunct.
  • Any remote branches and other refs are completely ignored.
  • You don't get your hooks if you had any and you might forget that you had them!
  • You cannot get "lost" commits etc using git reflog or other means. Might not be a huge issue, especially if the repo acted as a server but something to be aware of.

If you search for ways to backup a git repo, git clone wouldn't be in the top answers. So it shouldn't be used for moving a repo! I also feel that just a git clone cannot be a proper answer because git clone has the --mirror option, which preserves the repo, meaning that a git clone repo is different from git clone --mirror repo (apart from being bare, the differences are mostly those I mentioned above). I would do a copy because I know what I get with the copied repo - the same repo!

When to consider git clone:

  1. It is faster as git does some optimization while cloning
  2. You might have different git version on the new machine and a copy might make the repo unusable in the other version (not very common nowadays). But actually this can be another pro for copying, since this would inform you that that the new computer has a different git version.
like image 118
manojlds Avatar answered Sep 21 '22 12:09

manojlds


Yes it's enough to copy the data to the other machine. Using git clone is almost the same thing, but it will setup the computer you are cloning from as the remote origin, which might not be what you want.

like image 43
ralphtheninja Avatar answered Sep 21 '22 12:09

ralphtheninja