我的本地机器上有一个现有的Git存储库。我想将该存储库移动到我的Web服务器,然后在本地计算机上登录git clone
以从服务器中检出我的存储库。我正计划在本地计算机上开发并将更新推送回服务器。我可以从本地机器ssh到服务器,但反之亦然。我应该怎么做呢?我认为git bundle应该以某种方式使用,虽然当我试图git clone
我的服务器上的捆绑,我得到了一个“警告:远程HEAD指的是不存在的裁决,无法检出”错误。我的本地机器正在运行OS X,服务器正在运行Linux。Git:将现有的存储库从PC移动到服务器,从服务器克隆
16
A
回答
29
在Linux服务器上,在一个新的目录下执行:
git init --shared --bare
然后在本地计算机上:
git remote add origin server:path/to/repo
git push --all origin
之后,服务器将具有存储库的完整副本,以及你将能够推动和拉出它。当你已经有一个本地的服务器时,不需要从服务器中检查另一个克隆。
2
如何:
local> cd my_repo.git
local> git remote add origin [email protected]:/path/to/my_repo.git
local> git config branch.master.remote origin
local> git config branch.master.merge refs/heads/master
local> git push origin master
这将从本地回购将数据发送到服务器。然后执行此操作:
local> cd ..
local> git clone [email protected]:/path/to/my_repo.git my_repo2.git
然后您将从服务器克隆。满意后,您可以摆脱原始回购,并可能重命名第二个回购。
9
而是“混帐推主产地”使用“混帐推--all原点”,让你动过所有分支,而不仅仅是主分支的。
相关问题
- 1. 从本地git服务器克隆存储库到AWS Ubuntu
- 2. 使用ssh密钥从服务器克隆git存储库
- 3. 将git存储库克隆到FTP服务器
- 4. 如何将git存储库从Windows移动到Ubuntu服务器?
- 5. git从存储库到服务器
- 6. 管理GIT服务器。跟踪存储库克隆的过程
- 7. 将数据库从MSSQL服务器移动到云存储
- 8. 将代码从bitbucket存储库移动到服务器
- 9. 从git服务器克隆而不忽略,但推送到服务器忽略
- 10. 将克隆库推入并标记到我的git服务器
- 11. 如何使用Mercurial将存储库克隆到远程服务器/存储库
- 12. 从本地PC迁移到服务器
- 13. 的Git服务器和克隆
- 14. Netbeans&Mercurial - 从具有自签名证书的服务器克隆存储库
- 15. 将网站从专用服务器移动到云服务器
- 16. Git克隆到任何服务器? (即使没有安装git)
- 17. 将wordpress从服务器移动到localhost
- 18. 从Git服务器迁移到Github
- 19. 如何使用Eclipse EGit从我的服务器git存储库下载/克隆新分支到我的PC中已经创建的本地git存储库
- 20. ftp服务器上的Git存储库
- 21. 将存储库从1.5服务器移动到1.7服务器是错误的吗?
- 22. 从一台服务器到另一台服务器的Mercurial hg克隆
- 23. 将数据库从本地服务器移动到远程服务器
- 24. 服务器上的Git存储库比本地克隆要大得多
- 25. 如何复制/克隆maven2存储库服务器
- 26. 克隆服务器场
- 27. 移动Magento的从服务器到服务器SuPHP
- 28. Git从本地服务器推到Git,然后从Git到演示服务器
- 29. 从服务器移动Moodle
- 30. 将存储库移动到另一台服务器
一旦做'git push origin master',我得到一个长的错误,以“总0(delta 0),重用0(delta 0) 开始:错误:拒绝更新检出分支:refs/heads/master remote:error:默认情况下,更新非裸存储库中的当前分支“。我在Linux服务器上回购的唯一内容是“.git HEAD分支配置描述钩子信息对象引用”,这就是'git init --shared --bare'命令创建的内容。我在两台计算机上都使用git 1.7.1.1。 – 2010-10-09 19:37:16
呐喊,没关系!我刚刚开始工作。我并没有在Linux服务器上创建一个新的目录,而是在运行'git init ...'命令之前删除了我所有的内容。创建一个新目录,'git init ...',更改为使用我的本地仓库中的原始目录,然后推送工作。 – 2010-10-09 19:42:45
这在原则上工作正常,但我需要一些额外的步骤使其工作,因为我的服务器运行非标准的ssh端口:在OS X上。我通过安装ssh-askpass(https://github.com/ markcarver/mac-ssh-askpass),然后我必须使用SCP风格的URL在〜/ .ssh/config(请参阅http://stackoverflow.com/a/5738592/217953)中配置端口。 – xgretsch 2015-09-18 11:12:19