我只是在学习Git而且还有一些我无法解决的问题。在我的Mac上本地创建和使用git存储库后,我可以将副本推送到其他地方的另一台服务器吗?我在防火墙后面,所以不幸的是我无法从另一台机器运行git clone
。
答案 0 :(得分:132)
git remote add
name url git push
name branch 示例:
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
目录来“克隆”存储库。
答案 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>