Git 推送/克隆到新服务器

我正在学 Git,有些事情我不能解决。在 Mac 本地创建并使用 git 存储库之后,是否可以将副本推送到其他服务器上?我在防火墙后面,所以很不幸,我不能从另一台机器上运行 git clone

131384 次浏览

您可以将一个分支推送到远程服务器,比如 Github。您首先必须完成初始的项目设置,然后克隆您的项目,并且:

git push <remote repo> <your branch>
  1. git remote add 姓名 网址
  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 这根树枝一样的事情(不管你在哪个分支)。

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

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

您可能希望首先在本地机器上对存储库进行一个简单的克隆

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
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