簡體   English   中英

如何將已建立的本地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推/拉到遠程存儲庫,以便我的網站的文件將通過我的推送進行更新。

如何創建一個遠程存儲庫,其中還包括我的所有項目文件夾,以便我可以從本地存儲庫推送,遠程存儲庫將使用我在本地項目中創建的新文件/文件夾進行更新? 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,我也從未在遠程服務器上設置存儲庫。

我真正想要的是如何在遠程服務器上正確設置存儲庫,允許我推送到它,然后進入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

“anynamehere”與我的web根文件夾名稱相同,所以當克隆完成后我就進入文件夾並設置我想要顯示為我的網頁的分支。

cd <webroot>
git checkout <branch>

答對了! 現在我的網站顯示我所在的任何分支。 當我想對網站進行更改時,我只是從我的本地,ssh推送到我的網站根目錄

git pull

所有更改都適用於我的網站,因為它們被拉了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM