目錄
一、GIT原理【這部分也挺簡單,可以看看,如果沒時間可以直接跳到第二部分】
SVN與Git的的區(qū)別
二、安裝Git?
?2.1?獲取Git安裝程序
2.2 Git安裝過程
三、Git連接Gitlab
3.1 gitlab準備工作
3.2 本地計算機準備工作及配置git?
?四、Git連接Github
一、GIT原理【這部分也挺簡單,可以看看,如果沒時間可以直接跳到第二部分】
Git 是一種分布式版本控制系統(tǒng),用于管理軟件項目的源代碼。它是由 Linux 之父 Linus Torvalds 開發(fā)的,并已經成為了現代軟件開發(fā)領域中最流行的版本控制系統(tǒng)之一。
使用 Git 可以追蹤代碼的歷史修改記錄,方便團隊協(xié)作、代碼共享和代碼重構。Git 的基本工作流程如下:
- 在開始編寫代碼之前,首先需要創(chuàng)建一個 Git 倉庫(repository),用于存儲代碼和版本歷史記錄。
- 在編寫代碼時,可以通過?
git add
?命令將更改的文件添加到 Git 的暫存區(qū)(staging area)中。 - 通過?
git commit
?命令將暫存區(qū)中的更改提交到 Git 倉庫中,并生成一個新的版本號(commit hash)。 - 如果需要撤銷某個提交,可以使用?
git revert
?命令來創(chuàng)建一個新的提交,該提交將會抵消先前的提交效果。 - 如果需要合并不同分支的代碼,可以使用?
git merge
?命令進行合并。 - 如果需要查看代碼的歷史提交記錄,可以使用?
git log
?命令來獲取詳細信息。 - 如果需要將代碼推送到遠程倉庫,可以使用?
git push
?命令將本地代碼推送到遠程倉庫。 - 如果需要從遠程倉庫中獲取代碼,可以使用?
git pull
?命令將遠程代碼拉取到本地。
- Workspace:工作區(qū)
- Index / Stage:暫存區(qū)
- Repository:倉庫區(qū)(或本地倉庫)
- Remote:遠程倉庫
SVN與Git的的區(qū)別
SVN和Git都是版本控制系統(tǒng),但它們有以下區(qū)別:
- 分布式 vs 集中式:Git 是一種分布式版本控制系統(tǒng),而 SVN 是一種集中式版本控制系統(tǒng)。在 Git 中,每個開發(fā)者都擁有本地代碼庫的完整副本,可以離線工作并在不同的工作流程之間自由轉換。而在 SVN 中,所有開發(fā)者共享同一個中央代碼庫,并且需要有網絡連接才能進行版本控制操作。
- 分支管理:Git 在分支管理方面比 SVN 更加強大和靈活。Git 的分支非常輕量級,創(chuàng)建和合并分支也很容易,因此可以輕松實現多人協(xié)作和并行開發(fā)。而在 SVN 中,分支比較重量級(即創(chuàng)建和合并分支需要花費相對更多的時間和資源),因此往往只用于重要的版本分支。
- 版本號:Git 使用 SHA-1 哈希值來標識每個提交,而 SVN 采用遞增的數字版本號來標識每個提交。SHA-1 哈希值保證了每個提交的唯一性,而遞增版本號則簡化了版本控制過程。
- 整體性:由于 SVN 是一種集中式版本控制系統(tǒng),因此所有數據都存儲在中央代碼庫中。如果中央代碼庫損壞或丟失,可能會導致數據丟失或無法恢復。而 Git 是一種分布式版本控制系統(tǒng),每個開發(fā)者都擁有完整的代碼庫副本,保證了代碼的整體性和可靠性。
- 性能:Git 比 SVN 更快,特別是在處理大型倉庫、分支合并以及比較代碼差異時。Git 使用基于內容的哈希算法來檢測文件是否修改,而 SVN 則需要檢查文件的元數據(如時間戳和文件大?。﹣泶_定是否修改。
總之,雖然 SVN 和 Git 都是版本控制系統(tǒng),但它們的設計和實現方式存在較大差異,開發(fā)人員應根據自身需求選擇最適合的版本控制系統(tǒng)。
二、安裝Git?
?2.1?獲取Git安裝程序
????????到Git官網下載,網站地址:https://git-scm.com/downloads,如下圖
??因為我們是用Windows系統(tǒng)上的瀏覽器訪問的,Git官網自動之別到了我使用的操作系統(tǒng),所以右側直接顯示下載使用Windows系統(tǒng)的最新版本(如果識別錯誤,可以在中間選擇系統(tǒng)),點擊即可下載。我下載的是 2.24.0 for Windows,文件名稱是“Git-2.24.0.2-64-bit.exe”。下載到電腦上之后,鼠標雙擊這個文件即可進入安裝過程。
2.2 Git安裝過程
??雙擊看到的第一個界面如下圖:
01、使用許可聲明
??點擊“Next”進入下圖頁面:
02、選擇安裝路徑
??在輸入框內輸入想要安裝到的本機路徑,也就是實際文件夾位置,或點擊“Browse...”選擇已經存在的文件夾,然后點擊“Next”按鈕繼續(xù),進入下圖界面:
03、選擇安裝組件
??上圖紅框內的選項是默認勾選的,建議不要動。綠色框1是決定是否在桌面創(chuàng)建快捷方式的。綠色框2是決定在所有控制臺窗口中使用TrueType字體和是否每天檢查Git是否有Windows更新的。這些根據自己需要選擇。
??點擊“Next”按鈕進入下圖界面:
04、選擇開始菜單頁
??這個界面是創(chuàng)建開始菜單中的名稱,不需要修改,直接點“Next”按鈕繼續(xù)到下圖的界面:
05、選擇Git文件默認的編輯器
??這個頁面是在選擇Git文件默認的編輯器,很少用到,所以默認Vim即可,直接點“Next”按鈕繼續(xù)到下圖的界面:
06、調整您的PATH環(huán)境
??這個界面是調整您的PATH環(huán)境。
??第一種配置是“僅從Git Bash使用Git”。這是最安全的選擇,因為您的PATH根本不會被修改。您只能使用 Git Bash 的 Git 命令行工具。但是這將不能通過第三方軟件使用。
??第二種配置是“從命令行以及第三方軟件進行Git”。該選項被認為是安全的,因為它僅向PATH添加了一些最小的Git包裝器,以避免使用可選的Unix工具造成環(huán)境混亂。
您將能夠從Git Bash,命令提示符和Windows PowerShell以及在PATH中尋找Git的任何第三方軟件中使用Git。這也是推薦的選項。
??第三種配置是“從命令提示符使用Git和可選的Unix工具”。警告:這將覆蓋Windows工具,如 “ find 和 sort ”。只有在了解其含義后才使用此選項。
??我選擇推薦的選項第二種配置,點擊“Next”按鈕繼續(xù)到下圖的界面:
07、選擇HTTPS后端傳輸
??這個界面是選擇HTTPS后端傳輸。
??第一個選項是“使用 OpenSSL 庫”。服務器證書將使用ca-bundle.crt文件進行驗證。這也是我們常用的選項。
??第二個選項是“使用本地 Windows 安全通道庫”。服務器證書將使用Windows證書存儲驗證。此選項還允許您使用公司的內部根CA證書,例如通過Active Directory Domain Services 。
??我使用默認選項第一項,點擊“Next”按鈕繼續(xù)到下圖的界面:
08、配置行尾符號轉換
??這個界面是配置行尾符號轉換。
??第一個選項是“簽出Windows風格,提交Unix風格的行尾”。簽出文本文件時,Git會將LF轉換為CRLF。提交文本文件時,CRLF將轉換為LF。對于跨平臺項目,這是Windows上的推薦設置(“ core.autocrlf”設置為“ true”)
??第二個選項是“按原樣簽出,提交Unix樣式的行尾”。簽出文本文件時,Git不會執(zhí)行任何轉換。 提交文本文件時,CRLF將轉換為LF。對于跨平臺項目,這是Unix上的建議設置(“ core.autocrlf”設置為“ input”)
??第三種選項是“按原樣簽出,按原樣提交”。當簽出或提交文本文件時,Git不會執(zhí)行任何轉換。不建議跨平臺項目選擇此選項(“ core.autocrlf”設置為“ false”)
??我選擇第一種選項,點擊“Next”按鈕繼續(xù)到下圖的界面:
09、配置終端模擬器以與Git Bash一起使用
??這個界面是配置終端模擬器以與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”按鈕繼續(xù)到下圖的界面:
10、配置配置額外的選項
??這個界面是配置配置額外的選項。
??第一個選項是“啟用文件系統(tǒng)緩存”。文件系統(tǒng)數據將被批量讀取并緩存在內存中用于某些操作(“core.fscache”設置為“true”)。 這提供了顯著的性能提升。
??第二個選項是“啟用Git憑證管理器”。Windows的Git憑證管理器為Windows提供安全的Git憑證存儲,最顯著的是對Visual Studio Team Services和GitHub的多因素身份驗證支持。 (需要.NET Framework v4.5.1或更高版本)。
??第三個選項是“啟用符號鏈接”。啟用符號鏈接(需要SeCreateSymbolicLink權限)。請注意,現有存儲庫不受此設置的影響。
??我勾選默認的第一、第二選項,點擊“Next”按鈕繼續(xù)到下圖的界面:
11、配置實驗選項
??這個界面是配置實驗選項。
??啟用實驗性的內置添加 -i / -p。(新?。┦褂脤嶒炐缘膬戎媒换ナ絘dd(“ git add -i”或“ git add -p”)。這使其速度更快(尤其是啟動?。?,但尚未被認為是可靠的。
??默認不勾選,直接點擊“Next”按鈕繼續(xù)到下圖的安裝進度界面:
12、安裝進度指示
??安裝進度結束之后,會出現下圖的完成Git安裝向導界面:
13、安裝完成
??在這個界面,可以勾選是否啟動啟動Git Bash和是否查看發(fā)行說明,然后點“Finish”按鈕退出安裝界面。
14、啟動測試
??到此,Git的安裝完成,可以在開始菜單中看到Git的三個啟動圖標(Git Bash、Git CMD(Deprecated)、Git GUI)。
Git Bash,是Git配套的一個控制臺,點擊打開如下圖:
Git CMD(Deprecated),是通過CMD使用Git(不推薦使用),點擊打開如下圖:
Git GUI,是Git的可視化操作工具,點擊打開如下圖:
?
三、Git連接Gitlab
3.1 gitlab準備工作
1、在GitLab上創(chuàng)建一個賬戶:如果您還沒有GitLab賬戶,請在GitLab官網(https://gitlab.com/users/sign_in)上創(chuàng)建一個賬戶。
2、創(chuàng)建一個新的Git倉庫:登錄到您的GitLab賬戶,然后在頁面上創(chuàng)建一個新的Git倉庫。請注意Git倉庫的名稱和位置,因為這些信息將用于配置本地Git。
3.2 本地計算機準備工作及配置git?
1、在計算機上創(chuàng)建個文件夾(用于專門存/傳到gitlab或github代碼,例如GitCode),進入文件夾內,右鍵打開Git Bash終端,并輸入以下命令以設置您的Git用戶名和電子郵件地址(最好和gitlab用相同的用戶名和電子郵件地址,這樣方便記。例如我的電子郵件地址是xxx@qq.com)
git config --global user.name "BosserWang"
git config --global user.email "xxxxx@xxx.com"
(BosserWang是用戶名,xxxxx@xxx.com是電子郵箱,我的是qq郵箱,大家根據自己的信息自行修改)
?2、生成SSH密鑰:輸入以下命令以生成SSH密鑰:
ssh-keygen -t rsa -C "xxxxx@xxx.com"
?這里的地址和上面的電子郵箱地址是同一個地址。
然后一路回車即可。
?3、添加SSH密鑰到GitLab:使用以下命令將SSH密鑰添加到GitLab:
cat ~/.ssh/id_rsa.pub
?(~表示用戶目錄,比如我的windows就是C:\Users\Administrator.DESKTOP,并復制下面紅色框內的內容)
4、打開gitlab,把ssh添加進去。
?5、進入計算機上創(chuàng)建的文件夾(我的是GitCode),右鍵選擇->Git Bash Here?通過git init
命令把這個目錄變成Git可以管理的倉庫(多了這么一個文件.git)
git init
?6、克隆項目
git clone 項目地址
?7、提交代碼到Gitlab
把代碼文件全部copy到剛剛克隆的項目文件夾中,右鍵選擇->Git Bash Here 。
?第一步,用命令git add
告訴Git,把文件添加到倉庫:
git add 文件名?或者 git add .
(“git add“后加“.”則添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )
執(zhí)行上面的命令,沒有任何顯示,這就對了,Unix的哲學是“沒有消息就是好消息”,說明添加成功。
第二步,用命令git commit
告訴Git,把文件提交到倉庫:
git commit -m "20231121"
簡單解釋一下git commit
命令,-m
后面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。
嫌麻煩不想輸入-m "xxx"
行不行?確實有辦法可以這么干,但是強烈不建議你這么干,因為輸入說明對自己對別人閱讀都很重要。實在不想輸入說明的童鞋請自行Google,我不告訴你這個參數。
git commit
命令執(zhí)行成功后會告訴你,1 file changed
:1個文件被改動(我們新添加的readme.txt文件);2 insertions
:插入了兩行內容(readme.txt有兩行內容)。
git commit -m "增加了一張地鐵圖"
為什么Git添加文件需要add
,commit
一共兩步呢?因為commit
可以一次提交很多文件,所以你可以多次add
不同的文件。
最后輸入以下命令,提交到gitlab
git push origin master 或者?git push?
git push origin master的意思就是上傳本地當前分支代碼到master分支。git push是上傳本地所有分支代碼到遠程對應的分支上。
若在執(zhí)行上述操作的時候,如果報錯:
On branch master
nothing to commit, working tree clean
To git@gitlab.com:<your_username>/<your_repository>.git
?! [rejected] ? ? ? ?master -> master (fetch first)
error: failed to push some refs to 'git@gitlab.com:<your_username>/<your_repository>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
代表您本地的分支與遠程分支的提交歷史不一致,所以需要先將遠程分支的更改合并到本地分支,然后再將本地更改推送到遠程分支。
要解決這個問題,請按照以下步驟操作:
運行以下命令拉取遠程分支的更改:
git pull origin master
這將合并遠程分支的更改到您本地的分支。
如果在合并過程中出現沖突,請解決沖突并提交更改。
然后再次運行以下命令將更改推送到遠程分支:
git push origin master
這樣就能夠成功地將更改推送到遠程分支了。
如果以上還報錯,如:
! [rejected] ? ? ? ?master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.com:<your_username>/<your_repository>.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
這個錯誤提示表明,遠程分支比您本地分支更新,因此在推送更改之前,您需要先將遠程分支上的更改合并到本地分支中。
為了解決此問題,您可以執(zhí)行以下操作:
運行以下命令來拉取遠程分支的更改:
git pull --rebase origin master
這將從遠程分支下載并合并最新的更改,并使您的本地分支保持最新狀態(tài)。
如果在合并過程中出現沖突,請解決沖突并提交更改。
然后再次運行以下命令將更改推送到遠程分支:
git push origin master
就可以解決問題了!
?文章來源:http://www.zghlxwxcb.cn/news/detail-835763.html
?四、Git連接Github
連接github的操作和連接gitlab一摸一樣。不再重述,如有問題,可以在評論區(qū)提問。文章來源地址http://www.zghlxwxcb.cn/news/detail-835763.html
到了這里,關于【通俗易懂】git原理、安裝及連接gitlab,github的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!