Git安裝與使用及整合IDEA使用的詳細教程

1. 版本控制軟件介紹

????????版本控制軟件提供完備的版本管理功能,用于存儲、追蹤目錄(文件夾)和文件的修改歷史,是軟件開發者的必備工具,是軟件公司的基礎設施。版本控制軟件的最高目標,是支持軟件公司的配置管理活動,追蹤多個版本的開發和維護活動,及時發布軟件。

????????編程中的代碼版本控制工具是軟件開發過程中不可或缺的一部分。它能夠幫助開發團隊有效地管理代碼變更、追蹤歷史記錄、協同工作以及解決沖突。

? ? ? ? 主流版本控制工具:Git、Svn 等

2. Git介紹

????????Git是一個開源、免費的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理.
????????Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。
????????Torvalds 開始著手開發 Git 是為了作為一種過渡方案來替代 BitKeeper,后者之前一直是 Linux 內核開發人員在全球使用的主要源代碼工具。開放源碼社區中的有些人覺得 BitKeeper 的許可證并不適合開放源碼社區的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統。盡管最初 Git 的開發是為了輔助 Linux 內核開發的過程,但是我們已經發現在很多其他自由軟件項目中也使用了 Git。例如 最近很多 Freedesktop 的項目也遷移到了 Git 上。

3. Git工作原理

Git的工作原理可以概括為以下幾個步驟:

(1)初始化倉庫:使用git init命令在本地創建一個新的Git倉庫。

(2)檢出(Checkout):切換到想要工作的分支。

(3)暫存(Stage):使用git add命令將修改后的文件添加到暫存區。

(4)提交(Commit):使用git commit命令將暫存區的內容提交到本地倉庫。

(5)推送(Push):使用git push將本地倉庫的提交推送到遠程倉庫。

(6)拉取(Pull):使用git pull命令從遠程倉庫獲取最新內容并合并到本地倉庫。

(7)分支(Branch):創建、切換、合并分支。

(8)遠程同步:使用git fetch和git pull從遠程倉庫獲取最新的歷史記錄和數據。

4. Git下載

4.1 訪問Git官網?https://git-scm.com/

4.2 進入下載頁面,可以下載最近版的Git工具,選擇對應的版本,例如:windows 64位

下載之后的文件為:

5. Git安裝與配置

5.1 雙擊安裝文件,之后按下圖進行操作

5.2?看完許可聲明,點擊Next就好了

5.3?選擇安裝路徑

5.4 選擇組件

5.5?選擇開始菜單文件夾

創建安裝程序將在下面的“開始”菜單文件夾中創建程序的快捷方式。繼續點擊Next。如果要選擇其他文件夾可以自行修改

5.6?選擇Git使用的默認編輯器

使用Vim作為Git的默認編輯器,Vim編輯器雖然功能強大,但很難使用。它的用戶界面是不直觀的,它的關鍵綁定是尷尬的。建議改用現代GUI編輯器。其實這里用到編輯器并不多,就用默認的也是可以的

5.7?調整新存儲庫中初始分支的名稱

默認創建存儲庫的初始分支為master,如果修改的話,可以選擇第二個點擊main,修改為想要的分支名

5.8?調整Path環境,推薦使用默認配置。

????????第一個是“僅從Git Bash只使用Git”。這是最安全的選擇,因為PATH根本不會被修改,只能使用 Git Bash 的 Git 命令行工具,但是這將不能通過第三方軟件使用。
????????第二個是“從命令行以及第三方軟件進行Git”。默認這個配置也是被推薦的,被認為是安全的,因為它僅向PATH添加了一些最小的Git包裝器,以避免使用可選的Unix工具造成環境混亂。能夠從Git Bash,命令提示符和Windows PowerShell以及在PATH中尋找Git的任何第三方軟件中使用Git。
????????第三個是“從命令提示符使用Git和可選的Unix工具”。警告:這將覆蓋Windows工具,如“find 和sort ”。只有在了解其含義后才使用此選項。
推薦使用默認配置,點擊“Next”按鈕進入下一個安裝界面。

