????????之前一直用vscode的上傳項目方法,這個方便之處在于不用打開git終端輸入各種命令,不過麻煩的是我一直無法拉取github上的遠程倉庫提交,每次只能更新已有的倉庫并且上傳的文件還不能太大,應該是不能超過100MB,而且直接在github界面上傳文件也不能超過25MB,這是github為了保證網頁的響應速度。
????????于是看了B站的一個up主采用git方法來上傳文件,整個流程還是挺絲滑的,不過有一些需要注意的點。
????????下面演示整個過程。
? ? ? ? 下載git(不會可以搜搜教程,不難),首先在github上創建一個新倉庫,如果你直接在這里Add file,添加了一些文件或者添加readme文件,那么后面有一些點需要注意。
????????右鍵我們要上傳的文件,點擊Open Git Bash here 。
????????依次輸入以下兩條命令表示上傳該文件中的所有的文件。(暫時可忽略可能出現的一些警告信息)
????????這時在我們要上傳的文件中會出現一個git文件夾(如果沒有,可能是被隱藏了,點擊查看,顯示隱藏的項目)。
????????點擊剛剛出現的git文件夾,再點擊里面的config文件,用vscode或者記事本打開,添加[user]和后面的兩條信息,對應的是自己github的注冊郵箱和github名字。
[user]
email=2059356794@qq.com
name=ziyizhou
????????再輸入下面這條指令," "中是自己取的本次提交的名字。?
????????這時會加載我們文件夾中的所有文件。?
????????再輸入下面這條命令,origin后面的網址是自己剛剛創建的github網址 。
????????網址從自己的github項目復制 。
????????輸入下面這條指令推送(push)項目到github就完成啦,注意現在的github默認分支是main,之前的默認是master,可能你看別的教程使用的是master,這是老版本。
????????現在的github默認分支是main,如下圖。
????????注意,前面提到,如果你在創建項目時直接Add file,添加了一些文件或者添加readme文件,那么直接push會失敗,會報以下的錯誤,這個錯誤說明遠程倉庫的main
分支有本地沒有的更新(比如其他人推送過代碼,或你在 GitHub 網頁端直接修改過文件),需要先同步遠程的更新到本地,再推送你的修改。
????????執行以下這條命令,這條指令的意思是把遠程庫中的更新合并到本地庫中,-rebase的作用是取消掉本地庫中剛剛的commit,并把他們接到更新后的版本庫之中。
? ? ? ? 用圖形象的解釋下錯誤情況的發生和解決(摘抄自其他博客)
git pull –rebase origin main意為先取消commit記錄,并且把它們臨時 保存為補丁(patch)(這些補丁放到”.git/rebase”目錄中),之后同步遠程庫到本地,最后合并補丁到本地庫之中。
接下來就可以把本地庫push到遠程庫當中了。
????????再重新執行推送操作就可以、成功上傳啦。?
????????刷新我們的github項目,就可以看到文件已經被上傳了。
可能遇到的問題:
????????當遇到HTTP緩存不夠導致的Git錯誤時。
????????修改git配置,增大http.postBuffer值,例如設置為524288000字節,以允許更大的文件傳輸。輸入以下指令。
$ git config --global http.postBuffer 524288000
? ? ? ??
????????如果還是上傳失敗,比如我在上傳一個較大項目時總是上傳失敗,顯示 Connection was absorted,連接被終止。
?
????????使用SSH密鑰上傳?
? ? ? ? 點擊Settings
點擊新建一個密鑰?
給密鑰起一個名字
?
win+R,輸入cmd打開終端,輸入以下指令獲取密鑰
ssh-keygen -t rsa -b 4096 -C "注冊github的郵箱"
?打開生成密鑰的pub文件,
復制密鑰到github上
點擊添加密鑰,驗證密碼后,打開我們要上傳的文件的git終端,和前面的操作一致。
在origin后面,復制的github網址就不再是HTTP網址,而是SSH網址。
?
類似的操作,改變下網址類型。
顯示推送成功。
如果你在操作過程過程中遇到了任何問題,歡迎留言 !?