是否可以使用git下载Github项目的副本:
我想将项目下载到我的网站的根目录而不是项目子文件夹。
如果我这样做:
git clone --depth=1 https://github.com/some_github_account/project_1.git
所有内容都下载但它将所有内容放入我的文档根目录中名为“project_1”的文件夹中,并且内部是一个我不想要的/.git/文件夹。
/home/bob/www/project_1/
/home/bob/www/project_1/.git/
使用git,将项目中的所有文件直接下载到我没有所有repo内容的文件夹中的最简洁,最简单的方法是什么?
如果您不打算推动您的提交为您正在克隆的项目做出贡献,那么您可以采取一个步骤,允许自己在该文件夹中拥有自己的远程。
跑
rm -rf .git
从文件夹中删除克隆的git仓库,然后按照您通常的步骤创建自己的,即
git init
git add .
git commit -m "initial commit"
然后添加自己的回购
git remote add add origin [email protected]/account/repository
你明白了。
如果你采取这种方式,只要确保你自己的工作是你提交的,而不仅仅是别人的构建的完整复制品。希望这有帮助,即使它不是你希望的方式。 Git的设置方式有充分理由,但有特殊要求的人可以使用变通方法。重点是第一行。
您可以使用以下命令:
git clone https://github.com/some_github_account/project_1.git .
rm -rf ./.git
它将克隆当前文件夹中的项目并删除.git文件夹。
您现在可以使用git init
命令添加git设置。
谢谢大家的帮助,最后,这不是一个解决我所有问题的答案,而是一系列建议和额外的研究,帮助我得到了我所需要的。
当我第一次使用连接到GitHub的新站点设置客户端时,我需要的一些东西必须手工完成,剩下的我将通过shell_exec()函数在PHP中完成。
git clone --depth=1 https://github.com/modusinternet/Custodian-CMS.git /tmp/Custodian-CMS
rm -rf /tmp/Custodian-CMS/.git
shopt -s dotglob
cp -r /tmp/Custodian-CMS/* /home/YOUR_ACCOUNT/YOUR_WEB_FOLDER
rm -rf /tmp/Custodian-CMS
git init
git add --all
git config --global user.email ""
git config --global user.name ""
git commit -m "first commit"
git remote add origin [email protected]:YOUR_ACCOUNT_ON_GITHUB/YOUR_REPO_ON_GITHUB.git
git push -u origin master
这会删除我需要的副本,清理它,将它放在它所属的位置,在新位置初始化git,将它连接到我的新repo并推送所有内容以便我可以开始处理它。
在我的情况下,我不需要向后兼容性,因为我使用的每个客户端都完全改变了起始模板。
我将在管理员中添加一个按钮,以帮助稍后直接将FTP上传到服务器,但这是我将用于使用repo重新同步它的代码:
git add --all
git commit -m "From server"
git push -u origin master
特别感谢Andrea Peekatchu Follack,rishabh agarwal和CodeWizard的建议。