国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Git】Github 上傳文件到遠程倉庫時,經(jīng)常發(fā)生網(wǎng)絡(luò)錯誤,一個比較穩(wěn)定的連接方法及我的示例

這篇具有很好參考價值的文章主要介紹了【Git】Github 上傳文件到遠程倉庫時,經(jīng)常發(fā)生網(wǎng)絡(luò)錯誤,一個比較穩(wěn)定的連接方法及我的示例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、問題導(dǎo)讀

在利用 git 傳項目文件到遠程倉庫時,經(jīng)常發(fā)生網(wǎng)絡(luò)連接錯誤,例如:

fatal: unable to access 'https://github.com/biluko/RegionCLIP.git/': Failed to connect to github.com port 443 after 21106 ms: Timed out

再比如:

error: failed to push some refs to 'https://github.com/biluko/RegionCLIP.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

再比如:

fatal: unable to access 'https://github.com/biluko/RegionCLIP.git/': OpenSSL SSL_read: Connection was reset, errno 10054

這種類似的情況很多,每次都覺得不勝其擾,今天下午嘗試上傳五次,全都是以網(wǎng)絡(luò)問題而失敗,想著找到一種穩(wěn)定上傳的方式,來解決這個問題。

下面是我的最為順利的一次上傳流程:

二、完整的一個流程

2.1 初始化

打開命令行終端或 Git Bash,切換到你想要初始化為 Git 倉庫的目錄,運行以下的命令:

git init

Git 將在當前目錄中創(chuàng)建一個名為 “.git” 的子目錄,并將其設(shè)置為 Git 倉庫。此時,你就可以開始使用 Git 進行版本控制了。

如果一切順利,你將看到類似以下的輸出:

Initialized empty Git repository in /path/to/your/repository/.git/

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP
這時,我們看一下對應(yīng)的文件夾:

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

2.2 從遠程倉庫拉取最新的更改并合并到當前分支

git pull 命令用于從遠程倉庫拉取最新的更改并合并到當前分支。你可以使用以下命令將遠程倉庫 https://github.com/biluko/RegionCLIP.git 的更改拉取到你的本地分支:

git pull https://github.com/biluko/RegionCLIP.git

請確保你在執(zhí)行該命令之前已經(jīng)初始化了一個 Git 倉庫(可以通過 git init 進行初始化)。此外,確保你有合適的訪問權(quán)限來訪問該遠程倉庫。

執(zhí)行 git pull 命令后,Git 會嘗試將遠程倉庫的最新更改自動合并到你的當前分支。如果存在沖突,你需要手動解決沖突并進行提交。完成合并后,你的本地分支將包含來自遠程倉庫的最新更改。

請注意,如果你之前已經(jīng)與該遠程倉庫建立了關(guān)聯(lián)(使用 git remote add 命令),你可以直接使用遠程倉庫的別名來代替 URL:

git pull origin

將 origin 替換為你所使用的遠程倉庫別名。

但是我使用這條命令會報錯,具體如下:

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

2.3 遠程倉庫的 SSH URL

使用上面的HTTP協(xié)議,會發(fā)生網(wǎng)絡(luò)不穩(wěn)定的情況,所以我改善一下方法,嘗試用SSH URL:

git pull git@github.com:biluko/RegionCLIP.git

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP
git pull git@github.com:biluko/RegionCLIP.git 是使用 SSH 協(xié)議進行從遠程倉庫拉取更新的命令。這個命令會嘗試從 git@github.com:biluko/RegionCLIP.git 這個 SSH URL 對應(yīng)的遠程倉庫拉取最新的更改并合并到你的當前分支。

確保你已經(jīng)正確配置了 SSH 密鑰,并將其添加到你的 GitHub 帳戶中。

執(zhí)行這個命令時,Git 將使用 SSH 協(xié)議進行通信,使用你配置的 SSH 密鑰進行身份驗證。如果一切正常,Git 將拉取遠程倉庫的最新更改并嘗試將其合并到你的當前分支。

請確保在執(zhí)行這個命令之前已經(jīng)在本地 Git 倉庫目錄中執(zhí)行了 git init 命令進行初始化,以及設(shè)置了正確的遠程倉庫地址。

