Git【開源分布式版本控制工具】安裝-配置-常用指令-Git遠程倉庫-IDEA使用Git

參考博客:Git(分布式版本控制工具)_為什么嗶哩嗶哩有些視頻沒有字幕-CSDN博客

Git就是一個類似于百度云盤的倉庫;重點是要掌握使用idea操作Git,企業用的最多,一般不會去使用命令

Git通過不斷階段保存文件來實現版本控制,比如備份,版本還原等等

每修改一次就認為是一個版本,這個版本是誰寫的,加上版本號

git記錄了開發的全過程,誰在什么時間做了什么事情都可以看得很清楚

git開發到一定階段就可以設置一個標簽并設置當前代碼開發的版本,就像軟件的版本一樣,設置了標簽,當前標簽里面的內容就不會變化了,你提交的代碼是不會影響到標簽的


目錄

1. 概述

1.1 開發中的實際場景

1.2 版本控制器的方法

1.3 Git工作流程

2. Git安裝

2.1 下載安裝

2.2 Git環境配置

3. 基礎操作指令

4. 分支

5. Git遠程倉庫

5.1、常用的托管服務[遠程倉庫]

5.2 使用碼云

5.3 操作遠程倉庫

6. 在Idea中使用Git


1. 概述

1.1 開發中的實際場景

  • 場景一:備份

  • 場景二:代碼還原

  • 場景三:協同開發

  • 場景四:追溯問題代碼的編寫人和編寫時間

1.2 版本控制器的方法

集中式版本控制工具(SVN和CVS)

集中式版本控制工具,版本庫是集中存放在中央服務器的,team里每個人work時從中央服務器下載代碼,是必須聯網才能工作。個人修改后然后提交到中央版本庫。

分布式版本控制工具(Git)

分布式版本控制系統沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣工作的時候,無需要聯網了。多人協作只需要各自的修改推送給對方,就能互相看到對方的修改了。

1.3 Git工作流程

命令如下:

1. clone (克隆): 從遠程倉庫中克隆代碼到本地倉庫
2. checkout (檢出): 從本地倉庫中檢出一個倉庫分支然后進行修訂
3. add (添加): 在提交前先將代碼提交到暫存區
4. commit (提交): 提交到本地倉庫。本地倉庫中保存修改的各個歷史版本
5. fetch (抓取): 從遠程庫,抓取到本地倉庫,不進行任何的合并動作,一般操作比較少。
6. pull (拉取): 從遠程庫拉到本地庫,自動進行合并(merge),然后放到到工作區,相當于fetch+merge
7. push (推送): 修改完成后,需要和團隊成員共享代碼時,將代碼推送到遠程倉庫


2. Git安裝

2.1 下載安裝

下載地址(適合Win):Git - Downloading Package

選擇下載對應的軟件安裝包:

?

1.獨立安裝程序(Standalone Installer):將Git for Windows直接安裝到計算機上,使其成為系統的一部分。
2.便攜版(Portable):也被稱為“存儲在可移動設備上的版本”。便攜版可以在沒有安裝過程的情況下直接運行,非常適合攜帶在便攜式存儲設備(如USB閃存驅動器)中使用,方便在不同計算機之間使用Git。

winget安裝的方式:winget install --id Git.Git -e --source winget

下載完成后可以得到如下安裝文件:

?

雙擊下載的安裝文件來安裝Git:

?

選擇安裝目錄:

?

選擇安裝的組件:(一般默認就夠用)

?

1.Windows Explorer integration(Windows資源管理器集成):選擇此選項后,Git會將一些功能集成到Windows資源管理器中。
2.Git Bash Here:通過該選項打開Git Bash終端并自動切換到所選文件或文件夾所在的目錄。
3.Git GUI Here:通過該選項打開Git GUI圖形化界面并自動切換到所選文件或文件夾所在的目錄。
4.Git LFS (Large File Support):安裝Git LFS擴展,用于管理大型文件,如圖像、音頻和視頻文件。
5.Asociate .git* configuration files with the default text editor:Git會關聯.gtiignore、.gitattributes等擴展名為.gt+的配置文件與系統默認的文本編輯器,可以直接雙擊這些文件,在默認文本編輯器中打開并進行編輯。
6.Associate .sh files to be run with Bash:Git會關聯.sh擴展名的文件與Bash終端,可以直接雙擊.sh文件,在Bash終端中運行腳本。
7.Check daily for Git for Windows updates:每天檢查是否有Git for Windows的更新版本,并在有更新時提醒你進行更新。
8.(NEW!) Add a Git Bash Profile to Windows Terminal:Git會將一個Git Bash配置文件添加到Windows Terminal中。
9.(NEW!) Scalar (Git add-on to manage large scale repositories):這是一個Git的附加組件,用于管理大規模倉庫。

