Git的安裝和配置(idea中配置Git)

一、Git的下載和安裝?

前提條件:IntelliJ IDEA 版本是2023.3 ,那么配置 Git 時推薦使用 Git 2.40.x 或更高版本

下載地址:CNPM Binaries Mirror

操作:打開鏈接 → 滾動到頁面底部 → 選擇2.40.x或更高版本的 .exe 文件(如 Git-2.41.0.3-64-bit.exe)下載?

1、選擇一個2.40.x或更高的版本

2、點擊后綴名為 64-bit.exe?即可

3、安裝Git只需要雙擊軟件包然后一直下一步 即可

?4、在D盤或其他盤? 新建一個目錄(目錄名稱確保是英文)

?注意目錄的名稱是英文(名稱隨意)

5、一直點擊next 即可?

6、鼠標右鍵? ?出現了如下圖兩個指令那么就是安裝成功了

Open Git GUl here:圖形化操作界面

Open Git Bash here:Unix/Linux風格的命令行,使用多,推薦


二、Git常用命令的使用

文檔地址:Git 大全 - Gitee.com

常用指令示意圖:

1、配置用戶名和郵箱

(1)鼠標右鍵并點擊Open Git Bash here

(2)使用下面命令:查看配置信息

git config -l

?如圖我之前配置好的用戶名和郵箱

(3)使用下面的命令配置用戶信息 (注意是填自己的用戶信息)

git config --global user.name "dhp"
git config --global user.email "dhp041011@qq.com"

?(4)配置完后繼續使用命令查看


2、查看配置信息的命令:

查看所有配置:

git config -l

查看系統配置:

git config --system --list

查看當前用戶配置:

git config --global --list

?3、創建全新的本地倉庫

(1)在G盤新建一個文件夾(名稱要求是英文)

(2) 進入新創建的目錄,鼠標右鍵并點擊Open Git Bash here

(3)輸入命令:git init? 即可

git init

進入.git文件后就可以看見?所有的信息


4、克隆遠程倉庫

克隆遠程倉庫相當于實現創建了一個本地的倉庫

(1)在G盤新建一個文件夾(名稱要求是英文)

(2)在gitee/github上找一個開源項目地址

如果沒有賬號那么就先注冊

隨便搜一個java項目?

直接復制這個帶命令的地址?

?(3) 進入新創建的目錄,鼠標右鍵并點擊Open Git Bash here

(4)將復制的命令粘貼到終端執行即可?

git clone 


5、文件操作指令

版本控制就是對文件的版本控制,在Git管理中,文件被統一管理,有四個狀態?

1.Untracked:未跟蹤,此文件在文件夾中,但并沒有加入到git庫,不參與版本控制。通過git add 狀態變為Staged

2.Unmodify:文件已經入庫,未修改,即版本庫中的文件快照內容與文件夾中完全一致,這種類型的文件有兩種處理方式,如果它被修改,變為Modified.如果使用git rm移出版本庫,則成為Untracked

3.Modified:文件已修改,僅僅是修改,并沒有進行其他的操作,這種文件有兩個去處,通過git add可進入暫存staged狀態,使用git checkout 則丟棄修改過,返回到unmodify狀態,這個git checkout即從庫中取出文件,覆蓋當前修改

4.Staged: 暫存狀態,執行git commit則將修改同步到庫中,這時庫中的文件和本地文件又變為一致,文件為Unmodify狀態.執行git reset HEAD filename取消暫存,文件狀態為Modified

(1)在克隆的本地倉庫中新建一個文本文件作為測試?(名稱隨意例如 a.txt)

?(2)鼠標右鍵并點擊Open Git Bash here進入終端

(3)使用pwd查看當前所在目錄,使用git status 文件名 查看文件的狀態

git的命令和Linux的常用命令是相同的,因為發明者是同一個人

git status 文件名

查看所有文件的狀態:

git status

(4) 使用git add .? 將所有文件添加到暫存區

git add .
# 添加指定文件到暫存區
$ git add [file1] [file2] ...

