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將會從遠程倉庫獲取最新的代碼改動,并將其應用到你的項目中。