開始菜單目錄:

?

默認編輯器選擇:(也可以選擇vscode的)

?

初始化新項目的主干名稱:

?

1.Let Git decide:2.28版本之前的默認行為。即在創建新的倉庫時,Git會使用默認的分支名稱master。
2.Override the default branch name for new repositories(覆蓋新的默認分支名稱):可以將默認分支更改為其他名稱(如main)。很多團隊已經重命名默認主干名為main,包括github創建的代碼倉庫也是默認的main主干。

調整環境變量:(默認)

?

1.僅使用Git Bash中的Git:(最謹慎),它不會修改系統環境變量(PATH),只能在Git Bash中使用Git命令行工具。
2.從命令行和第三方軟件中使用Git:(推薦),它會將一些最基本的Git包裝器添加到你的系統環境變量(PATH),以避免在環境中混亂地添加可選的Unix工具,將能夠從Git Bash、命令提示符和Windows PowerShell中使用Git,并且可以在PATH中尋找Git的任何第三方軟件。
3.從命令提示符中使用Git和可選的Unix工具:將Git和可選的Unix工具都添加到你的系統環境變量(PATH)中,這將覆蓋Windows中的一些工具(如"find"和"sort")。

選擇SSH可執行文件:(默認)

?

1.Use bundled OpenSSH(使用捆綁的OpenSSH):使用Git自帶的ssh.exe。Git將會安裝自己的OpenSSH。
2.Use external OpenSSH(使用外部OpenSSH):Git不會安裝自己的OpenSSH,而是使用在系統環境變量PATH中找到的OpenSSH。

選擇HTTPS后端傳輸:

?

1.使用OpenSSL庫:將指示Git使用OpenSSL庫來處理HTTPS連接。OpenSSL是一種廣泛使用的開源SSL/TLS庫,提供了安全的加密和身份驗證功能。選擇此選項后,Git將使用預配置的ca-bundle.crt文件來驗證服務器證書。這個文件中包含了受信任的根證書,用于驗證遠程服務器的證書是否有效和可信任。
2.使用本機Windows Secure Channel庫:將指示Git使用Windows本地的Secure Channel庫來處理HTTPS連接。這個庫是Windows操作系統提供的默認SSL/TLS實現,能夠與Windows證書存儲一起工作。選擇此選項后,Git將使用Windows證書存儲來驗證服務器證書。

配置行尾轉換:(選擇第一個)

?

1.Checkout Windows style, commit Unix style line endings:在檢出(checkout)文本文件時,Git會將行尾符號LF(Unix風格)自動轉換為CRLF(Windows風格)。而在提交(commit)文本文件時,Git會將行尾符號CRLF轉換回LF。這適用于跨平臺項目。
2.Checkout as-is, commit Unix-style line endings:在檢出文本文件時保持原樣,但是在提交文本文件時,Git會將行尾符號CRLF轉換為LF。這適用于跨平臺項目,特別是在Unix環境下進行開發。
3.Checkout as-is, commit as-is:在檢出和提交文本文件時都不執行行尾符號的轉換,保持原樣。

配置Git Bash使用的終端模擬器:(默認)(cmd的劣勢是較大的)

?

1.使用MinTTY:Git Bash將使用MinTTY作為終端仿真器。MinTTY具有可調整大小的窗口、非矩形選擇以及Unicode字體的特性。它適用于與Win32控制臺程序(如交互式Python或node.js)一起使用,并提供更好的兼容性和功能。在MinTTY環境下運行Windows控制臺程序時,需要使用"winpty"來啟動。
2.使用Windows默認控制臺窗口:將使用Windows的默認控制臺窗口(cmd.exe)作為終端仿真器。

git pull默認行為:(默認)

?