如果你遇到任何錯誤,請確保你的 SSH 密鑰配置正確,并且你具有訪問該遠程倉庫的權(quán)限。

備注信息:

在執(zhí)行 git pull git@github.com:biluko/RegionCLIP.git 命令時,你使用了遠程倉庫的 SSH URL。然而,這個命令的語法不完整,缺少了遠程倉庫的別名(remote)以及分支名稱。

正確的語法應(yīng)該是:

git pull <remote> <branch>

你需要將 替換為遠程倉庫的別名, 替換為你要拉取的分支的名稱。如果你還沒有添加遠程倉庫的別名,你可以使用 git remote add 命令添加遠程倉庫:

git remote add origin git@github.com:biluko/RegionCLIP.git

這將把遠程倉庫的別名設(shè)置為 origin。

然后,你可以使用以下命令來拉取遠程倉庫的指定分支的最新更改:

git pull origin <branch>

確保將 <branch> 替換為你要拉取的分支的名稱。

請注意,你需要先在本地進行初始化(使用 git init 命令)并配置正確的 SSH 密鑰,以確保你具有訪問遠程倉庫的權(quán)限。

2.4 添加到暫存區(qū)

git add . 命令用于將當前目錄下的所有變更(包括新添加的文件和已修改的文件)添加到 Git 的暫存區(qū),以備后續(xù)提交。

執(zhí)行 git add . 命令后,Git 將會掃描當前目錄及其子目錄下的所有文件,并將它們添加到暫存區(qū)。這意味著 Git 將跟蹤這些文件的變化,并在你執(zhí)行提交操作時將它們包含在提交中。

請注意,git add . 命令會將當前目錄及其子目錄中的所有文件添加到暫存區(qū),包括未跟蹤的文件。如果你只想將已修改的文件添加到暫存區(qū),而不包括新添加的文件或未跟蹤的文件,可以使用 git add -u 命令。

執(zhí)行 git add . 或 git add -u 后,你可以使用 git status 命令來查看暫存區(qū)的狀態(tài),確認被添加的文件是否正確。

記住,在執(zhí)行提交之前,你可能還需要執(zhí)行 git commit 命令將暫存區(qū)中的變更提交到本地倉庫。

git add .

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

上面只是展示的部分結(jié)果!

2.5 提交操作

git commit -m "RegionCLIP"

git commit -m “RegionCLIP” 是提交操作的命令,它會將你暫存區(qū)中的變更提交到本地倉庫,并為提交添加一個描述性的提交信息。

執(zhí)行該命令時,請確保已經(jīng)在執(zhí)行 git add 命令將需要提交的文件添加到暫存區(qū)。

解釋一下該命令的各個部分:

git commit:表示提交操作。
-m “RegionCLIP”:使用 -m 參數(shù)后面跟隨的雙引號內(nèi)的內(nèi)容作為提交的描述信息。你可以根據(jù)實際情況將 “RegionCLIP” 替換為更具體的提交信息,以便描述本次提交的內(nèi)容。
執(zhí)行 git commit -m “RegionCLIP” 命令后,Git 會將暫存區(qū)的變更提交到本地倉庫,并為該提交賦予指定的提交信息。

請注意,這只會將提交保存在你的本地倉庫中,并不會同步到遠程倉庫。如果你希望將本地提交推送到遠程倉庫,請執(zhí)行 git push 命令。

通過執(zhí)行提交操作,你可以將已暫存的文件的更改記錄到版本歷史中,并提供有關(guān)這次更改的描述信息。這對于跟蹤項目的發(fā)展和與團隊成員之間的協(xié)作非常有用。

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

2.6 將一個遠程倉庫添加為 Git 倉庫的遠程別名

git remote add origin git@github.com:biluko/RegionCLIP.git

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

git remote add origin git@github.com:biluko/RegionCLIP.git 是將一個遠程倉庫添加為 Git 倉庫的遠程別名(remote alias)。使用這個命令可以將名為 origin 的遠程別名與遠程倉庫的 URL git@github.com:biluko/RegionCLIP.git 相關(guān)聯(lián)。

解釋一下該命令的各個部分:

