我的场景是我使用SourceTree创建了一个本地git存储库。当我处理我的项目时,我会提交到我的本地存储库。 Git没有什么新东西。所以我现在有一个完善的Git存储库,我想放在远程服务器上并执行正常的Git推/拉到远程存储库,以便我的网站文件将通过我的推送更新。
如何创建一个远程存储库,其中还包含我的所有项目文件夹,以便我可以从本地存储库推送,远程存储库将使用我在本地项目中创建的新文件/文件夹进行更新? Git如何处理传输文件?
截至目前,我已尝试在远程服务器上创建新存储库并将本地存储库推送到该存储库。它成功地推送到存储库(更新提交),但我无法通过推送将实际文件(.html,.php,.js等)提供给服务器。
答案 0 :(得分:0)
您需要先将远程存储库添加到现有存储库中。
git remote add origin http://your/repository/url
然后您必须暂存并提交所有更改。 (可选)
git commit -a -m "Some comment"
然后你可以通过以下命令推送
git push origin master
这将在您的远程存储库中创建一个主分支,您的更改将被推送到那里。 如果您在推送之前收到一些需要拉出的消息,那么您可以通过
强制推送git push -f origin master
这将强制推动您的本地更改。但是我不建议每次都强行推,除非你知道你在做什么。
答案 1 :(得分:0)
我很抱歉我的请求没有得到很好的陈述。即使我每天都在工作中使用git,我也从未在远程服务器上设置过存储库。
我真正追求的是如何在远程服务器上正确设置存储库,允许我推送到存储库然后拉入Web根文件夹。
为实现这一目标,我在服务器上的webroot旁边创建了一个裸存储库。 (按照惯例,裸存储库名为anynamehere.git)
mkdir <anynamehere>.git
cd <anynamehere>.git
git init --bare
然后,在我的本地存储库中添加了遥控器。
git remote add <name> <url>
接下来,我对我的本地存储库分支进行了上游推送,以使它们进入远程存储库。
git push -u <remote> <branch>
现在我的遥控器正确拥有了我的存储库,我可以将它克隆到web根文件夹中。
git clone /~<username>/public_html/<anynamehere>.git
&#34; anynamehere&#34;与我的web根文件夹名称相同,所以当克隆完成后我就进入文件夹并设置我想要显示为我的网页的分支。
cd <webroot>
git checkout <branch>
宾果!现在我的网站显示我所在的任何分支。当我想对网站进行更改时,我只是从我的本地ssh推送到我的网站根目录
git pull
所有更改都会直接应用到我的网站上,因为它们会被取消。