(5)提交暫存區中的內容到本地倉庫:git? commit -m '消息內容'

git commit -m [message]


三、gitignore忽略文件?

不想把某些文件納入版本控制中,比如數據庫文件,臨時文件,設計文件等,在主目錄下建立".gitignore"文件(默認就有),此文件有如下規則:

1.忽略文件中的空行或以井號(#)開始的行

2.支持Linux通配符。例如:星號(*)代表任意多個字符,問號(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2.….})代表可選的字符串等。

3.如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。

4.如果名稱的最前面是一個路徑分隔符(/),表示忽略.gitignore文件所在的目錄,不包括其任何子目錄 中的dir日錄

5.如果名稱的最后面是一個路徑分隔符(/),忽略 .gitignore文件所在的目錄和所有子目錄的dir目錄


四、創建自己的遠程倉庫

(1)進入gitee官網? 工作臺 - Gitee.com? ?點擊新建倉庫

(2)填寫相關信息?

(3)點擊創建即可?

如下圖:這樣就創建好了?

擴展:?

readme.md文件是一個該項目的介紹文件

如果想修改readme.md文件可以直接點擊鏈接

點擊編輯就可以修改?

點擊管理可以修改一些配置信息?


五、設置SSH公鑰實現免密登錄

(1)找到.ssh文件夾