git remote add:表示添加遠程別名的操作。
origin:是你為遠程倉庫起的一個別名,你可以根據(jù)需要選擇一個有意義的名稱。通常情況下,我們使用 origin 作為默認的遠程倉庫別名。
git@github.com:biluko/RegionCLIP.git:是遠程倉庫的 SSH URL。
通過執(zhí)行 git remote add origin git@github.com:biluko/RegionCLIP.git 命令,你將在你的本地 Git 倉庫中添加了一個名為 origin 的遠程別名,該別名與指定的遠程倉庫的 URL 相關(guān)聯(lián)。

添加遠程別名后,你可以使用 origin 別名來指代該遠程倉庫,方便進行推送、拉取等與遠程倉庫的交互操作。例如,你可以使用 git push origin <branch> 將本地分支推送到 origin 遠程倉庫。

請確保在執(zhí)行該命令之前已經(jīng)初始化了一個 Git 倉庫(使用 git init 進行初始化)并配置了正確的 SSH 密鑰,以確保你具有訪問遠程倉庫的權(quán)限。

2.7 推送到遠程倉庫

git push origin master

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP
git push origin master 是將本地的 master 分支推送到名為 origin 的遠程倉庫的命令。

解釋一下該命令的各個部分:

git push:表示推送操作。
origin:是你為遠程倉庫起的一個別名,用于指代遠程倉庫的 URL。在執(zhí)行 git remote add 命令時,我們通常將遠程倉庫的別名設(shè)置為 origin。
master:表示要推送的本地分支名稱。在這種情況下,你將推送本地的 master 分支到遠程倉庫。
通過執(zhí)行 git push origin master 命令,Git 將會將本地的 master 分支上的提交推送到名為 origin 的遠程倉庫。

請注意,如果你尚未在遠程倉庫中創(chuàng)建 master 分支,Git 將會創(chuàng)建一個新的 master 分支,并將本地的 master 分支上的提交推送到遠程倉庫。

確保在執(zhí)行該命令之前已經(jīng)將遠程倉庫的 URL 添加為遠程別名(使用 git remote add 命令),并具有足夠的權(quán)限來推送到該遠程倉庫。

在執(zhí)行推送操作之前,建議先進行 git commit 將本地的更改提交到本地倉庫。這樣可以確保推送的是最新的更改。

2.8 最后的結(jié)果

github連接不穩(wěn)定,Github,git,github,網(wǎng)絡(luò),SSH,HTTP

三、HTTP和SSH的理解

3.1 兩者的區(qū)別

GitHub 的 HTTP 和 SSH 是兩種不同的協(xié)議,用于與遠程倉庫進行通信和進行代碼的推送與拉取。它們之間的主要區(qū)別如下:

3.1.1 認證方式

HTTP 使用基于用戶名和密碼的認證方式,而 SSH 使用公鑰和私鑰對進行認證。

  • HTTP:在使用 HTTP 協(xié)議時,你需要提供你的 GitHub 用戶名和密碼來進行身份驗證。這意味著每次與遠程倉庫通信時都需要輸入密碼。
  • SSH:使用 SSH 協(xié)議時,你需要生成一對 SSH 密鑰(公鑰和私鑰)。將公鑰添加到你的 GitHub 帳戶中,而私鑰將保存在本地。在每次與遠程倉庫通信時,使用私鑰進行認證。這種方式更安全,因為不需要在每次通信時輸入密碼。

3.1.2 傳輸協(xié)議

HTTP 使用 HTTPS 協(xié)議進行數(shù)據(jù)傳輸,而 SSH 使用 SSH 協(xié)議進行數(shù)據(jù)傳輸。

  • HTTP:使用 HTTPS 進行數(shù)據(jù)傳輸,通過加密和認證來確保通信的安全性。
  • SSH:使用 SSH 協(xié)議進行數(shù)據(jù)傳輸,同樣具備加密和認證的功能,并且通過公鑰和私鑰的使用來確保通信的安全性。

3.1.3 倉庫克隆方式

克隆遠程倉庫時,你可以選擇使用 HTTP 或 SSH。

  • HTTP:在使用 HTTP 進行克隆時,你可以使用倉庫的 HTTPS URL。
git clone https://github.com/username/repository.git
  • SSH:在使用 SSH 進行克隆時,你可以使用倉庫的 SSH URL。
git clone git@github.com:username/repository.git