5.9?選擇SSH可執行文件

第一個使用Git附帶的ssh.exe。
第二個使用外部OpenSSH,這使用外部ssh.exe。Git不會安裝它自己的OpenSSH
(和相關的)二進制文件,但是使用它們就像在路徑上找到的那樣。

選擇Git附帶的就好,點擊Next

5.10?選擇HTTPS傳輸后端

第一個是使用OpenSSL庫,服務器證書將使用ca-bundle.crt文件進行驗證。
第二個使用本機Windows安全通道庫,服務器證書將使用Windows證書存儲進行驗證。

點擊Next

5.11?配置行結束轉換

????????第一個是“簽出Windows風格,提交Unix風格的行尾”。簽出文本文件時,Git會將LF轉換為
CRLF。提交文本文件時,CRLF將轉換為LF。對于跨平臺項目,這是Windows上的推薦設置(
core.autocrlf”設置為“ true”)
????????第二個是“按原樣簽出,提交Unix樣式的行尾”。簽出文本文件時,Git不會執行任何轉換。 提交文本文件時,CRLF將轉換為LF。對于跨平臺項目,這是Unix上的建議設置(“ core.autocrlf”設置為“input”)
????????第三種是“按原樣簽出,按原樣提交”。當簽出或提交文本文件時,Git不會執行任何轉換。不建議跨平臺項目選擇此選項(“core.autocrlf”設置為“ false”)
選擇默認第一種選項,點擊“Next”按鈕到下一個安裝界面。

5.12?配置用于Git Bash的終端模擬器

????????第一個是“使用MinTTY(MSYS2的默認終端)”。Git Bash將使用MinTTY作為終端模擬器,該模擬器具有可調整大小的窗口,非矩形選擇和Unicode字體。Windows控制臺程序(例如交互Python)必須通過“ winpty”啟動才能在MinTTY中運行。
????????第二個是“使用Windows的默認控制臺窗口”。Git將使用Windows的默認控制臺窗(“cmd.exe”),
該窗口可以與Win32控制臺程序(如交互式Python或node.js)一起使用,但默認的回滾非常有限,需要配置為使用unicode 字體以正確顯示非ASCII字符,并且在Windows 10之前,其窗口不能自由調整大小,并且只允許矩形文本選擇。
選擇默認的第一種選項,點擊“Next”按鈕進入下一個安裝界面。

5.13?選擇git pull的默認行為

????????第一個是默認值,這是“git pu”的標準行為:盡可能將當前分支快速轉發到獲取的分支,否則創建合并提交
????????第二個是復位,將當前分支復位到獲取的分支上。如果沒有要重新設置基礎的本地提交,這相當于快進,
????????第三個是只有快進,快進到獲取的分支。如果不能獲取,則失敗。
選擇默認的第一種選項,點擊“Next”按鈕進入下一個安裝界面。

5.14?配置憑證管理器

第一個,Git憑證管理器
第二個,無,不要使用憑證管理器
選擇默認的第一種選項,點擊“Next”按鈕進入下一個安裝界面。

5.15?配置額外選項

????????第一個,“啟用文件系統緩存”。文件系統數據將被批量讀取并緩存在內存中用于某些操作
(“core.fscache”設置為“true”)。 這提供了顯著的性能提升。
????????第二個,“啟用符號鏈接”。啟用符號鏈接(需要SeCreateSymbolicLink權限)。請注意,現有存儲庫不受此設置的影響。
選擇第一種選項,點擊“Next”按鈕進入下一個安裝界面。

5.16?配置實驗選項

第一個,啟用對偽控制臺的實驗性支持。
這允許在git bash窗口中運行Node或Python之類的本機控制臺程序,而無需使用winpty,但它仍然存在已知的bug。
第二個,啟用實驗性內置文件系統監視器
自動運行內置的文件系統監視程序,以加速包含許多文件的工作樹中的常見操作,如“git
status”、“git add”、“git commit”等,可以根據需要選擇,這里都選上了,點擊“Install”按鈕開始安裝