1.Default (fast forward or merge):git pull的標準行為;如果可能,將當前分支快進到被拉取的分支,否則創建一個合并提交。
2.Rebase:將當前分支變基到被拉取的分支上。如果沒有本地提交需要變基,則相當于快進操作。
3.Only ever fast-forward:只進行快進操作,將當前分支快進到被拉取的分支。如果不可行,則操作失敗。

選擇憑證助手:(默認)

?

1.Git Credential Manager:使用跨平臺的Git Credential Manager(GCM)。
2.None:不使用憑據助手。在需要身份驗證時,每次都會要求手動輸入憑據。

配置額外選項:(可以默認)(存在風險錯誤)

?

1.啟用偽終端的實驗性支持:可以在Git Bash窗口中運行原生的控制臺程序,而無需使用 winpty。
2.啟用內置文件系統監視器的實驗性支持:Git將自動運行一個內置的文件系統監視器。

安裝完成:

?

命令行窗口輸入git --version或者git -v可以驗證一下:

?

安裝完成后在電腦桌面(也可以是其他目錄)點擊右鍵更多選項,看是否能看到如下兩個菜單:

?

Git GUI:Git提供的圖形界面工具
Git Bash:Git提供的命令行工具

在vscode中找到Terminal工具欄,輸入“git help”驗證是否能夠調用git說明,看是否可以調用:

?

2.2 Git環境配置

Git其他配置參考:秒懂Git之配置(配置git默認編輯器為vscode或者notepad++)_git默認編輯器選什么好-CSDN博客

【打開命令行工具(cmd/vscode的終端/Git Bash)都可以】

(1)設置用戶信息:推薦綁定GitHub

git config --global user.name "用戶名"
git config --global user.email "郵箱"?

查看配置信息驗證:

git config --global user.name
git config --global user.email

?

?

(2)為常用指令配置別名

打開用戶目錄,創建.bashrc文件:部分windows系統不允許用戶創建點號開頭的文件,可以打開gitBash,執行touch ~/.bashrc

?

.bashrc文件中輸入如下內容:

#用于輸出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于輸出當前目錄所有文件及基本信息
alias ll='ls -al'

執行source ~/.bashrc生效。

(3)解決GitBash亂碼問題

GitBash執行:

git config --global core.quotepath false

${git_home}/etc/bash.bashrc文件最后加入下面兩行:

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"?

(4)獲取本地倉庫

要使用Git對代碼進行版本控制,首先需要獲得本地倉庫

1)在電腦的任意位置創建一個空目錄作為本地Git倉庫

2)進入這個目錄中,點擊右鍵打開Git bash窗口

3)執行命令git init

4)如果創建成功后可在文件夾下看到隱藏的.git目錄。

?


3. 基礎操作指令

Git 對于文件修改的狀態:

?

  • git status:查看文件的修改狀態;

  • git add .:提交當前目錄所有文件到暫存區,git add 文件名提交單個文件;

  • git commit:提交暫存區到本地倉庫,git commit -m '注釋內容'提交暫存區內容到本地倉庫的當前分支

  • git log [option]:查看提交日志

    • options

      • --all 顯示所有分支

      • --pretty=oneline 將提交信息顯示為一行

      • --abbrev-commit 使得輸出的commitId更簡短

      • --graph 以圖的形式顯示

  • git reset --hard commitID:版本退回

?

  • git reflog:查看已刪除的記錄

  • clear:清空命令行

示例:

#####################倉庫初始化######################
# 創建目錄一個空目錄并在目錄下打開gitbash
# 初始化git倉庫
git init
#####################創建文件并提交#####################
# 目錄下創建文件 file01.txt
touch file01.txt
# 將修改加入暫存區
git add .
# 將修改提交到本地倉庫,提交記錄內容為:commit 001
git commit -m 'commit 001'
# 查看日志
git log
####################修改文件并提交######################
# 修改file01的內容為:count=1
vim file01.txt
# 將修改加入暫存區
git add .
# # 將修改提交到本地倉庫,提交記錄內容為:update file01
git commit --m 'update file01'
# 查看日志
git log
# 以精簡的方式顯示提交記錄
git-log
####################將最后一次修改還原##################
# 查看提交記錄
git-log
# 找到倒數第2次提交的commitID
略
# 版本回退
git reset commitID --hard


