我首先要告诉您我很困惑。我知道我想做什么,但我什至不知道如何去做。
我想做到的是从Github克隆一个公共存储库,但是要将该存储库存储在与我所在的计算机不同的计算机上。
或者也许你告诉我-...
有一个公开的Github存储库-网络应用程序(https://github.com/WHMCS/templates-six)的模板
我尝试搜索(在这里,谷歌,github帮助文档,其他),但我认为也许该术语一直让我感到困惑,但我找不到我的情况。在本地人,远程用户和客户端以及回购和分叉之间,我迷失了方向。还是不可能? idk。
如果有人会解释如何做到这一点,我将不胜感激;或者,如果它真的只是简单/基本的东西,那么请指出每一端的正确术语,然后我将继续进行搜索。
或者在这种情况下,我可能真的把所有事情都弄乱了。建议使用一种近似最终结果的方法。
谢谢
答案 0 :(得分:4)
使用Git实际上非常简单。有很多方法可以做到这一点。这就是我要做的:
git clone git@github.com:WHMCS/templates-six.git
cd templates-six
。从现在开始,我们将在此存储库文件夹中运行git命令。origin
的{{3}}。为了清楚起见,我们将其重命名。运行git remote rename origin github
git init --bare foobar.git
的方法进行操作。git remote add webserver ssh://joelaz@sharedhost.com:/home/joelaz/foobar.git
master
推送到Web服务器。 git push webserver master:master
。如果由于某种原因该方法不起作用,请尝试使用-f
,因为远程服务器上没有您关心的历史记录。git branch -u webserver/master
。现在,默认情况下,git push
将推送到您的Web服务器。通过此设置,只要您想从Github获取更新,就可以先git fetch github
,然后再git merge github/master
,将github
的master分支合并到您自己的本地master分支中。最后,像以前一样,git push
将其发送到您的Web服务器。您必须在工作站上维护代码(无论如何这可能是个好主意),并且在使用webserver
将代码推送到git push
之前,您将进行更改并解决其中的合并冲突。 / p>
为帮助您了解正在发生的事情,请记住,三个存储库(Github,工作站,服务器)中的每一个都维护自己的代码副本,以及任何分支的副本。您可以通过从工作站上的存储库中拉入和推送来在存储库之间移动代码。
答案 1 :(得分:0)
我建议您阅读Pro Git的前三章。它是免费的在线工具,涵盖了执行此类任务所需的大多数命令。时间不长。每天只要阅读一点,在不知不觉中,您将成为Git的高手。最终,您还需要在后面的章节中阅读有关在服务器上使用git的内容。