Git 使用全指南:從配置到免密登錄

Git 使用全指南:從配置到免密登錄

  • 一、Git 基礎配置
  • 二、Git 代碼提交流程
    • 2.1 克隆遠程倉庫
    • 2.2 創建并切換分支
    • 2.3 暫存文件
    • 2.4 提交到本地倉庫
    • 2.5 拉取遠程最新代碼
    • 2.6 推送本地分支到遠程
  • 三、VSCode 服務器免密登錄配置
    • 3.1 生成 Windows SSH 密鑰
    • 3.2 復制公鑰到服務器
    • 3.3 設置文件權限(關鍵!)
    • 3.4 在 VSCode 中驗證連接
  • 四、常見問題解決方案
    • 4.1 SSH 連接失敗
    • 4.2 分支操作錯誤
    • 4.3 提交歷史修改

一、Git 基礎配置

# 設置全局用戶名和郵箱(用于提交記錄)
git config --global user.name "Your Name"
git config --global user.email your.email@example.com
# 生成SSH密鑰(用于免密連接Git服務器)
ssh-keygen -t rsa -C "your.email@example.com"
# 按提示連續回車即可,無需設置密碼
# 查看并復制公鑰
cat ~/.ssh/id_rsa.pub

將生成的公鑰添加到 GitLab/GitHub:
頭像 → Settings → SSH Keys → 粘貼公鑰 → Add Key

二、Git 代碼提交流程

2.1 克隆遠程倉庫

git clone git@github.com:username/repo.git  # SSH方式(推薦)
# 或使用HTTPS方式
git clone https://github.com/username/repo.git

2.2 創建并切換分支

# 創建新分支并切換到該分支
git checkout -b new-feature
# 等價于以下兩條命令
git branch new-feature  # 創建分支
git checkout new-feature  # 切換分支

2.3 暫存文件

git add filename  # 添加單個文件
git add .  # 添加所有修改的文件(不推薦,容易提交無關文件)
git add -p  # 交互式添加(推薦,精確控制暫存內容)

2.4 提交到本地倉庫

# 標準提交格式(推薦)
git commit -m "feat: 實現用戶登錄功能"
# 完整提交規范(可選)
git commit -m "type(#issue): 描述"

以下為提交類型說明的表格形式呈現:

類型說明示例
feat新增功能feat (#123): 添加支付模塊
fix修復 Bugfix (#456): 解決登錄異常
docs文檔更新docs: 更新 README
style格式調整(不影響功能)style: 統一代碼縮進
refactor代碼重構(非新增/修復)refactor: 優化數據庫查詢
perf性能優化perf: 提升響應速度
test添加測試用例test: 補充單元測試
chore構建/工具鏈更新chore: 升級依賴版本

2.5 拉取遠程最新代碼

# 在主分支更新
git pull origin main
# 在開發分支更新
git pull origin new-feature

2.6 推送本地分支到遠程

git push origin new-feature
# 首次推送可設置上游分支(簡化后續推送)
git push -u origin new-feature

三、VSCode 服務器免密登錄配置

3.1 生成 Windows SSH 密鑰

# 在Windows命令行(Git Bash)中執行
ssh-keygen -t rsa -C "your.email@example.com"

密鑰文件位置:C:\Users\YourName.ssh\id_rsa.pub

3.2 復制公鑰到服務器

# 1. 查看Windows公鑰內容
cat C:\Users\YourName\.ssh\id_rsa.pub
# 2. 登錄Linux服務器,創建/編輯授權文件
vi ~/.ssh/authorized_keys
# 3. 將Windows公鑰內容粘貼到該文件中

3.3 設置文件權限(關鍵!)

# 確保SSH目錄和授權文件權限正確
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3.4 在 VSCode 中驗證連接

  1. 安裝 Remote-SSH 擴展
  2. 點擊左下角遠程圖標 → Connect to Host
  3. 輸入服務器配置(如ssh username@server_ip)
  4. 選擇私鑰文件(Windows 路徑 C:\Users\YourName.ssh\id_rsa)

四、常見問題解決方案

4.1 SSH 連接失敗

# 測試SSH連接
ssh -T git@github.com  # GitHub示例
ssh -T git@gitlab.com  # GitLab示例# 若提示Permission denied,檢查:
# 1. 公鑰是否正確添加到Git服務
# 2. 防火墻是否開放SSH端口(默認22)

4.2 分支操作錯誤

# 查看所有分支(本地+遠程)
git branch -a
# 切換回主分支
git checkout main
# 刪除本地分支
git branch -d new-feature
# 刪除遠程分支
git push origin --delete new-feature

4.3 提交歷史修改

# 修改最近一次提交信息
git commit --amend -m "修正后的提交信息"
# 撤銷暫存
git reset HEAD filename
# 丟棄工作區修改
git checkout -- filename
  • 通過以上步驟,你可以高效地使用 Git 進行版本控制,并實現 VSCode 與服務器的免密連接。建議定期同步代碼,保持分支整潔,遵循團隊統一的提交規范。

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

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

相關文章

組合期權:領式策略

文章目錄0.簡介1.多頭領式策略(Long Collar)?1.1 策略構成1.2 適用場景?1.3 損益分析1.4 案例示范2.空頭領式策略(Short Collar)?2.1 策略構成2.2 適用場景2.3 損益分析2.4 案例示范參考文獻0.簡介 領式策略(Colla…

ECSPI控制器

目錄 SPI協議簡介 極性與相位 SPI框圖 單字節收發 發送數據流程 接收數據流程 ECSPI控制器 關鍵特性 時鐘源 主機模式 等待狀態 片選控制 單突發傳輸 多突發傳輸 相位控制 ECSPI Memory Map ECSPI寄存器 ECSPIx_RXDATA ECSPIx_TXDATA ?編輯 ECSPIx_CONREG …

HTTP 與 SpringBoot 參數提交與接收協議方式

HTTP 協議支持多種參數提交方式,主要取決于請求方法(Method)和內容類型(Content-Type)。以下是主要的參數提交協議:1. URL 查詢參數 (Query Parameters)請求方法: GET (也可用于其他方法)格式: ?key1value1&key2value2示例: GET /users?id123&…

Lua(數組)

Lua 數組基礎概念Lua 中的數組實際上是用整數索引的 table,是一種特殊形式的表。數組索引通常從 1 開始(Lua 慣例),但也可以從其他值開始。創建數組通過表構造器初始化數組:-- 索引從 1 開始的數組 local arr {10, …

【Docker項目實戰】在Docker環境下部署go-file文件分享工具

【Docker項目實戰】在Docker環境下部署go-file文件分享工具一、go-file介紹1.1 go-file簡介1.2 go-file特點1.3 go-file使用場景二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker compose 版本四、下…

C++基礎學習——文件操作詳解

一、文件流類概述 C 標準庫提供了三個主要的文件流類: ifstream (輸入文件流):用于從文件讀取數據ofstream (輸出文件流):用于向文件寫入數據fstream (文件流):既可讀又可寫 這些類都繼承自 iostream 類,因此可以使用 …

Android補全計劃 DrawerLayout使用

DrawerLayout其實用了很久了,甚至封裝了一些代碼方便不同項目使用,但重構代碼的時候突然意識到這塊內容很不成體系,因此又參考了些文檔,組建了自己的一個文檔。 toolbardrawerlayout能寫的效果很多,在此我也只是截取了…

人工智能之數學基礎:概率論之韋恩圖的應用

韋恩圖的應用由于事件的計算有時候太過于抽象了,此時我們可以使用韋恩圖的方式來進行驗證,我們下面來舉一個例子,A∪B)-CA∪(B-C)是否成立?我們可以通過韋恩圖來完成這個任務:我們通過這種方式來一點一點的…

小白成長之路-部署Zabbix7(二)

文章目錄一、zabbix-自動發現二、自動注冊三、zabbix-網易云郵箱-發送消息二、zabbix-釘釘告警總結一、zabbix-自動發現 1.在準備兩臺虛擬機,我的是192.168.144.12,192.168.144.13 server換成zabbix服務器的ip地址 vim /etc/zabbix/zabbix_agentd.conf 2.創建自動…

CMU15445-2024fall-project4踩坑經歷

project4目錄Task1Task2ReconstructSeqScanTask3InsertCommitTxnMgrDbgGenerateNewUndoLog And GenerateUpdateUndoLogUpdate And Delete垃圾回收Task4Index Insert并發控制Index ScanDelete、Update并發控制主鍵更新Bonus 1Bonus 2處理寫傾斜感謝CMU的教授們給我們分享了如此精…

C++20 協程

摘要:C20 引入的協程機制為異步編程提供了輕量級解決方案,其核心優勢在于通過用戶態調度實現高效的上下文切換,適用于 I/O 密集型任務、生成器模式等場景。本文系統闡述 C20 協程的底層原理與實踐要點,首先解析協程的基本結構&…

《計算機組成原理與匯編語言程序設計》實驗報告二 基本數字邏輯及漢字顯示

目 錄 一、實驗學時 二、實驗目的 三、實驗要求 四、實驗內容 五、實驗步驟 1、打開Logisim軟件,列出并行四位二進制全加器邏輯電路真值表,并使用與、或、非、異或等基本原件實現并行四位二進制全加器邏輯電路,鋪設完成后進行測試進而…

問卷調查小程序的設計與實現

問卷調查小程序的設計與實現:技術與功能全解析在數字化時代,問卷調查成為數據收集的重要工具。一款高效、易用的問卷調查小程序能夠顯著提升用戶體驗和數據質量。本文將深入探討基于現代技術棧的問卷調查小程序的設計與實現,涵蓋核心功能、技…

STM32項目實戰:正弦波

波形發生器對我的錢包不怎么友好,手里面有stm32f103c8t6,于是就想,放在哪兒吃灰也是吃灰,不如做個正弦波發生器。方案 dac沒怎么用過,所以打算使用輸出模擬正弦波。我們決定采用以下方案:1.使用TIM2_CH3(PA…

Unity 時間抗鋸齒(Temporal Antialiasing, TAA)技術解析

時間抗鋸齒(Temporal Antialiasing, TAA)技術解析 一、什么是時間抗鋸齒(TAA)? 時間抗鋸齒(TAA)是一種先進的實時抗鋸齒技術,通過在時間維度上積累多幀渲染數據,實現比傳…

uniapp打開導航軟件并定位到目標位置的實現

/*** 打開導航* param location 經緯度(例如:"117.214713,39.116884")* param address 地址*/ export function mapNavigation(location, address) {const locationArr location.split(,)const longitude locationArr[0]const latitude locationArr[1]…

Mysql實現高可用(主從、集群)

一、背景 需求:客戶要實現Mysql8.0高可用,出現故障時,需要實現自動切換。 分析:實現切換有兩種方式,一種數據庫自動切換,一種代碼實現。 本著麻煩別人,別麻煩自己的原則,得給客戶的D…

AI編程革命:自動化代碼生成、低代碼開發與智能優化實踐全景解析

AI編程革命:自動化代碼生成、低代碼開發與智能優化實踐全景解析 人工智能正在重塑軟件開發的基本范式,從自動化代碼生成到低代碼開發平臺,再到算法智能優化,AI編程技術正以指數級速度改變開發者工作方式。 一、自動化代碼生成技術…

[實戰] 用1 PPS 馴服本地恒溫晶振(OCXO/TCXO)

1 PPS 馴服本地恒溫晶振(OCXO/TCXO) “讓任何工程師都能在一周內做出自己的 GPSDO” 文章目錄1 PPS 馴服本地恒溫晶振(OCXO/TCXO)前言1 系統總體框圖2 硬件清單與連接3 時間間隔測量(TDC)原理4 數字鎖相環算…

基于RK3576+FPGA的無人機飛控系統解決方案

基于RK3576FPGA的無人機飛控系統解決方案設計如下&#xff1a;一、硬件架構設計?異構計算核心模塊?主控采用RK3576處理器&#xff0c;四核Cortex-A72&#xff08;2.3GHz&#xff09;運行路徑規劃算法&#xff08;A*、RRT*&#xff09;&#xff0c;支持動態避障響應時間<50…