5.17 等待安裝完成

5.18?點擊finish安裝完成,可以取消勾選,第二個是查看Git發行的,不取消勾選會在瀏覽器跳轉

5.19?瀏覽器跳轉頁面

至此Git安裝完畢。

6. Git 結合 Gitee使用

6.1 Gitee上創建倉庫

6.1.1 登錄Gitee官網,登錄個人賬號,新建倉庫

新建倉庫(填寫項目名,項目介紹可以不寫,項目初始化)

6.2 Git 克隆Gitee項目

6.2.1 進入項目,點擊“克隆/下載”

6.2.2 使用https協議,復制url

6.2.3 使用Git克隆項目

6.2.3.1 進入指定的目錄,執行git命令

? ? ? ? 例如:進入 D盤gitproject目錄下,鼠標右鍵,選擇“Open Git Bash here”

? ? ? 執行命令:? git clone 遠程倉庫地址

6.3 Git將本地項目提交到Gitee遠程倉庫

6.3.1 在gitproject目錄下創建code/index.html文件

6.3.2 切換到當前項目的根目錄下

6.3.3?先要想本地代碼添加到暫存區:git add 需要暫存的文件

6.3.4?將暫存區中的代碼提交到本地倉庫:git commit -m "說明文字"

6.3.5 將本地倉庫的代碼推送到遠程倉庫:git push

? ? ? ? 需要輸入 gitee的用戶名與密碼

然后查看 gitee上內容是否有剛才創建的內容

6.3.6 如果提交的時候沒有成功,需要配置提交人的信息,可以執行如下命令

