Git常用命令速查表:適合初學者的收藏版清單

這篇速查表是Git新手入門指南,核心涵蓋以下內容:基礎配置(`git config --global user.name/email`設置身份,`git init`初始化倉庫);工作區與暫存區操作(`git status`查狀態,`git add [文件/.]`暫存,`git commit -m "描述"`提交);分支操作(`git branch`創建,`git checkout -b`創建切換,`git merge`合併,`git branch`查看分支);遠程倉庫(`git remote add origin [地址]`關聯,`git pull`拉取,`git push -u origin [分支]`推送);撤銷恢復(`git reset HEAD`撤銷暫存,`reset --soft/hard`回滾,`checkout -- [文件]`丟棄修改,`git stash`暫存工作);查看歷史(`git log --oneline`簡化輸出);常見問題(衝突需手動修改文件後`add+commit`,`stash`暫存未完成工作)。核心是`add→commit`基礎流程,分支與遠程操作是協作關鍵,需實踐熟悉。

閱讀全文
Git倉庫大小優化:清理大文件與歷史記錄的技巧

Git倉庫變大主要因提交大文件(如日誌、視頻)、歷史記錄殘留大文件、子模塊未優化。這會導致克隆下載慢、備份傳輸耗時、本地操作卡頓。 清理方法:若剛提交未推送大文件,可通過`git rm --cached`刪除緩存、重新提交併推送;若大文件在歷史記錄中,需用`git filter-repo`重寫歷史(安裝工具、過濾大文件、強制推送更新),清理後用`git rev-list`檢查是否遺漏。 終極方案:批量清理可用`--path-glob`匹配文件,子模塊大文件需先清理再更新。長期優化推薦Git LFS管理大文件(安裝後跟蹤大文件類型,避免直接提交)。 操作前務必備份倉庫,多人協作時慎用強制推送,確保團隊確認後執行。養成小文件提交、大文件用LFS的習慣,可長期保持倉庫精簡。

閱讀全文
Git子模塊更新:保持依賴代碼同步的方法

Git子模塊用於解決代碼複用麻煩、避免重複粘貼的問題,主倉庫僅記錄子倉庫的版本和位置,子倉庫存具體代碼。其用途包括團隊共享組件、第三方依賴版本控制及代碼隔離。 使用步驟:克隆帶嵌套子模塊的倉庫需用`git clone --recursive`;初始化和更新子模塊用`git submodule update --init --recursive`(遞歸更新嵌套子模塊);子模塊更新需執行`git submodule update --recursive`拉取最新版本;修改子模塊後,先在子模塊內提交,再回主項目`git add 子模塊目錄`並`git commit`以更新主項目引用;拉取主項目更新後同步子模塊。 常見問題:目錄爲空需初始化,版本不對需遞歸更新,修改後未同步主項目需補提交引用。子模塊如樂高零件,獨立複用,關鍵記“克隆帶--recursive,更新同步用--recursive,修改後同步引用”。

閱讀全文
Git撤銷操作總結:reset、revert與restore的區別

Git提供`reset`、`revert`、`restore`三個撤銷工具,功能相似但場景差異大,需按場景選擇: **git reset**:調整分支指針,丟棄部分提交。分三模式:`--mixed`(默認,回退指針和暫存區,保留工作區)、`--soft`(僅回退指針,保留修改)、`--hard`(徹底回退,最危險)。適用於本地未推送的快速回退,已推送分支嚴禁用`--hard`。 **git revert**:創建新提交反向撤銷,保留原歷史。語法簡單(如`git revert HEAD~1`),安全回滾已推送分支,避免破壞團隊歷史。 **git restore**:精準恢復文件,不影響分支。可撤銷暫存(`git restore --staged <文件>`)或恢復單個文件到歷史版本(`git restore --source=HEAD~1 <文件>`),替代舊`git checkout --`,語義更清晰。 **區別**:reset調整分支指針(危險),revert新增撤銷提交(安全),restore恢復單文件(精準)。決策口訣:本地未推用

