【自用記錄】本地關聯GitHub以及遇到的問題

最近終于又想起GitHub,想上傳代碼和項目到倉庫里。
由于很早之前有在本地連接過GitHub(但沒怎么用),現在需要重新搞起(操作忘得差不多)。
在看教程實操的過程中遇到了一些小問題,遂記錄一下。

前置操作

  • 本地下載安裝 Git:官網鏈接;
  • 在 GitHub 上創建新倉庫(New repository)。

添加SSH

首先,右鍵 Git Bash Here 打開一個Git的命令窗口。

  1. 綁定用戶
    由于我以前用過,已經綁定了,可以跳過這部。
    用以下命令,可以查看是否有綁定。有user.nameusere.mail說明綁定成功。
git config --global --list

在這里插入圖片描述

綁定命令如下,其中 user.nameusere.mail是自己 GitHub 的用戶名與郵箱。

git config --global --unset user.name "user.name"
git config --global --unset user.email "user.email"
  1. 生成SSH key
    輸入以下指令,生成 GitHub 的 SSH key。
    其中,"user.email"是自己 GitHub 的郵箱。
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "user.email"

這是成功的截圖。
SSH Key 生成成功截圖

在這里我遇到了一個問題。
由于以前生成過一個 SSH key,跳過這步執行后面的步驟一直出錯,所以只好刪除重新生成一個才可以。
C盤 > Users > 用戶名 > .ssh文件夾下,有 id_rsa.pub文件,說明SSH Key 生成成功。有問題,就把這個文件刪了,再重復上面步驟重新生成一個。
id_rsa.pub所在電腦文件夾

接下來就是打開 id_rsa.pub文件,把里面的秘鑰內容復制到GitHub的 SSH Key 里。
點擊 GitHub頭像 > 設置(Settings)> SSH and GPG keys,新建一個 SSH Key(New SSH Key)。

  1. 檢查密鑰是否配置成功
    輸入以下命令進行檢查,如果成功,最后會有 successfully 的提示。
ssh -T git@github.com

在這里又遇到一個問題。
可能是沒復制對(也可能是其他原因,不知道),結果遇到 git@github.com: Permission denied (publickey). 的報錯。

百度了說我是 SSH 公鑰沒有正確配置在 GitHub 上( SSH 密鑰與 GitHub 賬戶沒有正確關聯)。

在這里插入圖片描述

所以在命令框里用命令重新復制了一次,終于沒問題成功了。

cat ~/.ssh/id_rsa.pub

在這里插入圖片描述

部署本地倉庫

  1. 初始化本地倉庫
    在本地自己喜歡的位置創建一個文件夾,作為 GitHub 的本地倉庫。然后進入文件夾里,再次右鍵 Git Bash Here 打開一個Git的命令窗口。
    使用命令,讓該文件夾成為 Git 可以管理的倉庫。
git init

之后,文件夾里會生成一個 .git文件夾,用于管理版本庫。

  1. 關聯GitHub倉庫
    命令如下,其中 倉庫地址 的名字,在 自己的倉庫 > Code > Local > SSH底下可以找到。
    "origin"是倉庫的別名,可以就用 origin,也可以自己起一個名字代替。
git remote add origin "倉庫地址"

在這里插入圖片描述

這個操作結束后,就可以愉快地把本地項目上傳或者下載倉庫里的內容了。


倉庫克隆(下載)

  • 輸入命令下載倉庫里的項目,倉庫地址如上截圖。
git clone "倉庫地址"

本地上傳

  1. 上傳至緩存空間
    進入倉庫所在文件夾,如 通過命令cd 文件夾路徑進入。
    使用命令,將目錄下的所有文件都放到緩存空間。
git add .

在提交的過程中,又遇到了問題。
顯示 LF will be replaced by CRLF the next time Git touches it 報錯。
在這里插入圖片描述

搜了下,好像是不同平臺的回車換行符不兼容所致。我是Window系統,跟Linux系統的換行符不一樣。

輸入以下命令就可以解決問題。

git config --global core.autocrlf true
  1. 添加備注
    如果需要,對提交的內容進行備注,備注的內容會在上傳后顯示在 Last commit message 中。
git commit -m "備注內容"
  1. 推送上傳
    這里需要注意一下,main是分支的名字,如果有其他分支,并且要上傳到別的分支,就把main改成別的分支的名字。
git push -u origin main

我在這里叕遇到了一個問題!!!
一開始是copy別人的命令 git push -u origin master,結果遇到了 error: src refspec master does not match any error: failed to push some refs to 報錯。
error: src refspec master does not match any   error: failed to push some refs to 報錯

原因是,我的GitHub上不存在 master 分支,將 master 改成正確的分支名字就好。在這里可以看到分支的名稱。
在這里插入圖片描述

然后看到一個有趣的小知識。

Github遠程分支默認為:main。
Gitee遠程分支默認為:master。

push成功后,刷新GitHub倉庫的頁面,就可以看到上傳的內容了!


參考教程

  1. CSDN - GitHub搭建倉庫并上傳本地代碼
  2. CSDN - 超詳細——入門Github的代碼上傳
  3. CSDN - 程序員必備技能之上傳代碼至倉庫(Github篇)
  4. CSDN - Git與GitHub,實現遠程上傳、下拉、更新項目
  5. 知乎 - github提示Permission denied (publickey),如何才能解決?
  6. CSDN - Git: ‘LF will be replaced by CRLF the next time Git touches it‘ 問題解決辦法
  7. 博客園 - git push解決 error src refspec master does not match anyerror

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75980.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75980.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75980.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在一個scss文件中定義變量,在另一個scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅 許久未曾更新這個系列,并非我平日里對這事兒沒了興致,不再愿意折騰。實則是受限于自身條…

