通過SSH來推送本地文件夾到Github

配置SSH

git使用SSH配置, 初始需要以下三個步驟

使用秘鑰生成工具生成rsa秘鑰和公鑰
將rsa公鑰添加到代碼托管平臺
將rsa秘鑰添加到ssh-agent中,為ssh client指定使用的秘鑰文件
具體操作如下:

第一步:檢查本地主機是否已經存在ssh key

cd ~/.ssh
ls
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,說明已經有SSH Key

如下圖所示,則表明已經存在

image-20250907201841055

如果存在,直接跳到第三步

第二步:生成ssh key

如果不存在ssh key,使用如下命令生成

ssh-keygen -t rsa -C “xxx@xxx.com”
//執行后一直回車即可

第三步:獲取ssh key公鑰內容(id_rsa.pub)

cd ~/.ssh
cat id_rsa.pub

如下圖所示,復制該內容

image-20250907202020719

第四步:Github賬號上添加公鑰

進入Settings設置

image-20250907202105114

image-20250907202142436

添加ssh key,把剛才復制的內容粘貼上去保存即可

image-20250907202225352

第五步**:測試SSH連接**

在您添加 SSH 密鑰之后,您可以測試 SSH 是否正常工作:

ssh -T git@github.com
  • 解釋:如果成功連接,您會看到類似以下的消息:

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.
    

    如果出現問題,確保您的公鑰正確地添加到 GitHub,并檢查是否使用了正確的 SSH 密鑰。

本地文件夾上傳

要將本地文件夾上傳到遠程 Git 倉庫,您需要遵循以下步驟和命令流程。每個步驟的解釋也會幫助您理解為什么要執行這些命令。

步驟 1:初始化本地 Git 倉庫

如果您還沒有在本地文件夾中初始化 Git 倉庫,您可以通過以下命令來初始化:

git init
  • 解釋git init 命令會將當前目錄(或者指定目錄)初始化為一個 Git 倉庫,生成 .git 目錄并讓該目錄變成 Git 倉庫的一部分。這樣,您就可以開始使用 Git 進行版本控制。

步驟 2:查看文件狀態

在將文件提交之前,您可以查看當前工作區的狀態,看看文件是否被 Git 跟蹤:

git status
  • 解釋git status 會列出當前工作區和暫存區的文件狀態。它會告訴您哪些文件已經修改、哪些文件還沒有加入暫存區,哪些是新文件等。

步驟 3:添加文件到暫存區

將本地文件添加到 Git 的暫存區,準備提交:

git add .
  • 解釋git add . 會將當前目錄下的所有更改(包括新增、修改和刪除的文件)添加到暫存區。如果您只想添加某些特定的文件,可以替換 . 為文件名,例如:git add <file-name>

步驟 4:提交更改

將暫存區的文件提交到本地 Git 倉庫:

git commit -m "Initial commit"
  • 解釋git commit 將暫存區的所有文件(變更)保存到本地倉庫的歷史記錄中,-m 后面跟的是提交的消息,它應該簡明地描述您這次提交的內容。

步驟 5:添加遠程倉庫

如果您還沒有將遠程倉庫與本地倉庫關聯,您需要使用 git remote add 命令添加遠程倉庫 URL。您通常可以在 GitHub、GitLab 或 Bitbucket 等平臺上創建一個新的倉庫,獲取倉庫的遠程 URL。

git remote set-url origin <remote-repository-url>
  • 解釋git remote add origin <remote-repository-url> 用于將本地倉庫與遠程倉庫關聯,origin 是遠程倉庫的默認名稱,您可以修改為其他名稱。如果已經有遠程倉庫,可以跳過這一步。

例如,如果您在 GitHub 創建了一個名為 my-repo 的倉庫,遠程倉庫 URL 可能是:

git remote set-url origin git@github.com:username/repository.git

就是這一個

image-20250907203244058
步驟 6:推送文件到遠程倉庫

將您的本地提交推送到遠程倉庫,通常是推送到 mastermain 分支(大部分新的 Git 倉庫默認使用 main 分支):

git push -u origin main
  • 解釋git push 命令將您的提交推送到遠程倉庫。-u 參數用于設置默認的上游分支,表示以后可以簡化命令,只需執行 git push,而不需要每次指定遠程倉庫和分支名。
    • origin 是遠程倉庫的名稱。
    • main 是分支的名稱。如果遠程倉庫使用的是 master 分支,請替換為 master

如果您第一次推送到遠程倉庫,Git 可能會要求您輸入 GitHub(或其他平臺)上的用戶名和密碼,或者使用 SSH 密鑰進行認證。


步驟 7:后續更新

