Git 代碼提交管理指南

目錄

1. 初始設置(首次使用 Git 時)

2. 日常提交工作流程

場景一:已有本地項目,首次連接到遠程倉庫

場景二:已有遠程倉庫,克隆到本地

3. 更精細的文件管理

4. 提交信息規范

5. 分支管理策略

6. 高級技巧

7. 團隊協作注意事項

8. .gitignore 文件


提交代碼到 Git 倉庫是版本控制的核心操作。以下是完整的 Git 代碼管理流程:

1. 初始設置(首次使用 Git 時)

# 配置用戶信息(全局設置,一次即可)
git config --global user.name "你的姓名"
git config --global user.email "你的郵箱"# 檢查配置
git config --list

2. 日常提交工作流程

場景一:已有本地項目,首次連接到遠程倉庫

# 進入項目目錄
cd your-project# 初始化本地倉庫
git init# 添加遠程倉庫地址
git remote add origin https://github.com/用戶名/倉庫名.git# 添加所有文件到暫存區
git add .# 提交更改
git commit -m "初始提交:項目基礎結構"# 推送到遠程倉庫(首次推送需要 -u 參數)
git push -u origin main  # 或 master,取決于你的默認分支名

場景二:已有遠程倉庫,克隆到本地

# 克隆遠程倉庫
git clone https://github.com/用戶名/倉庫名.git# 進入項目目錄
cd 倉庫名# 進行代碼修改...# 添加修改的文件到暫存區
git add 文件名  # 或 git add . 添加所有修改# 提交更改
git commit -m "描述你的修改內容"# 推送到遠程倉庫
git push origin main

3. 更精細的文件管理

# 查看當前狀態(哪些文件被修改/添加/刪除)
git status# 查看具體更改內容
git diff# 添加特定文件
git add index.html style.css script.js# 添加所有修改的文件(不包括新文件)
git add -u# 添加所有文件(包括新文件和修改的文件)
git add -A
# 或
git add .# 提交時跳過暫存區,直接提交所有已跟蹤文件的修改
git commit -a -m "提交所有修改"# 撤銷暫存區的文件(取消 add)
git reset 文件名# 撤銷對文件的修改(危險操作,會丟失更改)
git checkout -- 文件名

4. 提交信息規范

提交信息應該清晰明了,遵循約定式提交(Conventional Commits)更好:

類型(范圍): 簡短描述
詳細描述(可選)
突破性變更說明(可選)
關聯問題編號(可選)

常見類型:

  • feat: 新功能

  • fix: 修復bug

  • docs: 文檔更新

  • style: 代碼格式調整

  • refactor: 代碼重構

  • test: 測試相關

  • chore: 構建過程或輔助工具變動

示例:

git commit -m "feat(用戶認證): 添加第三方登錄功能- 實現Google OAuth登錄
- 添加Facebook登錄支持
- 更新登錄頁面UIcloses #123"

5. 分支管理策略

# 創建新分支
git branch 新分支名# 切換分支
git checkout 分支名# 創建并切換分支
git checkout -b 新分支名# 查看所有分支
git branch -a# 合并分支
git checkout main
git merge 功能分支名# 刪除分支
git branch -d 分支名  # 安全刪除(已合并)
git branch -D 分支名  # 強制刪除(未合并)

6. 高級技巧

# 修改最后一次提交(追加修改或修改提交信息)
git commit --amend# 暫存當前工作,臨時切換分支
git stash        # 暫存修改
git stash pop    # 恢復暫存的修改# 查看提交歷史
git log
git log --oneline --graph --all  # 圖形化查看# 撤銷提交(保留更改)
git reset --soft HEAD~1# 完全撤銷提交(丟棄更改)
git reset --hard HEAD~1

7. 團隊協作注意事項

  1. 頻繁拉取更新:開始工作前先?git pull

  2. 小步提交:每次提交只解決一個問題

  3. 明確提交信息:讓他人理解你的修改意圖

  4. 使用特性分支:不要在 main/master 分支直接開發

  5. 定期推送:避免本地積壓太多未推送的提交

8. .gitignore 文件