智能駕駛功能LCC車道保持居中

畫龍現象就是LCC常見bug LDW車道偏離預警 LKA車道保持 聲音其實就是蜂鳴器 有些車是40 有些是60

Java全棧面試寶典:線程機制與Spring依賴注入深度解析

目錄 一、Java線程核心機制 🔥 問題3:start()與run()的底層執行差異 線程啟動流程圖解 核心差異對照表 代碼驗證示例 🔥 問題4:Thread與Runnable的六大維度對比 類關系UML圖 最佳實踐代碼 🔥 問題5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目錄 ANTLR4基本使用**1. 安裝 Java 運行時(必需)****2. 安裝 ANTLR4 命令行工具****方法一:通過包管理器(推薦)****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二:手動安裝(…

NixVis 開源輕量級 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 語言開發的、開源輕量級 Nginx 日志分析工具,專為自部署場景設計。它提供直觀的數據可視化和全面的統計分析功能,幫助您實時監控網站流量、訪問來源和地理分布等關鍵指標,無需復雜配置即可快速部署使用。 演示…

黑盒測試的等價類劃分法(輸入數據劃分為有效的等價類和無效的等價類)

重點: 有效等價和單個無效等價各取1個即可 1、正向用例:一條盡可能覆蓋多條2、逆向用例:每一條數據,都是一條單獨用例。 步驟: 1、明確需求 2、確定有效和無效等價 3、根據有效和無效造數據編寫用例 3、適用場景 針對:需要有大量數據測試輸入, …

Linux Mem -- 通過reserved-memory縮減內存

目錄 1. reserved-memory縮減內存 2. 為什么要通過2段512GB預留內存實現該縮減呢? 3. reserved-momery中的no-map屬性 4. 預留的的內存是否會被統計到系統MemTotal中? 本文是解決具體的一些思考總結,和Linux內核的reserved-memory機制相關…

多線程—synchronized原理

上篇文章: 多線程—鎖策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 synchronized的鎖…

AWS混合云部署實戰:打造企業級數字化轉型的“黃金架構”

引言 “上云是必然,但全部上云未必是必然。”在數字化轉型的深水區,企業面臨的核心矛盾日益凸顯:如何在享受公有云敏捷性的同時,滿足數據主權、低延遲和遺留系統兼容的剛性需求? AWS混合云憑借“云上云下一張網”的獨…

進程模型5-0號進程

內核版本架構作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0號進程的作用 在 Linux 中除了 init_task 0號進程,所有的線/進程都是通過 do_fork 函數復制父線/進程創建得到,因為 0號進程產生時沒有任何進程可以參照,只能通過靜態方式構造進程描述…

計算機二級考前急救(Word篇)

重點題(20套,標黃為精選10套):4,15,17,19,21,24,25,27,36,40,12,18,20,22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中,padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 這兩個 CSS 屬性用于處理 iPhone X 及更高版本設備的安全區域(safe area)。這些設備的底部有一個“Home Indicator”&a…

十二、Cluster集群

目錄 一、集群簡介1、現狀問題2、集群作用 二、集群結構設計1、集群存儲設2、消息通信設計 三、Cluster集群三主三從結構搭建1、redis.conf配置文件可配置項2、配置集群3、鏈接集群4、命令客戶端連接集群并使用 四、集群擴容1、添加節點2、槽位分配3、添加從節點 五、集群縮容1…

Java基礎 3.29

1.數組的相關注意事項 錯誤示范一 String strs[] new String[2]{"a", "b"}; 正確示范一 String strs[] new String[]{"a", "b"}; 讓JVM自己判斷有幾個數據,無需再其中寫明有幾組數據 錯誤示范二 String strs[] new…

從入門到精通:HTML 項目實戰中的學習進度(一)

一、基礎夯實階段 1.1 HTML 文檔結構與核心語法 在 HTML5 的世界里&#xff0c;構建一個文檔就像是搭建一座大廈&#xff0c;堅實的基礎至關重要。HTML5 文檔的基礎框架以<!DOCTYPE html>聲明開場&#xff0c;這就好比是給瀏覽器下達的一份 “指令書”&#xff0c;明確…

FFmpeg —— 實時繪制音頻波形圖(附源碼)

?? FFmpeg 相關音視頻技術、疑難雜癥文章合集(掌握后可自封大俠 ?_?)(記得收藏,持續更新中…) 實時繪制音頻波形圖 步驟 ????? ??????????FFmpeg打開媒體文件,讀取每一包數據,將音頻數據包進行緩沖,一包一包處理音頻緩沖,對音頻緩沖包進行解碼,讀…

大數據學習(88)-zookeeper實現的高可用(HA)

&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4dd;支持一…

基于MFC按鈕邏輯

void CSUCCES1Dlg::SetDlgItemState()//IDC_BTN_INIT初始化按鈕 { GigeState state = GigeState::ARV_NONE;//GigeState是一個枚舉類型,stat狀態為ARV_NONE int idx = ((CListBox*)GetDlgItem(IDC_LIST_GIGE))->GetCurSel();//GetDlgItem 是 MFC 框架提供的一個成員…

EF Core 樂觀并發控制(并發令牌)

文章目錄 前言一、樂觀并發的核心思想二、實現方法1&#xff09;使用并發令牌&#xff08;Concurrency Token&#xff09;2&#xff09;處理并發沖突 三、工作原理四、適用場景五、與悲觀并發的對比六、最佳實踐總結 前言 Entity Framework (EF) Core 默認支持 樂觀并發控制&a…