閱讀全文
Git提交信息模板:統一團隊協作的提交規範

### 爲什麼需要統一提交規範? 統一提交規範可解決代碼審查困難、版本迭代混亂、自動化工具失效等問題,讓每次改動目的和內容清晰,便於團隊協作。 ### 規範格式(Conventional Commits) - **類型**(必填):如`feat`(新增功能)、`fix`(修復bug)、`docs`(文檔)等,選錯會誤導版本管理。 - **描述**(必填):簡短(≤50字)、動詞開頭(如“優化”“修復”),避免模糊表述。 - **正文**(可選):空行後詳細說明改動原因、實現細節或問題解決過程。 - **腳註**(可選):關聯Issue(如`Closes #123`)或說明破壞性改動。 ### 如何創建提交模板? - **全局模板**:在用戶根目錄建`.gitmessage`,配置Git使用`git config --global commit.template ~/.gitmessage`。 - **項目級模板**:項目根目錄建`.gitmessage`,執行`git config commit.template .gitmessage`。 ### 工具輔助強制規範 - **Commit

閱讀全文
Git遠程倉庫遷移:從SVN遷移到Git的實戰指南

### 爲什麼遷移: SVN作爲集中式工具存在侷限(需聯網提交、分支管理不靈活、衝突頻繁),Git分佈式版本控制支持本地庫、多分支並行、離線操作,能提升團隊協作效率。 ### 準備工作: 安裝Git、SVN工具及`svn2git`(RubyGems安裝,需Ruby環境);在GitHub/GitLab等平臺創建空Git倉庫;配置Git身份(`user.name`和`user.email`)。 ### 遷移步驟(以GitHub爲例): 1. **導出SVN歷史**:用`svn2git`工具轉換,指定SVN倉庫地址及分支/標籤路徑(如`--trunk=trunk --branches=branches --tags=tags`),可通過`authors.txt`映射SVN作者到Git用戶。 2. **推送到遠程**:進入生成的Git倉庫,關聯遠程地址後推送所有分支(`git push -u origin --all`)及標籤(`git push -u origin --tags`)。 3. **驗證結果**:檢查分支列表、提交歷史及文件完整性。 ### 常見問題:

閱讀全文
Git倉庫權限管理:如何設置團隊成員的訪問權限

Git倉庫權限管理是團隊協作的“門禁系統”,核心是保障代碼安全、防止誤改/泄露,遵循最小權限原則(分配剛好夠用的權限)。常見權限分三類:Read(只讀,適合新人、文檔作者)、Write(可提交代碼,普通開發者)、Admin(最高權限,負責人)。以GitHub爲例,設置步驟:進入倉庫→Settings→Manage access→Add collaborator分配權限(普通成員選Write,僅查看選Read,負責人選Admin)。進階可針對分支設保護規則(如合併需PR審查、CI測試)。技巧:避免高權限濫用,定期清理離職成員權限,用團隊分組批量管理。核心是明確分工、最小權限、分支保護,讓權限“剛好夠用”。

閱讀全文
Git與代碼審查:Pull Request的完整流程與規範

文章圍繞團隊協作開發中Git與PR的關鍵作用展開。Git通過分支(並行開發)、提交(保存代碼快照)、推送(共享代碼)實現版本管理;PR作爲協作橋樑,流程包括:同步主分支確保代碼最新、推送分支後創建PR(需清晰描述修改目的、測試結果等)、等待代碼審查(發現問題、保證質量)、合併清理。規範要點:小步提交避免大PR、提交信息明確、及時溝通反饋、尊重審查意見。Git與PR助力高效協作,提升代碼質量與團隊效率。

閱讀全文
Git分支重命名:安全修改本地和遠程分支名的步驟

