git推/克隆到新的服务器

我只是在学习git,有些东西我无法解决。 在Mac上本地创build并使用git存储库之后,我可以将副本推送到其他地方的另一台服务器上吗? 我在防火墙后面,所以不幸的是我不能从其他机器上运行git clone

  1. git remote add 名称的 url
  2. git push 名称 分支

例:

 git remote add origin git@github.com:foo/bar.git git push origin master 

请参阅git push的文档 – 您可以将远程设置为给定分支的默认远程设备; 如果你不这样做,名字的origin是特殊的。 只是git push单独将作为git push origin thisbranch相同(无论你在哪里的分支)。

你可能想要做的是首先在你的本地机器上做一个仓库的裸机

 git clone --bare /path/to/repo /path/to/bare/repo.git # don't forget the .git! 

现在,使用tar / gzip或任何您喜爱的归档工具将新的repo.git目录归档,然后将归档文件复制到服务器。

取消存档您的服务器上的回购。 然后,您需要在本地存储库上设置远程设备:

 git remote add repo-name user@host:/path/to/repo.git #this assumes you're using SSH 

然后,您将能够通过以下方式推送并从远程回购:

 git push repo-name branch-name git pull repo-name branch-name 

有很多方法来移动存储库,如果networking可用性不足, git bundle是一个不错的方法。 由于Git仓库实际上只是一个充满文件的目录,因此可以通过以任何最适合您的方式复制.git目录来“克隆”仓库。

最有效的方法是在某处使用外部存储库(使用GitHub或设置Gitosis ),然后使用git push

 remote server> cd /home/ec2-user remote server> git init --bare --shared test add ssh pub key to remote server local> git remote add aws ssh://ec2-user@<hostorip>:/home/ec2-user/dev/test local> git push aws master 

你可以推一个分支到远程服务器,比如github 。 您首先必须执行初始项目设置,然后复制您的项目并:

 git push <remote repo> <your branch>