git获取到不同的文件

git获取到不同的文件,git,Git,我正在尝试将我的网站文件下载到public\u html文件夹。但是当我执行gitinit时,它会生成我不想在我的网站根目录中包含的其他文件 我试过: git init git remote add origin [GIT_URL] git fetch origin 但是只获得了public\uhtml文件夹中的Git文件(分支、挂钩、信息等) 我还尝试了git init--separate git dir=,但也得到了相同的结果。它创建了一个带有gitdir:/path/to/git/fol

我正在尝试将我的网站文件下载到
public\u html
文件夹。但是当我执行
gitinit
时,它会生成我不想在我的网站根目录中包含的其他文件

我试过:

git init
git remote add origin [GIT_URL]
git fetch origin
但是只获得了
public\uhtml
文件夹中的Git文件(分支、挂钩、信息等)

我还尝试了
git init--separate git dir=
,但也得到了相同的结果。它创建了一个带有
gitdir:/path/to/git/folders
文本的文件

有没有办法在
public\u html
文件夹的父文件夹中创建Git repo,但实际文件位于与
public\u html
文件夹不同的文件夹位置

阅读了几篇Git教程,他们总是展示如何从新创建的文件夹而不是现有的文件夹(在我的例子中是
public\uHTML
)工作;dr:使用
git克隆[git\u URL]


您只将远程存储库提取到新的本地存储库中,但尚未将它们合并到本地分支中。让我们看一下命令

  • git init
在当前目录中创建空的本地存储库。它生活在
.git/

  • git远程添加源git\u URL
附加
GIT\u URL
作为名为
origin
的远程存储库

  • git获取来源
获取远程存储库
origin
,并创建远程跟踪分支,如
origin/master

此时,您已经获取了远程存储库,但仍然只剩下一个
.git
目录。您需要将
origin/master
合并到本地
master
分支中

  • git签出主机
    如果尚未签出
  • git合并源站/主站
现在,您的
master
与远程
master
匹配,并已签出。现在您应该看到
.git
(存储库)以及存储库中的任何内容

git clone[git_URL]
一步完成上述所有操作。它初始化一个新的存储库,添加GIT_URL作为远程源,获取源,签出
master
,并将
origin/master
合并到
master


现在,将web服务器配置为拒绝访问任何
.git
目录


Git不是一个部署工具,但是对于非常小的项目,您可以不使用它。更好的简单解决方案是使用一个工具,例如将代码(跳过
.git
)发送到生产服务器。

git不是部署工具。您可能应该找到一个真正的部署工具,并使用它从开发文件的存储库中部署特定的提交。您能推荐一个部署工具吗?谢谢。您可以使用'--git dir'限定符使您的git目录完全脱离图片。但也许使用不同的部署方案更好,例如“cp”/我自己没有任何首选方案。StackOverflow并不是要求使用此类工具的合适地方:请参阅superuser.com和类似的网站。我喜欢这个答案,我也喜欢让git更清晰的演练。谢谢关于公用html文件夹的权限是什么?git会保持这些权限不变吗?这就是为什么rsync是一个更好的选择。thanks@SamArcos您签出的文件将具有您提交这些文件的权限。您需要确保它们对于已部署的web应用程序是正确的。Git不控制所有者和组,这取决于执行签出的用户的设置方式
rsync
是一个更好的选择,因为它是为同步目录而设计的。您可以更好地控制哪些文件和目录与哪些权限同步。最终,您会希望转移到一个完整的部署系统,就像使用暂存服务器一样,但是rsync对于推送HTML是合适的。