Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git-远程站点到本地_Git_Data Synchronization - Fatal编程技术网

Git-远程站点到本地

Git-远程站点到本地,git,data-synchronization,Git,Data Synchronization,我有一个新的客户端wordpress站点,它是在有点混乱的情况下建立的(但它可以工作) 我已经在远程服务器和本地机器上安装了Git 在开始本地开发之前,我需要将远程服务器上的所有文档复制到本地服务器上 我如何使用Git来实现这一点 我是个傻瓜,所以请对我宽容点。。。它是否像…一样简单 远程服务器: git commit -m "Initial Pull" 本地服务器: git pull website master 我知道我可以使用FTP复制文件,但我希望在开始编码之前,本地和远程服务器能够

我有一个新的客户端wordpress站点,它是在有点混乱的情况下建立的(但它可以工作)

我已经在远程服务器和本地机器上安装了Git

在开始本地开发之前,我需要将远程服务器上的所有文档复制到本地服务器上

我如何使用Git来实现这一点

我是个傻瓜,所以请对我宽容点。。。它是否像…一样简单

远程服务器:

git commit -m "Initial Pull"
本地服务器:

git pull website master
我知道我可以使用FTP复制文件,但我希望在开始编码之前,本地和远程服务器能够同步/版本控制

还是我完全误解了Git的目的

更新:

假设我的用户名是harry,服务器域名是potter.co.uk,git存储库位于/home/harry/site.git中,您能确认这是否有效吗?如果我在我本地的机器上尝试这个,我会破坏任何东西吗

git clone harry@potter.co.uk:/home/potter/site.git

您想使用git克隆吗

git克隆username@server:path/to/repo.git

如果您要处理多个repo,我会在~/.ssh/config文件中添加一个条目

Host git
HostName myserver.com
IdentityFile ~/.ssh/id_rsa
User mygituserid
那你就做吧

git克隆git:/path/to/repo.git

在这两种情况下,请记住:后面的路径是相对于ssh用户的home dir的,不带前导/

此外,如果您想将更改推回远程,远程回购应该是空的。转换为裸执行(根据@jthill的注释)


然后,在开始工作之前,我会将新的裸机repo克隆到本地机器上。

您想使用git clone吗

git克隆username@server:path/to/repo.git

如果您要处理多个repo,我会在~/.ssh/config文件中添加一个条目

Host git
HostName myserver.com
IdentityFile ~/.ssh/id_rsa
User mygituserid
那你就做吧

git克隆git:/path/to/repo.git

在这两种情况下,请记住:后面的路径是相对于ssh用户的home dir的,不带前导/

此外,如果您想将更改推回远程,远程回购应该是空的。转换为裸执行(根据@jthill的注释)



然后,在开始工作之前,我会将新的、裸的回购复制到本地机器上。

准确的问题由@scott回答。看一看,它引用了几本书、一堆好的教程和许多其他资源。它的使用有点棘手(特别是如果您习惯于SVN或其他一些集中式版本控制系统),因此我建议您设置一些存储库进行实验(并不是说git会丢失信息;不过,如果你问得足够有力,它可以做到这一点;而是因为用户可能会感到非常困惑,以至于他们不知道如何处理混乱局面)。不要羞于在你的机器上拥有多个存储库副本,也许是一个“官员”一个和其他人尝试可能危险的东西。OTOH,你可以动态创建这些东西(git操作,甚至克隆完整的存储库,速度惊人)。

确切的问题由@scott回答。看看,它引用了几本书、一堆好的教程和许多其他资源。使用起来有点棘手(特别是如果你习惯于SVN或其他一些集中式版本控制系统的话),所以我建议你建立一些用于实验的存储库(并不是说git会泄露信息;但是如果你问得足够有力的话,它可以这样做;这是因为用户可能会非常困惑,以至于他们不知道如何解决混乱)。在您的计算机上安装多个存储库副本时不要害羞,可能是一个“官方”副本,也可能是其他副本,用于尝试可能存在的危险内容。OTOH,您可以动态创建这些副本(git操作,甚至克隆完整的存储库,速度惊人).

谢谢,但这是否意味着我的git存储库需要放在公共html文件夹中?这是安全的还是一个愚蠢的问题?不,我不会将git repo放在webroot中。它是通过sshHi进行的,谢谢scott的建议。请检查我更新的问题……除非我遗漏了什么,cd/cp/cd/config序列a以上可以通过
git clone==mirror path/to/this path/to/that
@jthill来完成。我不知道--mirror选项。这比我回答中的顺序好得多谢谢,但这是否意味着我的git存储库需要放在公共html文件夹中?这是安全的还是一个愚蠢的问题?不,我不会把git repo放在webroot。它通过sshHi那里,谢谢scott的建议。你能检查一下我更新的问题吗?除非我遗漏了什么,上面的cd/cp/cd/config序列可以通过
git clone==mirror path/to/this path/to/that
@jthill来完成。我不知道--mirror选项。这比我的answergit clone不会改变服务器机器上的任何内容,它只是在本地机器上复制一个副本。顺便说一句,我认为正确的组件是
git clonessh://harry@potter.co.uk:55555/home/potter/site.git
(),其中55555是您打开的端口(如果您不知道,请删除:5555555),ssh应更改为您配置的协议。(通常它配置为ssh)您的cmd将是git克隆harry@potter.co.uk:site.git当然,除非repo在用户potter的home dir中,而不是harry的dir中。git clone不会在服务器机器上更改任何内容,它只会在本地机器上进行复制。顺便说一句,我认为正确的comamnd是
git clonessh://harry@potter.co.uk:5555555/home/potter/site.git
(),其中55555是您打开的端口(如果您不知道,请删除:55555),ssh应更改为您配置的协议。(通常它配置为ssh)您的cmd将是git cloneharry@potter.co.uk:site.git,当然,除非回购协议在用户波特的主页目录中,而不是哈利的目录中。