.ssh 文件夾默認位于 用戶主目錄 下,具體路徑因操作系統而異:

  1. Windows 系統
    • 路徑:C:\Users\你的用戶名\.ssh
    • 特性:默認隱藏,需在文件資源管理器中啟用「隱藏的項目」顯示 。
  2. Mac/Linux 系統
    • 路徑:~/.ssh/(即?/home/你的用戶名/.ssh
    • 特性:直接通過終端訪問(如?cd ~/.ssh) 。

注意:.ssh 文件夾通常在使用 SSH 命令(如 ssh-keygen)生成密鑰時自動創建。若未執行過相關操作,文件夾可能不存在 。(如果沒有該文件夾需要自己創建)

右鍵創建.ssh文件

(2)進入.ssh文件右鍵點擊?Open Git Bash here

(3)使用ssh-keygen命令生成密鑰,輸入后連續enter即可

ssh-keygen

(4)使用記事本打開公鑰并復制里面的內容(注意不要修改!!!)

(5)進入Gitee官網?工作臺 - Gitee.com?點擊賬號設置

(6)找到ssh公鑰?

(7)將剛剛復制的公鑰內容粘貼到下面?

(8)輸入密碼驗證?

結果如下:?

這樣你就可以使用同樣的方式將你的遠程倉庫的項目克隆到本地倉庫

git clone https://gitee.com/deardhp/java-learning-project-01.git


六、IDEA 項目使用Git管理

1、配置git

(1)?在IDEA中配置Git

(2)找到自己安裝git的位置,并找到git.exe文件


2、clone遠程倉庫項目到idea

(1) 從gitee官網中復制自己創建的空項目(沒有創建的看前面第四點)

(2)clone遠程倉庫的項目到idea中

(3)clone項目?(確保網絡暢通)


3、創建子模塊并將Main類push到遠程倉庫

(1)創建子模塊

(2)Main類爆紅,因為該類的狀態是?Untracked 還沒有參與版本控制

(3) 添加Main到暫存區

(4)commit? Main到本地倉庫

(5)編寫注釋并提交

(6)push Main 到遠程倉庫?


4、命令行的方式將Test類推到遠程倉庫

一般還是推薦使用ide圖形化界面

(1)創建一個測試類

(2)打開終端,將所有文件添加到暫存區?

git add .

(3)提交到本地倉庫

git commit -m "消息"

(4)push 到遠程倉庫

git push


5、分支與合并

(1)創建一個忽略Maven的遠程倉庫

(2)克隆到本地的一個文件夾中?

(3)復制項目里的內容

(4)在idea中新創建一個Maven項目

(5)快速定位項目存放的位置

?

?(6)將第(3)點復制的內容粘貼到這里

(7)進入idea并刷新Maven?

此時該項目接收了版本控制?

測試一下:將Main類推送到遠程倉庫?(前面有push教程)


5.1、將本地分支推送到遠程倉庫(指令操作)

(1)列出所有本地倉庫的分支

git branch

(2)列出所有遠程倉庫分支

git branch -r

(3)創建本地分支(v1.0是分支的名稱)

git branch v1.0

(4)切換到v1.0分支

此時可以看到v1.0前面有一個“*”表示當前所在的分支?

git checkout v1.0

(5)推送本地分支到遠程倉庫

遠程分支不存在時:Git 會自動在遠程倉庫創建同名分支。

git push origin <本地分支名>
git push <遠程倉庫名> <本地引用>:<遠程引用>
git branch origin v1.0


5.2、在idea項目創建分支推送到遠程倉庫

(1)找到git日志臺(一般在左下角)

(2)選中你要推送的分支,右鍵?

(3)checkout 簽出?到v2.0版本

可以看出當前的分支?

(4)在Main類中新增一條記錄?

?(5)提交(commit)并推送(push)Main到遠程倉庫

提交(commit)并推送(push)的步驟在上面有教程

注意:分支1與分支2之間是獨立的,即:push代碼到v2.0分支不會影響master分支的代碼?


5.3、在idea中實現合并分支

這個部分和前面創建分支相關聯,需要先看創建分支部分

(1)創建一個Hi類用來測試合并

(2)把這個Hi類push到遠程倉庫中,從add->commit->push

從Gitee中可以看到如下結果

(3)checkout 簽出版本到master分支(切換版本為master)?

(4)選中v2.0,右鍵,選擇“將v2.0合并到master中?”

此時,master分支多了一個Hi類?

(5)將Hi推送到遠程倉庫

(6)如果合并分支的時候有沖突,可以選擇一種情況

請看下面兩種情況,當v2.0的Hi類與master分支的Hi類發生沖突時:區別是輸出內容不同

將v2.0分支合并到master分支時,會出現下面這種情況

這里演示選擇“接收他們的”即:將v2.0的代碼覆蓋master的代碼

還有一種解決方案:手動修改代碼

直接選擇關閉?

此時這個文件會爆紅,這里不要害怕,將多余的部分刪除即可?

這里保存了兩個分支的代碼,具體情況根據實際業務修改代碼?

自己修改代碼后經過add->commit->push即可

注意事項和細節:?

1.如果同一文件在合并分支時都被修改了則會引起沖突,修改沖突文件后重新提交(說明:這時要決定保留哪個分支代碼)

2.Master主分支應該非常穩定,用來發布新版本,一般情況下不要在上面工作,工作一般在新建的分支(比如dev、y1.0、v2.0)上工作

3.分支代碼穩定后,可以合并到主分支Master

4.在進行分支合并時,最好是各分支都已經處于Committed的狀態,這樣可以減小處理合并沖突的難度.

5.Push操作即:Push 你已經Committed的代碼,如果你修改了一個文件,但是你沒有執行Commit,那么你Push的其實是上次Committed的狀態

6.add、 commit 、push 的操作可以針對單個文件,也可以針對文件夾(可以看一下Idea的git操作菜單)

7.文件要Commit 前需要先Add 到 暫存區,以后文件修改了,就可以直接Commit

8.如果要刪除文件,可以在本地刪除該文件,然后commit 文件所在文件夾即可,并重新push該分支,那么在遠程倉庫,也會刪除對應分支的文件.

總結:結合下面的流程圖和參考Git 大全 - Gitee.com

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

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

相關文章

【教程】Docker更換存儲位置

轉載請注明出處&#xff1a;小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你&#xff0c;歡迎[點贊、收藏、關注]哦~ 目錄 背景說明 更換教程 1. 停止 Docker 服務 2. 創建新的存儲目錄 3. 編輯 Docker 配置文件 4. 遷移已有數據到新位置 5. 啟動 Docker 服務 6…

PostgreSQL 配置設置函數

PostgreSQL 配置設置函數 PostgreSQL 提供了一組配置設置函數&#xff08;Configuration Settings Functions&#xff09;&#xff0c;用于查詢和修改數據庫服務器的運行時配置參數。這些函數為數據庫管理員提供了動態管理數據庫配置的能力&#xff0c;無需重啟數據庫服務。 …

sql server 2019 將單用戶狀態修改為多用戶狀態

記錄兩種將單用戶狀態修改為多用戶狀態&#xff0c;我曾經成功過的方法&#xff0c;供參考 第一種方法 USE master; GO -- 終止所有活動連接 DECLARE kill_connections NVARCHAR(MAX) ; SELECT kill_connections KILL CAST(session_id AS NVARCHAR(10)) ; FROM sys.dm_ex…

主機A向主機B發送一個長度為L字節的文件,假設TCP的MSS為1460字節,則在TCP的序號不重復使用的前提下,L的最大值是多少?

&#x1f4d8;題干回顧&#xff1a; 主機A向主機B發送一個長度為L字節的文件&#xff0c;假設TCP的MSS為1460字節&#xff0c;則在TCP的序號不重復使用的前提下&#xff0c;L的最大值是多少&#xff1f; 這個問題關鍵在于“TCP序號不重復使用”。 ? 正確答案是&#xff1a;D.…

一次因校時服務器異常引起的性能差異分析

一次因校時服務器異常引起的性能差異分析 一.背景知識1. **TSC 頻率**:硬件級高精度計時2. **gettimeofday**:用戶態時間接口3. **adjtimex**:系統時鐘的軟件校準4. **`clock_adjtime(CLOCK_REALTIME, {modes=ADJ_TICK})`**: 用于修改系統時鐘中斷間隔(`tick` 值)。5. 關系…

acwing 4275. Dijkstra序列

題目背景 輸入 輸出 完整代碼 #include<bits/stdc.h> using namespace std; int n,m,k,a[1010],dist[1010],g[1010][1010],st[1010];int dij(int u){memset(st,0,sizeof st);memset(dist,0x3f,sizeof dist);dist[u]0;for(int i0;i<n;i){int ta[i];for(int j1;j<n;…

[思維模式-37]:什么是事?什么是物?什么事物?如何通過數學的方法闡述事物?

一、基本概念 1、事&#xff08;Event) “事”通常指的是人類在社會生活中的各種活動、行為、事件或情況&#xff0c;具有動態性和過程性&#xff0c;強調的是一種變化、發展或相互作用的流程。 特點 動態性&#xff1a;“事”往往涉及一系列的動作、變化和發展過程。例如&a…

Linux常用命令40——alias設置命令別名

在使用Linux或macOS日常開發中&#xff0c;熟悉一些基本的命令有助于提高工作效率&#xff0c;alias命令來自英文單詞alias&#xff0c;中文譯為“別名”&#xff0c;其功能是設置命令別名信息。我們可以使用alias將一些較長的命令進行簡寫&#xff0c;往往幾十個字符的命令會變…

310. 最小高度樹

題目 樹是一個無向圖&#xff0c;其中任何兩個頂點只通過一條路徑連接。 換句話說&#xff0c;任何一個沒有簡單環路的連通圖都是一棵樹。 給你一棵包含 n 個節點的樹&#xff0c;標記為 0 到 n - 1 。給定數字 n 和一個有 n - 1 條無向邊的 edges 列表&#xff08;每一個邊都…

Axure 縱向滾動隱藏滾動條 Axure 滑動開關(屬性開關)on-off

文章目錄 I 滑動開關(屬性開關)操作說明block 矩形操作說明round小圓圈操作說明on-off 屬性開關組合操作說明II Axure 縱向滾動隱藏滾動條思路包含圖片的動態面板1操作說明包含動態面板的頂級動態面板I 滑動開關(屬性開關)操作說明 block 矩形操作說明 在畫布中添加一個矩形…

MySQL之基礎事務

目錄 引言&#xff1a; 什么是事務&#xff1f; 事務和鎖 mysql數據庫控制臺事務的幾個重要操作指令&#xff08;transaction.sql&#xff09; 1、事物操作示意圖&#xff1a; 2.事務的隔離級別 四種隔離級別&#xff1a; 總結一下隔離指令 1. 查看當前隔離級別?? …

VS Code 重磅更新:全新 MCP 服務器發現中心上線

目前各種 MCP 客戶端層出不窮&#xff0c;但是安裝 MCP 服務卻格外繁瑣&#xff0c;尤其 VS Code 中無界面化的 MCP 服務配置方式&#xff0c;效率較低。 Copilot MCP 是一個 VS Code 插件&#xff0c;在今天發布的新版本中&#xff0c;插件支持了自動發現與安裝開源 MCP 服務…

智能家居“心臟“升級戰:GD25Q127CSIG國產芯片如何重構家庭物聯生態

在智能家居設備出貨量突破10億臺的2023年&#xff0c;家庭網關正經歷著前所未有的技術革新。作為連接云端與終端設備的中樞神經&#xff0c;智能網關的存儲芯片選擇直接決定著整個智能生態系統的運行效率。在這場技術升級浪潮中&#xff0c;兆易創新GD25Q127CSIG串行閃存芯片主…

R語言機器學習算法實戰系列(二十五)隨機森林算法多標簽分組分類器及模型可解釋性

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹教程內容加載必要的R包(帶詳細注釋)1. 加載數據2. 數據分割(按Species分層抽樣)3. 數據預處理配方4. 創建隨機森林模型(多分類)5. 創建工作流6. 設置交叉驗證和參數調優7. 參…

速查 Linux 常用指令 II

目錄 一、網絡管理命令1. 查看和配置網絡設備&#xff1a;ifconfig1&#xff09;重啟網絡命令2&#xff09;重啟網卡命令 2. 查看與設置路由&#xff1a;route3. 追蹤網絡路由&#xff1a;traceroute4. 查看端口信息和使用情況1&#xff09;netstat 命令2&#xff09;lsof 命令…

關于github使用總結

文章目錄 一、本地使用git&#xff08;一&#xff09;創建一個新的本地Git庫首先在本地創建一個新的git倉庫然后進行一次初始提交提交過后就可以查看提交記錄 &#xff08;二&#xff09;在本地倉庫進行版本恢復先執行 git log 查看項目提交歷史使用 git checkout 恢復版本 二、…

【Python】Python 單例模式 8 大核心應用場景深度解析(2025 新版)

單例模式&#xff08;Singleton Pattern&#xff09;作為一種經典的設計模式&#xff0c;始終保持著重要的工程價值。 本文著重于單例模式的主要核心應用場景。 至于實現方法&#xff0c; 晚些時候發出。 一、配置管理器 全局配置信息管理是單例模式最典型的應用場景。通過單…

計算機網絡網絡層(下)

一、互聯的路由選擇協議&#xff08;網絡層控制層面內容&#xff09; &#xff08;一&#xff09;有關路由選擇協議的幾個概念 1.理想的路由算法 &#xff08;1&#xff09;理想路由算法應具備的特點&#xff1a;算法必須正確和完整的&#xff0c;算法在計算上應簡單&#x…

云存儲桶的“公開陷阱”|滲透測試中如何利用與防御配置錯誤的存儲服務

引言 云存儲服務&#xff08;如AWS S3、阿里云OSS、Google Cloud Storage&#xff09;因便捷性被企業廣泛使用&#xff0c;但權限配置錯誤卻成為近年來數據泄露的重災區。 攻擊者無需復雜漏洞&#xff0c;僅需一個公開鏈接即可下載敏感數據。本文將深入解析這類漏洞的滲透…

BitMart合約交易體驗 BitMart滑點全賠的底層邏輯

美國新澤西州澤西市&#xff0c;2025年5月13日 – BitMart&#xff0c;全球領先的數字資產交易平臺&#xff0c;推出了其開創性的滑點保護計劃&#xff0c;旨在解決加密市場中最具挑戰性且常常被忽視的風險之一&#xff1a;滑點。該計劃為交易者提供了在 USDT 保證金永續合約交…