創建?.gitignore?文件來排除不需要版本控制的文件:

# 依賴目錄
node_modules/
vendor/# 環境配置
.env
.env.local# 日志文件
*.log# 系統文件
.DS_Store
Thumbs.db# 構建輸出
dist/
build/

通過遵循這些實踐,可以有效地使用 Git 管理代碼,保持項目歷史清晰可追溯。

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

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

相關文章

go-mapus最簡單的離線瓦片地圖協作

基于leaflet.jsleaflet-geoman.jsgolangbeegogormsqlitewebsocket等實現一個最簡單的地圖協作。繪制圖元,其他用戶瀏覽器上實施顯示繪制和修改結果,大家可同步進行繪制和修改。設置線型和顏色,粗細和透明度。保存到sqlite數據庫。動畫演示地圖…

調式記錄之八位機軟件串口

現在在上班,做的項目幾乎都是關于八位機的,八位機有個挺CD的點硬件資源少,打印之類的需要軟件串口,有時候調的剛到很玄學,也有可能是我知識沒有學得恨透。首先我得需要發送這句話并在代碼里面設置我的延時時間&#xf…

嵌入式學習day40-硬件(1)

嵌入式:以應用為中心:消費電子(手機、藍牙耳機、智能音響)、醫療電子(心率脈搏、呼吸機)、無人機(大疆DJ)、機器人(人形四足機器人)計算機技術:計算機五大組成:運算器(數…

管理中心理學問:面試中教你識別他人需求動機

“我工作是為了錢,為了吃,住,和用錢買東西。”“我工作是為了地位和認可。”“我工作是為了有所歸屬,為了成為一個團體的成員。”“我工作是想高升。”“我工作是因為人應該工作,這是唯一的權利。”“我工作為了獲取知識和認識世界…

【JavaScript】讀取商品頁面中的結構化數據(JSON-LD),在不改動服務端情況下,實現一對一跳轉

前端實踐:從商品頁面讀取 mpn 并實現一對一跳轉 在實際開發中,我們經常會遇到這樣一種需求: 用戶瀏覽 A 網站的商品頁面后,點擊按鈕能夠直接跳轉到 B 網站的對應商品。 表面看似只是一個按鈕跳轉,但如果不同商品需要精…

HTML5實現好看的邀請函網頁源碼

HTML5實現好看的邀請函網頁源碼 前言一、設計來源1.1 邀請函主頁1.2 邀請函活動信息1.3 邀請函內容1.4 邀請函活動地址1.5 邀請函活動流程1.6 邀請函活動獎勵1.7 邀請函聯系我們 二、效果和源碼2.1 動態效果2.2 源代碼 結束語 HTML5實現好看的邀請函網頁源碼,酷炫的…

傳輸層TCP 與 安全層SSL/TLS

本章節主要探討三個問題:1. SSL/TSL 的區別和聯系是什么?2. 我們常說的 “三次握手” 發生在哪個階段,SSL/TSL層有參與嗎?3. HTTPS混合加密發生在哪個層?一、SSL 和 TLS 聯系繼承關系:TLS 直接基于 SSL 3.0 設計,可以…

【數學建模學習筆記】時間序列分析:ARIMA

零基礎看懂 ARIMA 模型:從原理到實戰如果你完全沒接觸過 “時間序列預測”,也不懂復雜公式,這篇會用 “說人話” 的方式幫你搞懂 ARIMA 模型,以及文中代碼到底在做什么。一、先搞懂:ARIMA 是用來干嘛的?簡單…

【macOS】垃圾箱中文件無法清理的“含特殊字符文件名”的方法

【macOS】垃圾箱中文件無法清理的“含特殊字符文件名”的方法文件名包含特殊字符(如空格、中文符號等)導致終端無法正確識別文件路徑。 可以嘗試以下解決方法:使用文件路徑自動補全輸入 rm (注意 rm 后有空格)&#xf…

???????Blender 重拓撲修改器實戰指南:從基礎操作到細節優化?

在 Blender 建模中,重拓撲是解決 “高模難編輯、低模細節差” 的關鍵。傳統手動重拓撲效率低,重拓撲修改器能自動生成規整拓撲,保留模型外形,適合游戲資產、動畫角色等場景。 一、核心作用與適用場景? 重拓撲修改器并非 “一鍵完…

C/C++哆啦A夢

寫在前面 用代碼繪制童年記憶中的那個藍胖子——哆啦A夢,是我對經典角色的一次深情致敬。這段程序不僅是一幅靜態圖像的生成,更是一次對童年幻想世界的數字重建。通過精確的幾何控制與色彩搭配,我將那個圓潤可愛、溫暖可靠的機器人重新帶回眼…

CSS入門指南:30字掌握核心技巧

1. CSS初體驗 1.1. CSS定義 層疊樣式表 (Cascading Style Sheets,縮寫為 CSS) 用來描述 HTML 文檔的呈現(美化內容) 1.2. CSS引入方式 內部樣式表:學習使用 CSS 代碼寫在head里面的 style標簽 里面 外部樣式表&…

從實操到原理:一文搞懂 Docker、Tomcat 與 k8s 的關系(附踩坑指南 + 段子解疑)

目錄 一、先分清:Docker、Tomcat、k8s 到底是 “干啥的”? 二、它們的 “合作關系”:從 Java 項目到集群部署的全流程 三、實際應用場景:什么時候該用誰? 1. 單獨使用場景 2. 組合使用場景(最常見&…

測試覆蓋率不夠高?這些技巧讓你的FastAPI測試無懈可擊!

url: /posts/0577d0e24f48b3153b510e74d3d1a822/ title: 測試覆蓋率不夠高?這些技巧讓你的FastAPI測試無懈可擊! date: 2025-09-02T01:49:10+08:00 lastmod: 2025-09-02T01:49:10+08:00 author: cmdragon summary: FastAPI通過TestClient工具支持單元測試,模擬HTTP請求直接…

Qwen3-Reranker-0.6B 模型結構

模型加載 import torch from modelscope import AutoModel, AutoTokenizer, AutoModelForCausalLMtokenizer AutoTokenizer.from_pretrained("Qwen/Qwen3-Reranker-0.6B", padding_sideleft) model AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-Reranke…

無參 MOS 算法的評估方式

一、無參 MOS 算法 在音頻處理和質量評估領域,MOS(Mean Opinion Score)是一種常用的主觀評價指標,用于衡量音頻質量。然而,獲取主觀 MOS 評分通常需要大量的人力和時間。因此,無參 MOS 算法應運而生&#…

Flowable——配置使用Flowable-UI

文章目錄 前言 框架選型與版本 flowable-ui 搭建 依賴引入 springboot 主要版本 flowable 相關 log4j 日志配置項 配置文件 log4j配置文件 application.yml 增加啟動類并啟動程序 項目整體結構 前言 最近對工作流的flowable比較感興趣,匯總記錄一下相關的研究學習知識點。 框…

2025大學生必考互聯網行業證書排名?

在互聯網行業蓬勃發展的當下,大學生若想畢業后順利投身其中,提前考取相關高含金量證書不失為明智之舉。這些證書不僅能證明專業能力,還能在求職時為你增添競爭優勢。接下來,為大家詳細介紹 2025 年大學生必考的互聯網行業證書排名…

【并發系列-01】高并發系統架構設計原理

【并發系列-01】高并發系統架構設計原理 1. 業務場景:當雙11遇上技術挑戰 1.1 問題場景描述 想象一下這樣的場景:某電商平臺在雙11期間,短短30分鐘內涌入了500萬用戶,同時發起了超過2000萬次商品查詢請求和100萬次下單操作。而平時…

【Vue2 ?】Vue2 入門之旅(八):過渡與動畫

前幾篇我們學習了事件處理。本篇將介紹 過渡與動畫&#xff0c;讓 Vue 頁面更加生動。 目錄 transition 組件進入與離開過渡過渡類名結合 CSS 動畫JavaScript 鉤子小結 transition 組件 Vue 提供了內置組件 <transition>&#xff0c;可以為元素或組件的進入和離開添加動…