Git推送/克隆到新服务器

时间:2009-09-09 22:06:27

标签: git

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

5 个答案:

答案 0 :(得分:132)

  1. git remote add name url
  2. git push name branch
  3. 示例:

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

    查看git push的文档 - 您可以将远程设置为给定分支的默认远程;如果不这样做,名称origin是特殊的。仅git push仅与git push origin thisbranch 相同(对于您所在的任何分支)。

答案 1 :(得分:75)

您可能想要做的是首先在本地计算机上彻底克隆存储库

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

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

取消归档服务器上的repo。然后,您需要在本地存储库上设置远程数据库:

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

答案 2 :(得分:9)

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

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

答案 3 :(得分:6)

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

答案 4 :(得分:1)

您可以将分支机构推送到远程服务器,例如github。您首先必须进行初始项目设置,然后克隆您的项目并且:

git push <remote repo> <your branch>