4. 分支

幾乎所有的版本控制系統都以某種形式支持分支。 使用分支意味著可以把工作從開發主線上分離開來進行重大的Bug修改、開發新的功能,以免影響開發主線。

  • git branch:查看本地分支

  • git branch 分支名:創建本地分支

  • git checkout 分支名:切換分支

  • git checkout -b 分支名:直接切換到一個不存在的分支(創建并切換)

  • git merge 分支名稱:一個分支上的提交可以合并到另一個分支

不能刪除當前分支,只能刪除其他分支

  • git branch -d b1:刪除分支時,需要做各種檢查

  • git branch -D b1:不做任何檢查,強制刪除

?

當兩個分支上對文件的修改可能會存在沖突,例如同時修改了同一個文件的同一行,這時就需要手動解決沖突,解決沖突步驟如下:

1. 處理文件中沖突的地方
2. 將解決完沖突的文件加入暫存區(add)
3. 提交到倉庫(commit)

沖突部分的內容處理如下所示:

?

分支使用流程圖:

?

?


5. Git遠程倉庫

5.1、常用的托管服務[遠程倉庫]

  • GitHub:https://github.com/

    • 面向開源及私有軟件項目的托管平臺,因為只支持Git作為唯一的版本庫格式進行托管,故名gitHub

  • Gitee(碼云):Gitee - 基于 Git 的代碼托管和研發協作平臺

    • 國內的一個代碼托管平臺,由于服務器在國內,所以相比于GitHub,碼云速度會更快

  • GitLab:https://about.gitlab.com/

    • 用于倉庫管理系統的開源項目,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務,一般用于在企業、學校等內部網絡搭建git私服,需要部署。

5.2 使用碼云

(1)注冊碼云:注冊 - Gitee.com

(2)創建遠程倉庫

?

倉庫創建完成后可以看到倉庫地址:

?

(3)配置SSH公鑰

  • 生成SSH公鑰(如果公鑰已經存在,則自動覆蓋)

    • ssh-keygen -t rsa

    • 不斷回車

  • ?Gitee設置賬戶共公鑰???

    • 獲取公鑰:cat ~/.ssh/id_rsa.pub

    • 用戶 - 設置 - SSH公鑰

    • 驗證是否配置成功:ssh -T git@gitee.com

5.3 操作遠程倉庫

(1)添加遠程倉庫:先初始化本地庫,再與已創建的遠程庫進行對接

  • git remote add <遠端名稱> <倉庫路徑>

    • 遠端名稱,默認是origin,取決于遠端服務器設置

    • 倉庫路徑,從遠端服務器獲取此URL

(2)查看遠程倉庫:git remote

?

(3)推送到遠程倉庫

  • git push [-f] [--set-upstream] [遠端名稱 [本地分支名][:遠端分支名] ]

    • 如果遠程分支名和本地分支名稱相同,則可以只寫本地分支:git push origin main

    • -f表示強制覆蓋

    • --set-upstream推送到遠端的同時并且建立起和遠端分支的關聯關系

    • 如果當前分支已經和遠端分支關聯,則可以省略分支名和遠端名:git push

?

(4)查詢遠程倉庫

?

查詢當前 Git 倉庫配置的遠程倉庫地址:git remote -vv

(5)本地分支與遠程分支的關聯關系

  • 查看關聯關系:git branch -vv

??

(6)從遠程倉庫克隆

  • git clone <倉庫路徑> [本地目錄]

?

(7)從遠程倉庫中抓取和拉取

  • 抓取命令:git fetch [remote name] [branch name]

    • 將倉庫里的更新都抓取到本地,不會進行合并

  • 拉取命令:git pull [remote name] [branch name]

    • 將遠端倉庫的修改拉到本地并自動進行合并,等同于fetch+merge

    • 如果不指定遠端名稱和分支名,則抓取所有并更新當前分支

命令獲取遠程更新自動合并到本地分支是否修改本地代碼
git fetch? 是? 否? 否
git pull? 是? 是? 是

(8)解決合并沖突

  • 在一段時間,A、B用戶修改了同一個文件,且修改了同一行位置的代碼,此時會發生合并沖突。

  • A用戶在本地修改代碼后優先推送到遠程倉庫,此時B用戶在本地修訂代碼,提交到本地倉庫后,也需要推送到遠程倉庫,此時B用戶晚于A用戶,故需要先拉取遠程倉庫的提交,經過合并后才能推送到遠端分支