一旦您成功推送了文件,之后的提交和推送就變得更加簡單。對于新的提交,只需要:

  1. 修改或添加文件。

  2. 使用 git add . 將文件添加到暫存區。

  3. 使用 git commit -m "Commit message" 提交更改。

  4. 步驟 4:拉取遠程最新更新(關鍵!避免沖突)

    在推送前,先拉取遠程倉庫的最新代碼,確保本地分支與遠程同步:

    git pull origin main
    
    • 如果遠程有其他人的新提交,會自動合并到本地(若有沖突,按提示解決后再提交)。
  5. 使用 git push origin main 將更改推送到遠程倉庫。


總結流程
  1. 初始化本地倉庫git init
  2. 查看狀態git status
  3. 添加文件到暫存區git add .
  4. 提交文件git commit -m "message"
  5. 添加遠程倉庫git remote add origin <remote-url>
  6. 推送文件到遠程倉庫git push -u origin main

這個流程完成了從本地文件夾到遠程倉庫的上傳操作,確保您的本地代碼得到有效的版本管理,并能與團隊成員共享。

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

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

相關文章

視頻轉webp批量處理工具哪個好?這里有答案

你是不是也遇到過這樣的困擾&#xff1a;手機里存滿了精彩的短視頻&#xff0c;想做成動圖分享到社交媒體&#xff0c;卻發現轉換后的GIF文件巨大無比&#xff0c;畫質還慘不忍睹&#xff1f;要怎么把手機視頻轉webp&#xff0c;才能既保持高清畫質&#xff0c;又能大幅減小文件…

【Fastjson】Fastjson2 在不同 Modules 模塊包下,@JSONField name映射無法反序列化的 BUG 及解決

問題&#xff1a;在使用 alibaba fastjson2 做 JSONField 字段名映射時&#xff0c;在同模塊包下 Flink Jar 任務正常映射&#xff0c;本地測試正常映射&#xff0c;但是將兩個模塊包上傳至 Flink Cluster 之后&#xff0c;出現反序列化異常&#xff0c;子模塊無法反序列化父模…

Go語言基礎---數據類型間的故事

Go語言基礎—數據類型間的故事 目錄 前言基本數據類型 整形字節特殊整形unsafe.Sizeof數字字面量語法浮點型布爾值字符串byte和rune類型 運算符 算術運算符關系運算符邏輯運算符位運算符賦值運算符 前言 Go語言是Google開發的一種靜態強類型、編譯型語言。Go語言語法與C相近…

dedecms軟件等級★號改成圖片圖標顯示的辦法

我們在用到dedecms織夢的軟件模型&#xff0c;在調用軟件星級的時候&#xff0c;要把默認的星號改為圖片&#xff0c;這個要怎么操作呢&#xff1f;1、軟件模型管理里面-字段管理-字段配置softrankislink一行改為&#xff1a;<field:softrank itemname軟件等級 typeint isnu…

windows下安裝claude code+國產大模型glm4.5接入(無需科學上網)

下載安裝node.js https://nodejs.org/en/download 安裝版.msi 直接下載安裝即可 免安裝版.zip 1.解壓下載的壓縮包 2.創建數據緩存存儲目錄cache和全局安裝工具目錄global 3.配置環境變量 【我的電腦】右鍵選中【屬性】-> 找到【高級系統設置】-> 右下角【環境變量…

嵌入式 - ARM4

裸機實現LED閃爍一、啟動代碼1. 異常向量表配置1. .global匯編器指令&#xff0c;全局定義標簽_start&#xff0c;作為匯編程序的默認起點2. 配置標簽配置標簽時可以前置加_ &#xff0c;以便和普通標簽或系統標簽做區分3. 異常向量表ARM架構規定異常向量表位置固定&#xff0c…

《C++ 108好庫》之2 多線程庫thread,mutex,condition_variable,this_thread

《C 108好庫》之之2 多線程庫thread&#xff0c;mutex&#xff0c;condition_variable&#xff0c;this_thread《C 108好庫》之2 多線程庫thread&#xff0c;mutex&#xff0c;condition_variable&#xff0c;this_threadstd::thread類??互斥量&#xff08;Mutex&#xff09;…

Android系統框架知識系列(二十):專題延伸:JVM vs ART/Dalvik - Android運行時演進深度解析

?關鍵詞?&#xff1a;運行時優化、AOT編譯、JIT編譯、內存管理、電池效率、性能分析一、Android運行時演進背景1. 移動環境的特殊挑戰Android運行時環境的演進源于移動設備的獨特限制&#xff1a;?移動設備約束條件?&#xff1a;?有限的內存資源?&#xff1a;早期設備僅1…

ubuntu 22 安裝輕量級桌面Xfce并使用xrdp遠程桌面連接

1.安裝Xfce:sudo apt install xubuntu-desktop -y2.安裝xrdp:sudo apt install xrdp -y3.配置xrdp&#xff0c;nano /etc/xrdp/xrdp.ini:[Globals] ... port3389 ; 遠程連接端口&#xff0c;默認是3389&#xff0c;可以改成自己喜歡的端口... ; ; Session types ;; Some sess…