總的來說,SSH 協(xié)議相對更安全,因為它使用公鑰和私鑰進行身份驗證,并且數(shù)據(jù)傳輸也經(jīng)過加密。而 HTTP 協(xié)議更簡單,適用于一些對安全性要求不高的場景。選擇使用哪種協(xié)議取決于你的偏好和具體需求。

3.2 為什么SSH比HTTP的網(wǎng)絡(luò)顯得更加穩(wěn)定?

HTTP 在網(wǎng)絡(luò)通信過程中可能會遇到各種網(wǎng)絡(luò)報錯,而 SSH 相對更穩(wěn)定的原因可以歸結(jié)為以下幾點:

  1. 傳輸協(xié)議差異:HTTP 使用基于文本的協(xié)議,而 SSH 使用二進制協(xié)議。二進制協(xié)議相對于文本協(xié)議來說,傳輸效率更高,數(shù)據(jù)傳輸更可靠。
  2. 長連接與短連接:HTTP 是基于短連接的協(xié)議,每次請求都需要建立連接并進行關(guān)閉,這樣頻繁的連接建立和關(guān)閉操作增加了網(wǎng)絡(luò)傳輸?shù)拈_銷和延遲。而 SSH 建立的是長連接,減少了連接的建立和關(guān)閉次數(shù),提高了數(shù)據(jù)傳輸?shù)男省?/li>
  3. 加密與認證機制:SSH 使用公鑰和私鑰對進行身份認證和數(shù)據(jù)加密,這種機制提供了更高的安全性和數(shù)據(jù)完整性,有效地防止了中間人攻擊和數(shù)據(jù)篡改。而 HTTP 的認證機制相對簡單,只依賴于用戶名和密碼,安全性較弱。
  4. 端口限制:某些網(wǎng)絡(luò)環(huán)境可能對特定的網(wǎng)絡(luò)端口有限制,而 SSH 默認使用 22 端口,較少受到限制。而 HTTP 使用的默認端口是 80 或 443,根據(jù)網(wǎng)絡(luò)環(huán)境和防火墻的設(shè)置,可能會受到限制或阻止。

綜上所述,SSH 相對于 HTTP 具有更高的穩(wěn)定性和安全性,特別是在網(wǎng)絡(luò)不穩(wěn)定、對安全性要求較高或限制較多的環(huán)境下,使用 SSH 通信可以更可靠地進行遠程操作和數(shù)據(jù)傳輸。文章來源地址http://www.zghlxwxcb.cn/news/detail-766389.html