?

?


6. 在Idea中使用Git

打開 IntelliJ IDEA,如果 Git 安裝在默認路徑下,那么idea會自動找到git的位置,如果更改了 Git 的安裝位置則需要手動配置下Git的路徑(新版也能自動識別)。選擇 File→Settings 打開設置窗口,找到 Version Control 下的 git 選項:

詳情參考:Idea中使用Git詳細教學_idea配置git-CSDN博客

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

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

相關文章

JavaScript數組鍵值去重方法

使用 filter 和 Map 根據鍵值去重我來詳細解釋方法2&#xff0c;這是一種高效且簡潔的數組去重方法&#xff0c;特別適合根據對象中的某個鍵值進行去重操作。完整代碼function uniqueByKey(arr, key) {return [...new Map(arr.map(item > [item[key], item])).values()]; }分…

【機器學習筆記Ⅰ】9 特征縮放

特征縮放&#xff08;Feature Scaling&#xff09;詳解 特征縮放是機器學習數據預處理的關鍵步驟&#xff0c;旨在將不同特征的數值范圍統一到相近的尺度&#xff0c;從而加速模型訓練、提升性能并避免某些特征主導模型。1. 為什么需要特征縮放&#xff1f; (1) 問題背景 量綱不…

10.9 大模型訓練數據優化實戰:3步讓準確率從68%飆升至79%

大模型訓練過程分析與數據優化 一、訓練過程關鍵指標分析 (插入mermaid流程圖:訓練過程監控與優化閉環) #mermaid-svg-Gni031LkHA93fQYM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Gni031LkHA93fQYM .erro…

深度學習模型在C++平臺的部署

一、概述深度學習模型能夠在各種生產場景中發揮重要的作用&#xff0c;而深度學習模型往往在Python環境下完成訓練&#xff0c;因而訓練好的模型如何在生產環境下實現穩定可靠的部署&#xff0c;便是一個重要內容。C開發平臺廣泛存在于各種復雜的生產環境&#xff0c;隨著業務效…

若以部署在linux,nginx反向代理,登錄404,刷新404問題

history模式在router下面的index.js文件的最下面history: createWebHistory(import.meta.env.VITE_APP_CONTEXT_PATH),這兩個配置文件都加上然后nginx里面的配置是這個位置按照實際情況&#xff0c;我的是用docker掛載的&#xff0c;所以在/usr/share/nginx/html/lw-clothing為…

SQL Server通過存儲過程實現HTML頁面生成

引言在現代企業應用中&#xff0c;數據可視化是提升決策效率的關鍵。SQL Server作為核心數據庫管理系統&#xff0c;不僅處理數據存儲和查詢&#xff0c;還具備強大的擴展能力。通過存儲過程直接生成HTML頁面&#xff0c;企業能減少對中間層&#xff08;如Web服務器或應用程序&…

qt繪制餅狀圖并實現點擊即放大點擊部分

做得比較low #ifndef TEST_POWER_H #define TEST_POWER_H#include <QWidget> #include <QtMath> #include <QPainter> #include <QPushButton> #include <QVector> #include <cmath>namespace Ui { class test_power; } struct PieData {Q…

HashMap的put、get方法詳解(附源碼)

put方法 HashMap 只提供了 put 用于添加元素&#xff0c;putVal 方法只是給 put 方法調用的一個方法&#xff0c;并沒有提供給用戶使用。 對 putVal 方法添加元素的分析如下&#xff1a;如果定位到的數組位置沒有元素 就直接插入。如果定位到的數組位置有元素就和要插入的 key …

雙立柱式帶鋸床cad【1張總圖】+設計說明書+絳重

雙立柱式帶鋸床 摘 要 隨著機械制造技術的進步&#xff0c;制造業對于切割設備的精度、效率和穩定性要求越來越高。雙立柱式帶鋸床作為一種重要的切割設備&#xff0c;必須能夠滿足工業生產對于高精度、高效率的需求。 雙立柱式帶鋸床是一種重要的工業切割設備&#xff0c;其結…

在線JS解密加密配合ECC保護