【Flask】測試平臺開發,數據看板開發-第二十一篇

概述&#xff1a;在前面我們已經實現了我們的產品創建管理&#xff0c;應用管理管理&#xff0c;需求提測管理但是每周提測了多少需求&#xff0c;創建了哪些產品&#xff0c;我們是不是看著不是很直觀&#xff0c;接下來我們就需要開發一個數據看板功能&#xff0c;實現能夠看…

我是程序員,不是程序猿:請別把我當猴耍——拒絕被低估,用專業贏得尊重

摘要 本文旨在深度剖析“程序員”與“程序猿”一字之差背后所反映的職業尊嚴與身份認同問題。我們生活在一個技術驅動的時代&#xff0c;但對技術創造者的認知卻常常被“程序猿”、“碼農”等標簽簡單化、甚至矮化。本文將從正名開始&#xff0c;辨析“程序員”的專業內涵&…

C++中vector刪除操作的安全隱患與最佳實踐

std::vector 是C標準模板庫&#xff08;STL&#xff09;中最常用的動態數組容器&#xff0c;提供了高效的隨機訪問和動態擴容能力。然而&#xff0c;其刪除操作如果使用不當&#xff0c;會引入嚴重的安全隱患&#xff0c;包括未定義行為、內存泄漏和數據競爭等問題。本文將深入…

Unix/Linux 系統中的 `writev` 系統調用

<摘要> 本文對 Unix/Linux 系統中的 writev 系統調用進行了全面深入的解析。內容涵蓋了其產生的背景&#xff08;從傳統 write 的局限性到分散/聚集 I/O 概念的引入&#xff09;、核心概念&#xff08;如 struct iovec、系統調用流程&#xff09;。重點剖析了其設計意圖&…

深入理解 Android targetSdkVersion:從 Google Play 政策到依賴沖突

深入理解 Android targetSdkVersion&#xff1a;從 Google Play 政策到依賴沖突 作為 Android 開發者&#xff0c;你很可能在 Android Studio 中見過這條提示&#xff1a;Google Play requires that apps target API level 33 or higher。它像一個盡職的提醒者&#xff0c;時常…

灰匣(GrayBox)1.0.0 發布【提升系統權限APP】

灰匣是一個提升系統權限的工具&#xff0c;可以配合Root、三方軟件&#xff08;Shizuku&#xff09;以及【設備管理員】&#xff08;設備所有者&#xff09;實現一些高級功能及底層接口&#xff0c;可以自動隔離&#xff08;凍結/禁用&#xff09;不必要的應用&#xff0c;如某…

PAT 1104 Sum of Number Segments

這一題的大意就是找一個數組中的所有子數組&#xff0c;它們的累加和為多少&#xff0c; 題目上給出的數據范圍是O(n^5)那么只能遍歷一次&#xff0c;不能用暴力的方法求出。 看到這一題我有兩個思路&#xff1a; 1.試圖用雙指針和滑動窗口來把O&#xff08;n^2)的時間復雜度降…

[萬字長文]AJAX入門-常用請求方法和數據提交、HTTP協議-報文、接口文檔、案例實戰

本系列可作為前端學習系列的筆記&#xff0c;代碼的運行環境是在VS code中&#xff0c;小編會將代碼復制下來&#xff0c;大家復制下來就可以練習了&#xff0c;方便大家學習。 HTML、CSS、JavaScript系列文章 已經收錄在前端專欄&#xff0c;有需要的寶寶們可以點擊前端專欄查…

Codesy中的UDP發送信息

Codesy UDP通訊 概述 CAA Net Base Services UDP通訊的建立 發送UDP 狀態控制 效果 概述 Codesys中默認安裝的通訊支持很多,不安裝其他的軟件也可以實現TCP通訊。但是,在使用UDP通訊時,因為我們的PLC有兩個網卡,一般我們把第一個網口做編程和HMI用,把的個網口做外部通訊,…

神經網絡之深入理解偏置

&#x1f50d; 1. 表達能力&#xff1a;無偏模型不能表示全體函數族 ? 有偏線性變換&#xff1a; yWxb&#xff08;仿射變換&#xff09; y Wx b \quad \text{&#xff08;仿射變換&#xff09;} yWxb&#xff08;仿射變換&#xff09; 能表示任意線性函數 平移是仿射空間的…

小白必看:AI智能體零基礎搭建全攻略!

寫在前面&#xff1a;別怕&#xff0c;真的不需要技術背景&#xff01; 你是不是經常聽到"AI智能體"、"大模型"這些高大上的詞&#xff0c;總覺得那是技術大牛的專利&#xff1f;別擔心&#xff0c;這篇教程就是為你準備的&#xff01;我們將用最通俗的語…