### Git分支重命名指南 重命名分支是因早期命名不規範、協作需求或邏輯調整,以提升代碼結構清晰度。操作前需確保本地無未提交更改(`git status`檢查),並通知團隊避免衝突。 **本地分支重命名**:執行`git branch -m 舊分支名 新分支名`,如`git branch -m dev_old dev`,驗證用`git branch`確認。 **遠程分支重命名**:因Git不直接支持,需分三步:①刪除遠程舊分支(`git push origin --delete 舊分支名`,不可逆,需確認內容);②推送本地新分支(`git push origin 新分支名`);③可選關聯跟蹤(`git branch --set-upstream-to origin/新分支名`)。 驗證:`git branch -r`檢查遠程分支,切換測試新分支。注意事項:多人協作需同步,合併後重命名,刪除遠程分支前建議備份。

閱讀全文
Git版本控制基礎:分佈式vs集中式的核心區別

版本控制是軟件開發管理代碼變化的核心工具,解決多人協作、版本回滾等問題。文章對比了集中式與分佈式版本控制: 集中式版本控制(如SVN)以中央倉庫爲核心,所有代碼需經中央服務器上傳下載,依賴網絡,離線能力弱,協作時多人改同一文件易衝突,需手動解決。 分佈式版本控制(如Git)中,每個開發者本地均有完整倉庫,中央服務器僅作數據同步中轉站。Git支持極強離線操作,可在本地完成提交、分支等,協作靈活,衝突由系統標記後自主合併,數據安全度高(多本地備份)。 核心區別:集中式依賴中央倉庫,分佈式本地獨立;集中式聯網受限,分佈式離線工作自如;集中式協作需中央協調,分佈式更靈活。 Git作爲分佈式主流工具,以本地倉庫、離線工作、靈活協作爲優勢,是開發標配,初學者需掌握其基礎操作。

閱讀全文
Git子模塊:在項目中引入第三方代碼的正確方式

Git子模塊用於解決父項目複用第三方代碼時的版本失控、協作混亂和代碼冗餘問題,核心是在父項目中嵌入獨立子倉庫,僅記錄子模塊的位置和版本信息,便於獨立跟蹤更新。 基本使用:父項目初始化後,用`git submodule add`添加第三方倉庫爲子模塊(生成`.gitmodules`文件記錄配置);克隆含子模塊的父項目時,用`--recursive`或手動執行`git submodule update`拉取子模塊代碼。子模塊可獨立修改、拉取更新,父項目需提交子模塊新引用以同步版本。 注意:子模塊不會自動更新,需手動進入子模塊目錄執行`git pull`並提交父項目;多人協作需共享`.gitmodules`和子模塊版本,確保路徑與版本一致。子模塊與子樹不同,前者獨立維護,後者合併代碼到父項目。

閱讀全文
Git stash:臨時保存未提交代碼的場景與操作

Git stash用於臨時保存未提交的工作進度,解決切換分支或處理其他任務時的代碼管理問題。常見場景如開發中需緊急修復線上bug,或臨時處理簡單任務時,可安全保存當前修改。 核心操作:保存未提交修改用`git stash save "消息"`;查看已保存列表用`git stash list`;恢復最近stash用`git stash pop`(恢復並刪除)或`git stash apply`(恢復保留);刪除指定stash用`git stash drop`,`git stash clear`可刪除全部。`-u`參數可保存未跟蹤文件。 注意:stash不保存未跟蹤文件;長期工作進度建議用`git commit`,避免依賴stash。掌握這些操作能靈活管理開發流程,確保代碼安全。

閱讀全文
Git commit message規範:讓團隊協作更高效

日常開發中,規範的Git提交信息(commit message)對團隊協作、問題追蹤至關重要,不規範會導致版本歷史混亂。當前主流規範是Conventional Commits,結構分爲:類型(必填,如`feat`新功能、`fix`修復、`docs`文檔等)、可選作用域(限定模塊範圍,如`用戶模塊`)、簡短描述(核心內容)、可選正文(詳細解釋)、可選腳註(關聯Issue或標註破壞性變更)。 養成規範習慣可藉助工具:`commitizen`(交互式工具)或`commitlint+husky`(提交前自動檢查)。規範的好處包括:提升協作效率、自動生成版本日誌、清晰追蹤問題、提前預警破壞性變更,值得團隊養成。