到了這里,關(guān)于【Git】Github 上傳文件到遠程倉庫時,經(jīng)常發(fā)生網(wǎng)絡(luò)錯誤,一個比較穩(wěn)定的連接方法及我的示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • git bash上傳文件至github倉庫

    git bash上傳文件至github倉庫

    Linux運維工具-ywtool github 新建完倉庫后,如果沒有添加README.md文件,會有提示教怎么上傳 git bash下載鏈接 提前在自己電腦的磁盤上新建一個文件夾,專門用來上傳github的文件 添加自己的郵箱地址 下面這條命令會在\\\"C:User用戶名\\\"目錄下生成.ssh目錄,里面有兩個文件\\\"id_rsa\\\"(私鑰)、“

    2024年04月15日
    瀏覽(30)
  • Git——如何上傳本地文件到自己的github倉庫

    Git——如何上傳本地文件到自己的github倉庫

    本博文介紹了如何將本地的項目文件推送到自己遠程的github倉庫。 因為程序是在ubuntu系統(tǒng)里面跑的, 一開始是想在Ubuntu系統(tǒng)里面將文件上傳到github倉庫,通過修改hosts文件里面的github的ip地址,偶爾能在瀏覽器里面打開github網(wǎng)頁,但非常慢,而且再次登錄github頁面經(jīng)常又打不

    2024年01月24日
    瀏覽(44)
  • xshell---git上傳文件到gitee遠程倉庫配置

    xshell---git上傳文件到gitee遠程倉庫配置

    如果沒有xshell下沒有下載過git,可以參考這篇的教程:Linux配置安裝 git 詳細教程 ?下載后可以通過 git --version 查看git的版本號,驗證是否安裝成功 首先需要在gitee上注冊一個賬號 然后再主頁面點擊右上邊框的 + 號,選擇新建倉庫,建立一個倉庫: ?然后填寫新建倉庫的名稱

    2024年02月07日
    瀏覽(23)
  • 解決git上傳遠程倉庫時的大文件提交

    解決git上傳遠程倉庫時的大文件提交

    在git中超過100M的文件會上傳失敗,而當一個文件超過50M時會給你警告,如下 解決這種問題,首先在項目的.git文件夾中找到.gitignore文件,并打開它進行編輯。在這個文件中,添加一行代碼來忽略大文件的git上傳。例如忽略jar: 接下來,使用Git LFS(Large File Storage)來管理大文

    2024年02月11日
    瀏覽(24)
  • Git:把本地文件從本地上傳到遠程倉庫GitLab中

    Git:把本地文件從本地上傳到遠程倉庫GitLab中

    選擇目錄 , 右鍵選擇Git Bash Here(git的命令窗口) git命令窗口中輸入git init , 發(fā)現(xiàn)git-test目錄中生成一個隱藏的.git目錄 , 說明git-test目錄成為工作區(qū) ?然后輸入git status?查看狀態(tài),如果出現(xiàn)紅色文件,那么就說明文件還沒提交到緩存區(qū) 在git控制臺中使用命令 ?git add 文件名(帶后

    2024年02月13日
    瀏覽(26)
  • 【Git】手把手教你使用Git將本地文件上傳到遠程倉庫

    【Git】手把手教你使用Git將本地文件上傳到遠程倉庫

    最近在學(xué)習(xí)Git,寫篇博客記錄一下,如有錯誤還請指正。 文章內(nèi)容大致如下: ??????? 1.新建本地倉庫,并上傳本地倉庫中的文件到遠程倉庫 ??????? 2. 修改遠程倉庫文件內(nèi)容,同步更新到本地倉庫中 準備: ????????1. 需要在Gitee注冊自己賬號 ????????2. 已在電

    2024年02月05日
    瀏覽(23)
  • Visual Studio使用Git忽略不想上傳到遠程倉庫的文件

    Visual Studio使用Git忽略不想上傳到遠程倉庫的文件

    作為一個.NET開發(fā)者而言,有著宇宙最強IDE:Visual Studio加持,讓我們的開發(fā)效率得到了更好的提升。我們不需要擔(dān)心環(huán)境變量的配置和其他代碼管理工具,因為Visual Studio有著眾多的拓展工具。廢話不多說,直接進入正題。我們?nèi)粘T谑褂肰isual Studio開發(fā)相關(guān)的.NET項目時,經(jīng)常

    2024年02月20日
    瀏覽(28)
  • git push 推送至遠程倉庫發(fā)生報錯

    git push origin master To https://gitee.com/ /hello-git.git ! [rejected] master - master (fetch first) error: failed to push some refs to \\\'https://gitee.com/ /hello-git.git’ hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may wan

    2024年02月13日
    瀏覽(31)
  • 關(guān)于git推送代碼到github遠程倉庫中文亂碼問題,visual studio保存文件默認編碼格式問題

    關(guān)于git推送代碼到github遠程倉庫中文亂碼問題,visual studio保存文件默認編碼格式問題

    中文亂碼問題本質(zhì)上的原因是:二者的編碼格式不同 。當你用GB2313格式保存一個文件,用utf-8的格式打開,它必然就顯示亂碼。 據(jù)我所知,github上面是utf-8,而visual studio默認保存為GB2312,把代碼推送到github上面看,中文部分就是亂碼。 用 高級保存選項 來設(shè)置保存操作的編碼

    2024年04月11日
    瀏覽(33)
  • 使用git上傳github倉庫

    使用git上傳github倉庫

    1 安裝和設(shè)置 Git Git官網(wǎng),直接下載安裝Git即可。在本地需要上傳的代碼文件夾中右擊Open Git Bash here。 2 安裝好 Git 之后,在命令行中輸入以下命令來設(shè)置你的 GitHub 用戶名和電子郵件 3.在本地初始化你的項目 初始化后可以在文件夾中看到.git文件,如果沒有發(fā)現(xiàn)就是沒有打開隱

    2024年01月21日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包