git推/克隆到新的服务器
我只是在学习git,有些东西我无法解决。 在Mac上本地创build并使用git存储库之后,我可以将副本推送到其他地方的另一台服务器上吗? 我在防火墙后面,所以不幸的是我不能从其他机器上运行git clone
。
-
git remote add
名称的 url -
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>