閱讀全文
Git快速入門:30分鐘掌握基礎操作

Git是分佈式版本控制系統,用於記錄文件修改歷史,支持團隊協作與個人回溯。核心優勢:版本回溯(防誤改)、多人協作(合併代碼)、本地安全管理(操作先本地後雲端)。 基礎概念以“區域”比喻:工作區(草稿)、暫存區(待交盒)、本地倉庫(檔案櫃)、遠程倉庫(雲端共享庫)。 基礎操作分五步:1. 初始化倉庫(`git init`);2. 配置用戶信息(`config`);3. 跟蹤提交(`status`查看狀態,`add`暫存,`commit`提交);4. 版本管理(`log`查歷史,`reset`回退);5. 分支操作(`checkout -b`創建分支,`merge`合併);6. 遠程倉庫(`clone`、`push`、`pull`)。 核心是“及時提交、分支管理、版本回溯”,關鍵命令鏈:`init→add→commit→log/reset→branch→push/pull`。30分鐘可掌握基礎操作,常見問題如修改提交信息用`--amend`,

閱讀全文
Git忽略文件:除.gitignore外的其他排除方法

Git除`.gitignore`外,還有多種忽略文件方式,適用於不同場景。`.git/info/exclude`僅本地倉庫使用,規則不共享,直接在`.git/info/exclude`添加忽略規則(如個人IDE配置);`git update-index --assume-unchanged`用於已跟蹤文件,避免Git檢查修改(如本地配置文件);`--skip-worktree`更嚴格,禁止Git跟蹤敏感文件(如密碼);`git rm --cached`可從版本庫移除已跟蹤文件(保留本地)。選擇指南:日常通用規則用`.gitignore`共享,本地個人需求用`.git/info/exclude`,已跟蹤文件忽略用前兩者,移除文件用`git rm --cached`。掌握這些可靈活管理跟蹤範圍,避免版本庫臃腫或信息泄露。

閱讀全文
Git倉庫備份:定期備份與恢復的完整方案

Git倉庫備份是保障代碼安全的關鍵,其包含代碼、歷史及分支信息,本地損壞、遠程誤刪或平臺故障均可能導致代碼丟失,因此需定期備份。核心原則爲多份備份(本地+遠程)、定期執行、驗證恢復。 本地備份:複製倉庫文件夾(Linux/Mac用`cp -r`,Windows直接複製),定期更新。遠程備份:多平臺備份(如關聯兩個遠程地址),用`git bundle`打包導出,防平臺風險。 自動化備份更可靠:Linux/Mac用`crontab`定時執行腳本,Windows用任務計劃程序。恢復時,本地損壞用備份覆蓋,遠程損壞可克隆或用bundle恢復。 注意事項:備份路徑分離、保留`.git`目錄、定期測試恢復。養成“本地定期複製+遠程多平臺備份”習慣,確保代碼安全。

閱讀全文
Git日誌查看:log命令參數與提交歷史分析

這篇文章介紹了Git日誌的重要性及使用方法。查看Git日誌可瞭解提交記錄(誰、何時、修改內容)、項目迭代軌跡,還能定位問題。基礎命令`git log`會顯示提交ID、作者、時間和信息。 常用參數有:`--oneline`簡化顯示,一行一個提交;`-p`顯示代碼差異(diff);`-n`限制提交數量(如`-n 3`);`--graph`圖形化展示分支合併;`--author`按作者篩選,`--since`/`--before`按時間範圍篩選;`--color`彩色顯示。 分析日誌時,可快速定位問題、理解分支邏輯,清晰的提交信息(如“修復登錄按鈕”)能提升協作效率。掌握這些參數是高效版本控制的關鍵。

