我正在学 Git,有些事情我不能解决。在 Mac 本地创建并使用 git 存储库之后,是否可以将副本推送到其他服务器上?我在防火墙后面,所以很不幸,我不能从另一台机器上运行 git clone。
git clone
您可以将一个分支推送到远程服务器,比如 Github。您首先必须完成初始的项目设置,然后克隆您的项目,并且:
git push <remote repo> <your branch>
git remote add
git push
例如:
git remote add origin git@github.com:foo/bar.git git push origin master
请参阅有关 git push的文档——可以将远程设置为给定分支的默认远程; 如果不这样做,则名称 origin是特殊的。仅仅 git push就可以做到和 git push origin 这根树枝一样的事情(不管你在哪个分支)。
origin
git push origin
有很多方法可以移动存储库,如果网络可用性不足,git bundle是一个很好的方法。由于 Git 存储库实际上只是一个充满文件的目录,因此可以通过以最适合您的方式复制 .git目录来“克隆”存储库。
git bundle
.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