[英]Git pushing to a private repo
我一直在我的本地 web 應用程序上工作,我被要求將它推送到一個空的(只讀我的文件)專為這個項目創建的私人回購。 我是git
的新手,我在這樣做時遇到了麻煩。
有人可以告訴我我做錯了什么嗎?
我首先使用命令行導航到本地應用程序的主文件夾並初始化 git。之后,我嘗試使用以下命令克隆遠程倉庫:
git clone git://github.com/somename/Web-App.git
但我得到錯誤:
克隆到“Web-App”...致命:遠程錯誤:未找到存儲庫。
我知道回購協議在那里..我真的需要先從那個遠程克隆或拉出,還是有辦法直接推送到那個回購協議。
同樣,我要做的就是將我在本地的文件推送到我有權訪問的特定存儲庫。
我真的很感激任何幫助。
假設“yourWebApp”是您擁有本地 Web 應用程序的文件夾。 將其更改為目錄
cd 'yourWebApp'
在文件夾中初始化 git
git init
現在將您的 github url 添加為遠程
git remote add origin git://github.com/somename/Web-App.git
這里的origin是你的 url 的簡稱
現在從 github repo 中提取 read me 文件
git pull origin master
現在將您的 Web 應用程序推送到 github 存儲庫
git push origin master
這里假設您在master ,默認分支
此處需要拉取自述文件以將自述文件與本地工作合並。 如果你的github倉庫是空的,可以跳過pull直接push到你的github倉庫。
另一方面,如果您想使用clone,則無需初始化,因為clone 會自動在目錄中設置git。 clone還設置您的遠程 git url。 在這種情況下,您的工作流程應該是
clone -> push
我面臨同樣的問題。 我能夠通過從 Windows 中刪除舊憑據來解決這個問題。
一旦我這樣做了,它又開始工作了。
要推送到私有存儲庫,您可能希望對其進行分叉,將更改推送到您的副本(將保持私有),然后創建拉取請求。 當我嘗試直接推送到私有存儲庫時,我收到了令人費解的“遠程:未找到存儲庫。致命”消息,盡管我可以正常拉取。
我忘記把https
放在我的 URL 之前:
git remote -v # URL doesn't have https
git remote remove origin # remove old URL
git remote add origin https://github.com/user-name/project-name.git # add new URL w/ https
git push -u origin main # try again
如果你不刪除舊的 URL,你會得到error: remote origin already exists.
git clone 為此目的有點矯枉過正。
git 提供的用於處理其他服務器的機制被恰當地稱為遠程。 這通常在您克隆時自動設置,解釋為什么這是您的本能。
文檔可以在這里找到:
http://git-scm.com/book/en/Git-Basics-Working-with-Remotes
一些總結命令:
git remote add [remote-name] [branch-name]
git fetch [remote-name]
git push [remote-name] [branch-name]
此外,您可能會考慮設置跟蹤分支,這將消除每次鍵入命令時限定遠程名稱的需要。 該用例的文檔在這里。
http://git-scm.com/book/en/Git-Branching-Remote-Branches
通常,如果你克隆一個倉庫,git 會執行git checkout -b master [remotename]/master
不過,您的跟蹤分支不必是主分支。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.