閱讀全文
Git工作流詳解:從功能分支到主分支的完整流程

Git工作流是團隊協作的“交通規則”,約定代碼提交、合併、版本管理規則,確保有序協作。推薦簡化版Git Flow策略:主分支(`main`)存穩定可部署代碼,功能分支(如`feature/xxx`)獨立開發,完成後測試合併。 必學基礎命令包括克隆、創建分支(`git checkout -b`)、暫存(`git add .`)、提交(`git commit`)、拉取(`git pull`)、合併(`git merge`)、推送(`git push`)等。 以開發登錄功能爲例,完整工作流步驟:1. 確保主分支(`main`)最新(`git checkout main`+`git pull`);2. 創建功能分支(`git checkout -b feature/login`);3. 開發後提交(`git status`+`add`+`commit`);4. 同步主分支更新(拉取主分支再合併);5. 推送功能分支到遠程;6. 合併到主分支(可通過PR)並清理分支。 衝突時手動編輯衝突文件(刪除`<<<<<<<`

閱讀全文
Git重置(Reset)操作詳解:硬重置、軟重置與混合重置

Git中“重置”(Reset)用於撤銷或修改提交歷史,通過調整分支指針和工作區/暫存區狀態實現,初學者常因混淆類型犯錯。其三種常見類型及核心區別如下: **軟重置(--soft)**:僅移動HEAD指針,保留工作區和暫存區,適用於修改提交信息或重新提交(如`git reset --soft HEAD~1`)。 **混合重置(默認--mixed)**:移動HEAD並重置暫存區,保留工作區,適合撤銷提交後重新整理代碼再提交(默認無需參數)。 **硬重置(--hard)**:移動HEAD並徹底重置暫存區和工作區,所有修改永久丟失,僅確認修改無用時使用(如`git reset --hard HEAD~1`),操作不可逆。 關鍵區別:Reset修改歷史(本地未分享適用),Revert創建新提交(已推送時用);硬重置需謹慎,操作前用`git status`確認狀態,未備份修改可通過`reflog`嘗試恢復(僅本地未推送時)。 總結:軟重置輕量改歷史,混合默認常用,硬重置危險需確認

閱讀全文
Git遠程分支同步:如何拉取最新遠程分支並更新本地

在多人協作的Git項目中,同步遠程分支是爲了確保本地代碼與遠程倉庫最新進度一致,避免衝突或錯過新功能。核心步驟如下: 首先需確保本地連接遠程倉庫,用`git remote -v`查看,未連接則`git remote add origin <地址>`添加。接着查看分支狀態,遠程分支用`git branch -r`,本地分支用`git branch`。 拉取更新有兩種方法:方法一`git pull`(最常用),直接拉取併合並遠程分支到當前分支,步驟爲切換目標分支(如`git checkout dev`)後執行`git pull origin dev`;方法二`git fetch`+`merge`,先拉取更新(`git fetch origin dev`)再合併(`git merge origin/dev`),適合需確認更新內容的場景。 若拉取時衝突,Git會標記衝突文件(如`<<<<<<< HEAD`等),需手動編輯文件刪除標記,再`git add <文件>`和`git commit`解決。 常見問題:未提交修改衝突時,用`git stash`暫存後拉取;本地無遠程分支時,用`

閱讀全文
Git版本對比:diff命令查看代碼變更的實用技巧

Git中`diff`命令用於查看版本間代碼變化,是基礎實用工具,可對比工作區/暫存區、暫存區/歷史提交、歷史版本及分支差異。核心場景及命令:工作區與暫存區用`git diff <文件名>`;暫存區與歷史提交用`git diff --staged`;歷史版本對比用`git diff <哈希1> <哈希2>`;分支間用`git diff <分支1> <分支2>`。實用參數包括:`-w`忽略空格變化,`--name-only`僅顯示文件名,`--stat`顯示修改行數統計,`--binary`對比二進制文件。輸出中`+`表示新增內容,`-`表示刪除內容。掌握diff可高效管理代碼變更,避免誤提交。

閱讀全文
Git子模塊(Submodule)使用指南:管理項目依賴代碼

Git子模塊是大項目複用獨立代碼(如通用庫)的工具,解決重複複製和版本同步問題。核心優勢:代碼複用節省空間,獨立維護便於修改提交,主項目可指定版本確保一致性。本質是獨立Git倉庫,主項目通過.gitmodules和.git/config記錄配置與版本引用。 核心使用步驟:主項目用`git submodule add`添加子模塊;克隆帶子模塊用`--recursive`,否則需`init+update`;修改子模塊後提交主項目引用;更新用`git submodule update`;刪除需清理配置。 常見問題:克隆後空(補`--recursive`或`update`)、修改未更新主項目(補提交)、版本衝突(約定分支)。 總結:適合獨立複用的依賴,流程爲添加→克隆/更新→修改提交→主項目引用更新,提升維護效率。

閱讀全文
Git與CI/CD:結合Git實現自動化部署與測試

這篇文章介紹了Git與CI/CD的核心概念及結合應用。Git是版本控制工具,如代碼“日記本”,記錄修改、管理協作,避免衝突與版本混亂;CI/CD(持續集成/持續交付/部署)通過自動化替代手動流程,實現提交代碼後自動測試、部署,提升效率。二者結合是“黃金搭檔”:開發者提交代碼到Git倉庫,CI/CD工具自動觸發測試、構建、部署流程(如前端項目用GitHub Actions部署到Netlify)。結合優勢顯著:減少錯誤(自動測試)、加快迭代(全程分鐘級完成)、降低成本(減少人工)、便於追溯(可查部署來源)。Git奠定版本管理基礎,CI/CD實現流程自動化,二者結合讓開發從手動變流暢,是現代開發必備技能。

閱讀全文
Git常用命令速記:記住這10個命令,Git操作不再難

這篇文章介紹了Git 10個核心常用命令,幫助新手快速掌握基礎操作。核心命令涵蓋從初始化到協作的完整流程: - **初始化/克隆**:`git init` 初始化本地倉庫,`git clone` 從遠程倉庫複製代碼; - **修改與提交**:`git add` 暫存修改(單個文件或全目錄用`.`),`git commit -m "信息"` 提交到本地倉庫,提交信息需清晰; - **狀態與歷史**:`git status` 查看倉庫狀態,`git log` 查看提交歷史(`--oneline` 更簡潔); - **分支管理**:`git checkout -b 分支名` 創建並切換分支,`git merge 分支名` 合併分支(注意衝突處理); - **協作操作**:`git pull` 拉取遠程代碼併合並,`git push origin 分支名` 推送本地分支到遠程。 核心流程爲:初始化/克隆 → 修改暫存(add)→ 提交(commit)→ 分支管理 → 協作拉取/推送。新手可通過練習逐步熟練,減少版本管理混亂

閱讀全文
Git倉庫清理:刪除本地與遠程無用分支的方法

文章介紹了清理Git無用分支的必要性、步驟及注意事項。必要性:減少倉庫混亂、降低誤刪風險、節省存儲空間。清理前需確認權限、檢查分支狀態(是否合併)、備份重要分支。 本地刪除:先查看分支,用`git branch --merged 主分支`篩選已合併分支,確認後用`git branch -d 分支名`刪除(已合併),未合併分支用`-D`強制刪除(風險高)。 遠程刪除:直接用`git push origin --delete 分支名`刪除遠程分支,或`git fetch -p`清理本地跟蹤的遠程廢棄分支。 進階技巧:可批量刪除已合併分支,本地用`git branch --merged master | grep -v '^\*\|master\|main' | xargs git branch -d`,遠程用類似循環命令。 注意事項:確認分支是否被他人使用、避免誤刪未合併分支、刪除後難恢復。定期清理需先確認狀態,確保安全高效。

閱讀全文