我如何 link 一个已经建立的本地 git 存储库到一个新的远程存储库并将所有文件推送到远程?

How do I link an already established local git repository to a new remote repository and push all files to remote?

我的方案是使用 SourceTree 创建了一个本地 git 存储库。当我处理我的项目时,我会提交到我的本地存储库。 Git 没有什么新鲜事。所以我现在有一个完善的 Git 存储库,我想放在远程服务器上并对远程存储库执行正常的 Git push/pull 以便我的网站文件将被更新我的推送。

如何创建一个包含我所有项目文件夹的远程存储库,以便我可以从我的本地存储库推送,并且远程存储库将使用我在本地项目中创建的新 files/folders 进行更新? Git 如何处理文件传输?

截至目前,我已经尝试在远程服务器上创建一个新的存储库并将我的本地存储库推送到它。它成功推送到存储库(更新提交),但我无法通过推送将实际文件(.html、.php、.js 等)发送到服务器。

您需要先将远程存储库添加到现有存储库。

git remote add origin http://your/repository/url

然后您必须暂存并提交所有更改。 (可选)

git commit -a -m "Some comment"

然后就可以通过以下命令推送

git push origin master

这将在您的远程存储库中创建一个主分支,您的更改将被推送到那里。 如果您在推送之前收到一些需要拉取的消息,那么您可以通过

强制推送
git push -f origin master

这将强制推送您的本地更改。但是我不建议每次都用力推动,除非你知道自己在做什么。

对于我的请求没有得到很好的说明,我深表歉意。尽管我每天都在工作中使用 git,但我之前从未在远程服务器上设置过存储库。

我真正想要的是如何在远程服务器上正确设置一个存储库,让我可以推送到它,然后拉入网络根文件夹。

为了实现这一点,我在我的服务器上的 webroot 旁边创建了一个裸存储库。 (按照惯例,裸存储库被命名为 anynamehere.git)

mkdir <anynamehere>.git
cd <anynamehere>.git
git init --bare

然后,在我的本地存储库中添加了遥控器。

git remote add <name> <url>

接下来,我对本地存储库分支进行了上游推送,以将它们放入远程存储库。

git push -u <remote> <branch>

现在我的遥控器正确地拥有了我的存储库,我可以将它克隆到网络根文件夹中。

git clone /~<username>/public_html/<anynamehere>.git

"anynamehere" 与我的 web 根文件夹同名,所以当克隆完成后,我只是进入该文件夹并设置我想显示为我的网页的分支。

cd <webroot>
git checkout <branch>

宾果!现在我的网站显示我所在的任何分支。当我想对站点进行更改时,我只需从本地 ssh 推送到我的 Web 根目录,然后

git pull

所有更改都会直接应用到我的网站,因为它们会被拉走。