在線JS解密加密配合ECC保護 1. ECC加密簡介 定義 ECC&#xff08;Elliptic Curve Cryptography&#xff09;是一種基于橢圓曲線數學的公鑰加密技術&#xff0c;利用橢圓曲線離散對數問題&#xff08;ECDLP&#xff09;實現高安全性。 背景 1985年&#xff1a;Koblitz&#xff0…

使用 Docker Compose 簡化 INFINI Console 與 Easysearch 環境搭建

前言回顧 在上一篇文章《搭建持久化的 INFINI Console 與 Easysearch 容器環境》中&#xff0c;我們詳細介紹了如何使用基礎的 docker run 命令&#xff0c;手動啟動和配置 INFINI Console (1.29.6) 和 INFINI Easysearch (1.13.0) 容器&#xff0c;并實現了關鍵數據的持久化&…

Word 怎么讓段落對齊,行與行之間寬一點?

我們來分兩步解決&#xff1a;段落對齊 和 調整行距。 這兩個功能都集中在Word頂部的【開始】選項卡里的【段落】區域。 第一步&#xff1a;讓段落對齊 “對齊”指的是段落的左右邊緣如何排列。通常有四種方式。 操作方法&#xff1a;將鼠標光標點在你想修改的那個段落里的任意…

Attention機制完全解析:從原理到ChatGPT實戰

一、Attention的本質與計算步驟 1.1 核心思想 動態聚焦&#xff1a;Attention是一種信息分配機制&#xff0c;讓模型在處理輸入時動態關注最重要的部分。類比&#xff1a;像人類閱讀時用熒光筆標記關鍵句子。 1.2 計算三步曲&#xff08;以"吃蘋果"為例&#xff09; …

2025年3月青少年電子學會等級考試 中小學生python編程等級考試三級真題答案解析(判斷題)

博主推薦 所有考級比賽學習相關資料合集【推薦收藏】1、Python比賽 信息素養大賽Python編程挑戰賽 藍橋杯python選拔賽真題詳解

HTML5 新特性詳解:從語義化到多媒體的全面升級

很多小伙伴本都好奇&#xff1a;HTML5有什么功能是以前的HTML沒有的&#xff1f; 今天就給大家說道說道 HTML5 作為 HTML 語言的新一代標準&#xff0c;帶來了諸多革命性的新特性。這些特性不僅簡化了前端開發流程&#xff0c;還大幅提升了網頁的用戶體驗和功能性。本文將深入…

mac安裝docker

1、下載docker-desktop https://www.docker.com/products/docker-desktop/2、安裝&#xff0c;雙擊安裝 3、優化docker配置 默認配置 cat ~/Library/Group\ Containers/group.com.docker/settings-store.json {"AutoStart": false,"DockerAppLaunchPath": …

mapbox進階,繪制不隨地圖旋轉的矩形,保證矩形長寬沿屏幕xy坐標方位

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式1.4 ??circle點圖層樣…

${project.basedir}延申出來的Maven內置的一些常用屬性

如&#xff1a;${project.basedir} 是 Maven 的內置屬性&#xff0c;可以被 pom.xml 直接識別。它表示當前項目的根目錄&#xff08;即包含 pom.xml 文件的目錄&#xff09;。 Maven 內置的一些常用屬性&#xff1a; 項目相關&#xff1a; ${project.basedir} <!-- 項…

[特殊字符] Python 批量生成詞云:讀取詞頻 Excel + 自定義背景 + Excel to.png 流程解析

本文展示如何用 Python 從之前生成的詞頻 Excel 文件中讀取詞頻數據&#xff0c;結合 wordcloud 和背景圖&#xff0c;批量生成直觀美觀的詞云圖。適用于文本分析、內容展示、報告可視化等場景。 &#x1f4c2; 第一步&#xff1a;讀取所有 Excel 詞頻文件 import os from ope…

模擬網絡請求的C++類設計與實現

在C開發中&#xff0c;理解和模擬網絡請求是學習客戶端-服務器通信的重要一步。本文將詳細介紹一個模擬HTTP網絡請求的C類庫設計&#xff0c;幫助開發者在不涉及實際網絡編程的情況下&#xff0c;理解網絡請求的核心概念和工作流程。 整體架構設計 這個模擬網絡請求的類庫主要由…