注意:可以在剛安裝好Git的時候,就設置用戶簽名(郵箱不一定需要真實的郵箱,因為Git不會去驗證郵箱

# git config --global user.email "you@example.com"
# git config --global user.name "Your Name"
git config --global user.email "377170019@qq.com"
git config --global user.name "lama"

6.4 SSH配置和使用

6.4.1?需要在本地配置相關的加密

執行 cd ~/.ssh

上圖表示沒有配置與ssh相關的加密文件

6.4.2 配置ssh相關的配置文件

命令: ssh-keygen -t rsa -C 'youremail@qq.com'

注意:郵箱最好和碼云的保持一致

命令: ssh-keygen -t rsa -C '377170019@qq.com' (之后執行三次回車)

看到上面的內容,就表示本地的ssh相關的加密文件搞定啦,查看加密文件

id_rsa : 私鑰
id_rsa.pub : 公鑰

6.4.3?在碼云上設置公鑰

設置標題,并將C盤中生成的公鑰內容復制進來

點擊“確定”,如下

6.5?使用ssh克隆項目

執行?

在code目錄下添加 show.html,并進行提交

查看Gitee上的內容

6.6 沖突問題

6.6.1?什么是沖突

????????在開發中會出現多個人修改(操作)同一個文件。這時只要有一個人把修改的文件給提交了,其他人本地還沒有去與遠程倉庫進行最新的文件拉去動作,但是其他人也改了相同的文件,這時不管誰提交文件,都會提示沖突,需要解決,否則無法提交

6.6.2 解決沖突方法

6.6.2.1? 重新拉去遠程倉庫中最新的文件

6.6.2.2 本地就會出現沖突,需要人為介入解決沖突的代碼

6.7 分支

????????在開發過程中,需要同時進行多個開發任務,這時我們可以使用Git分支功能,為每個任務創建單獨的分支。使用分支把自己開發任務從開發主線上分離開來,開發自己分支時,不會影響主線分支的運行。

常用的分支操作如下:

6.7.1?查看當前倉庫的分支情況:git branch

6.7.2?創建并切換到一個新的分支:git checkout -b 分支名

6.7.3?切換到已有分支(注意需要先把變更提交)git checkout 分支名

6.7.4 將指定的分支推送到gitee的master分支上

? git push origin 分支名稱

查看Gitee上的分支

6.7.5 刪除遠程倉庫分支

git push origin --delete name

6.7.6 刪除本地分支,否則遠程倉庫的刪除分支,本地倉庫還有分支

git branch –d name

6.7.7 將代碼提交到指定的分支上,例如 test

7. Git 整合 IDEA?

7.1 打開IDEA 工具,選擇File=》Settings=》Version Control=》Git

選擇Git的安裝目錄下git.exe ,然后點擊“Test” 按鈕進行測試

8. IDEA 將已有的本地項目關聯到遠程倉庫

8.1 Gitee上創建對應的倉庫,例如:shoppingproject

創建一個空白倉庫

8.2 IDEA 中創建項目

8.3 創建本地倉庫

項目文件的顏色改變

8.4 添加項目到本地倉庫

?項目右鍵,出來一下界面,然后點擊“Add”添加項目到本地倉庫。

執行完“Add” 之后,項目文件名的顏色也會發生變化

8.5?提交項目到本地倉庫

項目右鍵,出現以下界面,然后點擊“Commit Directory...”,將項目提交項目到本地倉庫。

點擊上圖標記之后,進入提交界面,如圖:(有可能出現的界面布局不同)

如下,然后點擊“Commit” 即可

8.6 將項目添加到遠程倉庫

8.6.1 先獲取遠程倉庫的https地址

8.6.2 設置遠程倉庫中項目路徑

點擊“+”號,添加地址

點擊 OK 即可

8.6.3?push項目到遠程倉庫

選擇“push” 即可

需要輸入遠程倉庫,例如 Gitee碼云的賬號名與密碼

輸入完畢,點擊“Log In” 即可。

然后查看Gitee上的項目

到此完成。

9. IDEA 從遠程倉庫克隆項目

9.1 將遠程倉庫Gitee中項目的url復制出來

9.2 打開IDEA工具,點擊頂部菜單欄中的“VCS”(版本控制),然后選擇“Get from Version Control”(從版本控制中檢出)

完成項目的克隆

10. 使用IDEA進行Git操作

10.1?提交代碼改動(在本地項目中創建一個jsp頁面)

(1) 在IDEA的左側導航欄中,你會看到項目的改動文件列表。
(2)右鍵點擊需要提交的文件,然后選擇“Git”->“Commit Directory...”(提交文件)。
(3)在彈出的提交窗口中,輸入提交的描述信息,然后點擊“Commit”(提交)按鈕。

10.2?推送改動到遠程倉庫:
(1)?在IDEA的左側導航欄中,點擊頂部菜單欄中的“VCS”->“Git”->“Push”(推送)按鈕(或者右鍵點擊需要提交的文件,然后選擇“Git”->“Commit Push”)。
(2)?輸入你的Git倉庫的遠程URL和其他相關信息,然后點擊“OK”按鈕。
(3)?IDEA將把你的本地改動推送到遠程Git倉庫。

10.3 更新代碼改動:(測試方式,在遠程倉庫中創建一個jsp頁面)
(1)在IDEA的左側導航欄中,點擊頂部菜單欄中的“VCS”->“Git”->“Pull”(更新項目)(或者右鍵點擊需要提交的文件,然后選擇“Git”->“Pull”)。
(2)?IDEA將會從遠程倉庫獲取最新的代碼改動,并將其應用到你的項目中。

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

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

相關文章

第三天:LINK3D核心原理講解【第2部分】

三、 變量 // 點云容器 pcl::PointCloud<pcl::PointXYZI> laserCloud; // 一幀原始點云 pcl::PointCloud<pcl::PointXYZI> cornerPointsLessSharp; // 次極大邊線點 pcl::PointCloud<pcl::PointXYZI> surfPointsLessFlat; // 次極小平面點 pcl::PointCloud&…

ubuntu中后臺啟動一個jar

1.使用 nohup 和 & 啟動應用程序&#xff1a; nohup java -jar 你的jar包.jar > output.log 2>&1 &解釋&#xff1a; nohup&#xff1a;忽略掛起信號&#xff08;SIGHUP&#xff09;&#xff0c;使進程在退出終端后繼續運行。java -jar lxyoj-code-sandbox-…

管理統計學

第1章 統計學是收集、處理、分析、解釋數據并從數據中得出結論的科學。 統計學是處理數據的方法論。 參數 表示總體特征的概括性數字度量&#xff0c;是研究者想要了解的總體的某種特征值。 統計量 是用來描述樣本特征的概括性數字度量。 常用統計量包括&#xff1a; &#xff…

達夢數據庫系列—14. 表空間的備份和還原

目錄 1、表空間備份 2、表空間還原 3、表空間恢復 4、增量還原恢復 1、表空間備份 表空間只能在聯機狀態下進行備份。 BACKUP TABLESPACE TBS BACKUPSET /dm/backup/dm_bak/ts_bak_01; 完全備份 BACKUP TABLESPACE TBS FULL BACKUPSET /dm/backup/dm_bak/ts_full_bak_01…

ESP8266[ 關于-巴發云MQTT/TCP:arduino 設置回調函數 ] 日志2024/6/29

ESP8266 [ 關于-巴發云MQTT/TCP:arduino 設置回調函數 ] 日志2024/6/29 arduino庫:#include <PubSubClient.h> 回調函數 是其庫設置好的 可以改名字 這里只寫上關鍵代碼 設置客戶端為 A 關鍵代碼: A.setCallback(回調名) //MQTT 回調處理mqttmsgg(自定義…

zdppy_api+vue3實現前后端分離的登錄功能

實現思路 1、準備zdppy的開發環境 2、使用amauth提供的低代碼接口&#xff0c;直接生成login登錄接口 3、使用之前開發的登錄模板渲染登錄界面 4、給登錄按鈕綁定點擊事件 5、給用戶名和密碼的輸入框雙向綁定數據 6、使用axios在登錄按鈕點擊的時候&#xff0c;攜帶用戶數據發…

PySide(PyQt)與OpenCV圖像格式的相互轉換

PySide和OpenCV在圖像格式上的區別&#xff1a; 主要表現在圖像數據的存儲方式和使用場景上。以下是一些關鍵區別&#xff1a; 1. 數據結構 PySide: QImage 和 QPixmap 是 PySide 中常用的圖像表示形式。 QImage&#xff1a;用于直接訪問圖像的像素數據&#xff0c;適合需要…

C++ | Leetcode C++題解之第207題課程表

題目&#xff1a; 題解&#xff1a; class Solution { private:vector<vector<int>> edges;vector<int> indeg;public:bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {edges.resize(numCourses);indeg.resize(numCo…

MyBatis(15)MyBatis 的延遲加載是如何實現

MyBatis 的延遲加載&#xff08;懶加載&#xff09;特性允許在需要使用關聯對象數據時才進行加載&#xff0c;而不是在執行主查詢時就加載所有相關數據。這種機制可以提高應用程序的性能&#xff0c;特別是當關聯數據龐大或關聯層次較深時。我們將通過以下幾個方面來深入了解My…

昇思25天學習打卡營第13天|MindNLP ChatGLM-6B StreamChat

學AI還能贏獎品&#xff1f;每天30分鐘&#xff0c;25天打通AI任督二脈 (qq.com) MindNLP ChatGLM-6B StreamChat 本案例基于MindNLP和ChatGLM-6B實現一個聊天應用。 1 環境配置 %%capture captured_output # 實驗環境已經預裝了mindspore2.2.14&#xff0c;如需更換mindspo…

[知識點篇]《計算機組成原理》之數據信息的表示

1、數據表示的作用 &#xff08;1&#xff09;定義&#xff1a;將數據按照某種方式組織&#xff0c;以便機器硬件能直接識別和使用。現代計算機采用二進制進行數據表示。 &#xff08;2&#xff09;數據表示考慮因素&#xff1a; 數據的類型&#xff1a; 數值/非數值、小數、…

讀AI新生:破解人機共存密碼筆記17不確定性和概率

1. 前向搜索 1.1. 通過前向搜索&#xff0c;通過考慮各種可能的動作序列的結果&#xff0c;來選擇動作&#xff0c;是智能系統的基本能力 1.2. 如果一家卡車運輸公司想要優化其100輛卡車在美國的運輸&#xff0c;那么該公司可能需要考慮的狀態數量將是10^700個 1.3. 幾乎所有…

Linux之masscan工具安裝和使用

一、masscan簡介 Masscan是一款快速、高效且開源的端口掃描工具,被廣泛用于網絡安全領域。它的設計目標是實現極高的掃描速度,使其能夠在極短的時間內掃描整個互聯網的IPv4地址空間。以下是masscan的主要特性和功能: 極高的掃描速度:Masscan的設計目標是快速和靈活,它能夠…

網絡爬蟲的特點

網絡爬蟲的特點 網絡爬蟲的特點在于其高度的自動化、靈活性和可擴展性。這些特點使得網絡爬蟲在互聯網信息的獲取、處理和分析中發揮著舉足輕重的作用。 首先&#xff0c;網絡爬蟲的高度自動化是其最為顯著的特點之一。一旦設置好爬取的目標和規則&#xff0c;爬蟲便可以自動…

vue3記個坑關于router的特點

我的問題有一下幾點 1. router-view 在使用name進行命名 這個命名&#xff0c;我再三確定沒有命名錯誤的情況下。我的組件死活出不來。仔細排查了之后&#xff0c;也反復看了官方文檔。終于發現 <router-view name"login"></router-view>這個是路由上的…

數據賦能(134)——開發:數據轉換——技術方法、主要工具

數據類型轉換&#xff1a; 數據類型轉換包括自動類型轉換、強制類型轉換和包裝類轉換。自動類型轉換發生在兩種類型兼容且目標類型大于源類型時&#xff0c;如將整數轉換為浮點數。強制類型轉換則需要將范圍大的數據類型轉換為范圍小的數據類型&#xff0c;如將浮點數轉換為整數…

el-form表單中的el-upload的文件表單驗證

el-form表單中的el-upload的文件表單驗證 常規el-form中的表單驗證&#xff1a; el-form的el-form-item中&#xff1a; <el-form :model"ruleForm" :rules"rules" ref"ruleForm" label-width"100px" class"demo-ruleForm"…

uni-app的來龍去脈,技術要點及技術難點,語法結構及應用場景,其實前端也很難,頂級的前端比后端都重要,感覺第一,理性第二

Uni-App 的來龍去脈 Uni-App 是由 DCloud 推出的一款跨平臺前端框架&#xff0c;用于開發一次性代碼并可以同時在 iOS、Android、H5、微信小程序、支付寶小程序、百度小程序、字節跳動小程序和 QQ 小程序等多個平臺上運行的應用。Uni-App 的出現應對了移動互聯網時代多平臺應用…

解決Install/Remove of the Service Denied報錯

1、問題概述&#xff1f; 在Windows系統中安裝MySQL5.7.43的時候&#xff0c;運行mysqld install命令提示報錯&#xff1a;Install/Remove of the Service Denied 意思是&#xff1a;安裝/刪除服務被拒絕 問題原因所在&#xff1a;就是你當前的權限不夠&#xff0c;以管理員…

Linux【環境 CenOS7】部分軟件安裝鏈接整理

優質博文&#xff1a;IT-BLOG-CN 一、開啟網絡 【問題】&#xff1a; 剛安裝完CentOS&#xff0c;當ping www.baidu.com時&#xff0c;ping不通&#xff1b; 【解決】&#xff1a; 進入cd /etc/sysconfig/network-scripts/我這里修改的是ifcfg-ens33文件&#xff0c;將ONBOOT…