目錄
一、git安裝
二、git 工作原理與常用命令
1.配置用戶信息
?2.檢查用戶信息
3.git初始化本地倉庫
4. git的各個模塊?
5. git 工作流程
?6.git跟蹤文件
?7.git修改文件
8.git刪除文件
9. git撤銷本地文件的修改
10. git 取消暫存
11.git跳過暫存區(qū)
12.git版本回退
?13.git 撤銷提交
14. git 設(shè)置忽略文件
?15. git 比較文件差異
三、git代碼托管平臺的使用?
1.遠程倉庫
2.常用的托管服務(wù)平臺
四. git 注冊碼云賬號創(chuàng)建遠程倉庫
1. git 本地添加遠程倉庫
?2.獲取遠程倉庫代碼
?3.推送本地倉庫代碼到遠程倉庫
?4.git 克隆,推送
5. git 拉取
6. git 抓取
7. git 合并沖突
五、git 注冊github賬號、操作遠程倉庫
?六、git 使用SSH協(xié)議
1.在碼云上設(shè)置使用SSH協(xié)議
2. 在github上設(shè)置使用SSH協(xié)議
?七、git分支
八、在vscode中使用git
一、git安裝
Git - Downloads這是git官網(wǎng),博主安裝的是windows版本
?
安裝包下載完成后,在安裝時一直點擊next下一步即可,中間不用改其他東西,那么如何檢驗是否安裝成功呢,可以打開cmd輸入git version,出現(xiàn)了版本,即代表安裝成功
?這時候鼠標(biāo)在桌面右擊,出現(xiàn)了git bash就可以使用了。?
二、git 工作原理與常用命令
1.配置用戶信息
$ git config --global user.name xxx
$ git config -- global user.email xxxx.com
2.檢查用戶信息
$ git config --list
3.git初始化本地倉庫
在工作區(qū)所在目錄執(zhí)行以下命令
git init?
git init命令會在當(dāng)前目錄中創(chuàng)建一個名為.git的隱藏目錄 ,以后這里會記錄我們提交的版本。
4. git的各個模塊?
(1)工作區(qū)(workspace):這是放項目代碼的地方,項目代碼對應(yīng)的文件
(2)暫存區(qū)(index/stage):也叫索引,是一個文件,保存了下次將提交的文件列表信息
(3)本地倉庫(repository):就是安全存放數(shù)據(jù)的位置,這里有你提交的所有版本的數(shù)據(jù)
5. git 工作流程
(1)在工作區(qū)中添加,修改文件
(2)添加工作區(qū)的更改到暫存區(qū)
(3)將暫存區(qū)的文件列表信息提交到本地倉庫
6.git跟蹤文件
工作流?
$ git status? //查看文件當(dāng)前所處狀態(tài)
?untracked :未跟蹤狀態(tài),而且還會將未跟蹤的文件列出來,比如下面這個就是readme.txt文件未跟蹤狀態(tài),并且提示你use git add to track
?$ git add +要跟蹤的文件名
提示:其實將文件添加為跟蹤狀態(tài),就是將其放入緩存區(qū),從而git就可以跟工作區(qū)、本地倉庫做比對?
?to be committed:已放置緩存區(qū),待提交狀態(tài)
$ git commit -m '提交信息'
?clean:已提交狀態(tài)
7.git修改文件
首先對工作區(qū)的文件進行修改,然后再git status查看狀態(tài),可以看到下方提示,changes not staged for commit變更未緩存。而且還會提示修改的是哪個文件:modified readme.txt,然后讓你使用git add文件將修改添加至緩存區(qū),最后再將緩存區(qū)的文件git commit -m '提交信息',將其提交到本地倉庫。
?$ git log //可以查看提交記錄
?可以看到我們一共提交了兩次readme.txt文件,還顯示提交的作者和提交時間,并且還提示我們提交的時候編輯的-m
8.git刪除文件
如果使用delete直接刪除的話,還需要將刪除后的變更添加至緩存區(qū)并提交,所以我們使用git rm來刪除文件
?$ git rm 文件名
?使用git rm 不僅從工作區(qū)刪除文件,并且緩存區(qū)的也被刪除,最后只要git commit提交一次就行了
9. git撤銷本地文件的修改
當(dāng)我們修改文件后,發(fā)現(xiàn)并沒有修改之前那版好,就可以執(zhí)行撤銷修改的操作
把文件從暫存區(qū)域復(fù)制到工作目錄,用來丟棄本地修改
$ git restore 文件名
$ git checkout -- 文件名
以上這兩個命令都可以撤銷修改 ,但前提是暫存區(qū)有修改之前的數(shù)據(jù)
10. git 取消暫存
恢復(fù)暫存區(qū),也就是丟棄add到暫存區(qū),是將內(nèi)容從本地倉庫恢復(fù)到暫存區(qū),可以使用以下兩個命令
$ git restore --staged 文件名
$ git reset -- 文件名?
11.git跳過暫存區(qū)
意思就是跳過git add的步驟,但是暫存區(qū)還是有數(shù)據(jù)的
以下兩個命令,git會自動把已經(jīng)跟蹤過的文件暫存起來一并提交,如果文件未跟蹤,還要手動git add對文件進行跟蹤
$ git commit 文件名 -m '提交信息'? ? //提交這一個文件
$ git commit -a -m '提交信息'? ? ? ? ? ?//提交當(dāng)前目錄下所有的跟蹤文件
使用最后一次提交,覆蓋暫存區(qū)跟工作區(qū)?
?$ git checkout HEAD --文件名
12.git版本回退
?$ git reset [回退版本]
$ git reset e82c? ?//這里的e82c是指版本id的前四位?
$ git reset HEAD?
??
$ git reset --hard HEAD?
--hard參數(shù)撤銷工作區(qū)中所有未提交的修改內(nèi)容,將暫存區(qū)與工作區(qū)都回到上一次版本,并刪除之前的所有信息提交?
13.git 撤銷提交
與版本回退的區(qū)別在于:不會清除提交記錄,并生成新的提交
$ git revert HEAD
14. git 設(shè)置忽略文件
一般我們總會有些文件無需納入git的管理, 也不希望它們總出現(xiàn)未跟蹤文件列表
可以創(chuàng)建一個名為.gitignore的文件,列出要忽略的文件模式
15. git 比較文件差異
對比工作區(qū)和暫存區(qū)的變化,顯示未暫存的改動
$ git diff
對比本地倉庫最新版本跟暫存區(qū)的變化,顯示未提交的改動
$ git diff --cached 或者 --staged?
對比本地倉庫中兩個提交版本之間的差異,顯示commit2在commit1基礎(chǔ)上的改動
$ git diff??c389 6531? //這里的c389是指版本id的前四位
$ git diff HEAD
三、git代碼托管平臺的使用?
1.遠程倉庫
????????如果你想通過git分享你的代碼或者與其他開發(fā)人員合作,就需要將數(shù)據(jù)放到一臺其他開發(fā)人員能夠連接的服務(wù)器上,托管在這臺服務(wù)器上的數(shù)據(jù)就是遠程倉庫。?
2.常用的托管服務(wù)平臺
(1)GitHub:(https://github.com/)?服務(wù)器在國外,用起來比較慢
(2)碼云:(https://gitee.com/)服務(wù)器在國內(nèi),速度會更快
(3)GitLab:(https:about.gitlab.com/)是一個倉庫管理系統(tǒng)的開源項目,在此基礎(chǔ)上搭建起來web服務(wù)
四. git 注冊碼云賬號創(chuàng)建遠程倉庫
(1)進入官網(wǎng)后注冊一個賬號并登錄
(2) 創(chuàng)建倉庫
?創(chuàng)建成功后就會有倉庫的地址
?點擊管理設(shè)置我們的倉庫
可以設(shè)置倉庫的權(quán)限?
?
??
如果設(shè)置為私有的倉庫,可以設(shè)置倉庫的成員?
1. git 本地添加遠程倉庫
?$ git remote add <shortname><url>
shortname是遠程倉庫的簡稱,自定義它的名字
url:遠程倉庫的地址
?$ git remote //查看遠程倉庫
$ git remote rm 倉庫名 //?移除本地與遠程倉庫的關(guān)聯(lián)
?2.獲取遠程倉庫代碼
?$ git pull <遠程倉庫名><遠程分支名>? ? ? ? //獲取遠程倉庫代碼
這里的倉庫名是你在添加遠程倉庫時自定義的shortname?
?這時我們可以看到遠程倉庫里的兩個README.md文件就出現(xiàn)在了本地文件夾中
?3.推送本地倉庫代碼到遠程倉庫
$ git push <遠程倉庫名><本地分支名>:<遠程分支名>? ?
$ git push <遠程倉庫名><本地分支名>? ? //如果本地分支與遠程分支名相同,可省略冒號
?可以看到我們的遠程倉庫就出現(xiàn)了test.txt文件,代表代碼上傳成功
?4.git 克隆,推送
在本地工作目錄右擊鼠標(biāo)打開git bash,輸入克隆遠程倉庫的命令
$ git clone 遠程倉庫地址
?$ git push //直接將本地改好的代碼推送到了遠程倉庫
5. git 拉取
將遠程倉庫的數(shù)據(jù)拉到本地并進行自動合并?
$ git pull? ?
要直接使用git pull,則要確保設(shè)置了跟蹤信息,如果沒設(shè)置跟蹤信息的話,會出現(xiàn)以下報錯
?
?如何設(shè)置跟蹤信息呢?可以看報錯的提示
$ git branch --set -upstream-to=origin/master
6. git 抓取
將遠程倉庫數(shù)據(jù)拉取到本地,但不會自動合并
$ git fetch
?如果準(zhǔn)備好合并時,可以使用以下命令進行手動合并,并指定倉庫名和分支名,代表你要將哪個分支的數(shù)據(jù)合并到當(dāng)?shù)?/p>
$ git merge origin/master
7. git 合并沖突
當(dāng)拉取數(shù)據(jù)時,如果存在合并沖突,會提示你解決沖突后再git push
?提示:我們要養(yǎng)成推送之前,先拉取代碼的習(xí)慣,防止覆蓋同事的代碼
五、git 注冊github賬號、操作遠程倉庫
(1)進入官網(wǎng)后注冊一個賬號并登錄
(2)創(chuàng)建倉庫
?
打開這個地址,輸入code碼,從而登錄到github上面?
?
?
這時候就會發(fā)現(xiàn),倉庫里已經(jīng)有這個文件啦,代表代碼上傳成功!?
?六、git 使用SSH協(xié)議
https協(xié)議:上傳代碼的時候需要用戶名和密碼進行身份驗證
SSH協(xié)議:只需要配置一次,以后每次傳遞數(shù)據(jù)就不需要驗證了
ssh-keygen -t rsa? //配置命令
?
1.在碼云上設(shè)置使用SSH協(xié)議
?
?
驗證后則公鑰添加成功?
?
?
?可以看到克隆成功,如果需要上傳的話,git push也可以實現(xiàn)上傳,在這就不演示了
2. 在github上設(shè)置使用SSH協(xié)議
?
?
?
?
?配置成功,可以使用SSH協(xié)議傳遞數(shù)據(jù)了
?接下來的操作同上一節(jié),在這就不演示了。
?七、git分支
????????git中的分支,其本質(zhì)就是一個指向commit對象的可變指針,會使用master作為默認(rèn)分支,HEAD指向正在工作的分支
$ git branch<分支名>? ? ? ?//在當(dāng)前分支指向的commit對象上新建一個新的分支指針
$ git checkout<分支名>? ? ? //切換分支后,HEAD指針的指向也會更改
$ git checkout -b <分支名>? ?//新建且切換分支
$ git branch -d <分支名>? // 刪除分支 (切換出去后再刪除,正在工作的分支無法刪除)
$ git merge <合并的分支>? //合并分支 (首先要切換到被合并的分支)
八、在vscode中使用git
打開源代碼管理->初始化倉庫
點擊加號,將文件提交到暫存區(qū)?
?
?編寫提交信息
下面則將暫存區(qū)文件提交到遠程倉庫,新建一個倉庫,復(fù)制倉庫地址
?
點擊發(fā)布?
發(fā)布后即可以看到遠程倉庫中已經(jīng)收到文件了?
?
?如果想要撤銷更改
?如果想取消暫存
如果想撤銷提交
?新建分支
?輸入分支名稱
將新建的分支發(fā)布到遠程倉庫
可以看到遠程倉庫中此時就有兩個分支了文章來源:http://www.zghlxwxcb.cn/news/detail-566536.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-566536.html
到了這里,關(guān)于Git版本控制器使用教程(超詳細版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!