VS Code 中使用 Git 實(shí)踐,學(xué)會(huì)了效率翻倍!
前置工作
在介紹如何在 VS Code 中使用 Git 之前,先來介紹一個(gè)強(qiáng)大的 VS Code 插件:Git Extension Pack,它旨在提供一組常用的 Git 工具和功能,以便更方便地進(jìn)行版本控制和協(xié)作開發(fā)。該插件包含了多個(gè)與 Git 相關(guān)的擴(kuò)展:
- Git History (git log):可以查看 Git 提交記錄、文件或行的歷史。通過該擴(kuò)展,可以快速瀏覽項(xiàng)目的版本歷史,查看每個(gè)提交包含的修改內(nèi)容和作者信息,以及文件和行的詳細(xì)變更情況。
- Project Manager:可以方便地在不同項(xiàng)目之間進(jìn)行切換。這個(gè)擴(kuò)展提供了一個(gè)項(xiàng)目管理器,可以輕松地保存和加載不同的項(xiàng)目配置,快速切換工作環(huán)境。
- GitLens:增強(qiáng)了 Visual Studio Code 內(nèi)置的 Git 功能。它通過行內(nèi)的 Git 責(zé)任注解和代碼鏡頭,更好地了解代碼的歷史和作者信息。您可以方便地查看每行代碼的最后修改者、最近的提交信息,甚至可以直接查看遠(yuǎn)程倉庫上的相關(guān)代碼片段。
- gitignore:提供了對(duì) .gitignore 文件的語言支持,讓您能夠更簡(jiǎn)單地管理和生成這個(gè)文件。同時(shí),還可以從 GitHub 的存儲(chǔ)庫中獲取常見的 .gitignore 文件模板,以便快速忽略項(xiàng)目中不需要跟蹤的文件和文件夾。
- Open in GitHub / Bitbucket / VisualStudio.com:提供了在 GitHub、Bitbucket 或 VisualStudio.com 中直接跳轉(zhuǎn)到代碼的功能。通過單擊相應(yīng)的鏈接,可以快速打開相關(guān)代碼倉庫,并跳轉(zhuǎn)到指定的行號(hào)或文件位置。
一個(gè)插件囊括了五個(gè)熱門插件的全部功能!
安裝完成之后,就來看看如何在 VS Code 中可視化使用 Git。
當(dāng)新打開一個(gè) VS Code 窗口時(shí),需要打開一個(gè)項(xiàng)目,可以在本地文件打開項(xiàng)目,也可以直接從遠(yuǎn)程倉庫克隆項(xiàng)目:
當(dāng)選擇從遠(yuǎn)程克隆倉庫時(shí),輸入遠(yuǎn)程倉庫地址,按下回車即可:
這里可以輸入 Git 鏈接來克隆,可以是 Github、Gitlab、GItee,或者私有部署的 Git 倉庫鏈接。也可以選擇從 Github 遠(yuǎn)程倉庫克隆,只需登錄 Github,輸入查找自己的倉庫,然后進(jìn)行克隆即可。
克隆完成之后,會(huì)將文件存儲(chǔ)在本地,直接打開即可。
git clone
在 Git 中,分支允許同時(shí)處理代碼庫的多個(gè)版本。可以在源代碼管理邊欄的最下面看到當(dāng)前所在的分支:
git branch
如果這個(gè)分支沒有變動(dòng),只會(huì)顯示一個(gè)分支名,如果有修改,分支名的右上角會(huì)有一個(gè) *
,就像這樣:
要想切換分支,需要點(diǎn)擊這個(gè)分支名稱,就會(huì)出現(xiàn)所有分支的列表:
可以看到,這里面有兩類分支,一類是帶分支圖標(biāo)的,另一類是帶云圖標(biāo)的。前者表示本地分支,后者表示遠(yuǎn)程分支。點(diǎn)擊本地分支,就會(huì)切換到對(duì)應(yīng)的分支,點(diǎn)擊遠(yuǎn)程分支,就會(huì)遠(yuǎn)程分支同步到本地,并在本地創(chuàng)建一個(gè)同名的分支。
如果想重命名分支,可以執(zhí)行以下操作:
點(diǎn)擊之后,輸入新的分支名即可。
如果分支不需要了,也可以刪除分支,不過需要注意,如果想刪除某個(gè)分支,需要先切換到別的分支。
點(diǎn)擊刪除分支,然后選擇要?jiǎng)h除的分支即可。
git rebase
可以按照以下步驟來執(zhí)行變基操作:
git checkout
最上面有兩個(gè)分支創(chuàng)建操作,第一個(gè)是從當(dāng)前分支創(chuàng)建一個(gè)新分支,輸入新分支名即可創(chuàng)建。第二個(gè)是從指定分支創(chuàng)建一個(gè)新分支,需要先選取從哪個(gè)分支創(chuàng)建,然后輸入新分支名即可:
如果是使用第一種方式來創(chuàng)建新分支,那當(dāng)前分支的更改也會(huì)帶到新分支上。
git merge
如果想要合并分支,可以執(zhí)行以下操作:
點(diǎn)擊之后,需要選擇從哪個(gè)分支向當(dāng)前分支進(jìn)行合并,選擇被合并的分分支即可。
git push
新創(chuàng)建的分支可以點(diǎn)擊“發(fā)布 Branch”按鈕來發(fā)布到遠(yuǎn)程倉庫:
當(dāng)我們進(jìn)行代碼的修改之后,在源代碼管理邊欄中可以看到更改的文件:
- 如果是刪除某個(gè)文件,那在更改中顯示的文件名上會(huì)有一個(gè)刪除線,并且最后會(huì)有一個(gè)
D
標(biāo)志,表示已刪除; - 如果是修改某個(gè)文件,那在更改中顯示的文件名最后有個(gè) M 標(biāo)志,表示已修改,如果這個(gè)文件存在代碼檢查的錯(cuò)誤,會(huì)在 M 前顯示錯(cuò)誤的數(shù)量,比如上面的 package.json 中就有 1 個(gè)錯(cuò)誤。
- 如果是新增一個(gè)文件,那在更改中顯示的文件名最后有個(gè) U 標(biāo)志,表示未跟蹤的,因?yàn)槭切略龅奈募允俏锤櫋?/li>
git add
如果想暫存所有文件,可以鼠標(biāo)懸浮在“更改”那一行,并點(diǎn)擊后面的 ? 即可:
如果只是想暫存某些文件,可以鼠標(biāo)懸浮在需要更改的文件名上,并點(diǎn)擊后面的 ? 即可:
這個(gè)暫存操作就相當(dāng)于執(zhí)行 git add 命令。這里暫存其中兩個(gè),暫存完之后是這樣的:
git reset
如果想取消更改,只需點(diǎn)擊更改后面的撤銷按鈕(全部撤銷)或者文件后面的撤銷按鈕(撤銷單個(gè))即可:
git commit
對(duì)于暫存的文件,可以進(jìn)行commit 操作。只需在上面的輸入框輸入commit 信息,然后點(diǎn)擊“提交”按鈕即可:
對(duì)于未 commit 的文件,也是可以撤銷的,只需點(diǎn)擊暫存的更改那一行的?或者需要撤銷的文件后面的?,點(diǎn)完之后,這些文件就會(huì)回到更改中,可以繼續(xù)進(jìn)行修改:
git stash
可以看到,無論是更改中,還是在暫存的更改中,都會(huì)有一個(gè)類似于撤回的按鈕,比撤回按鈕多了一個(gè)?,這個(gè)按鈕就是 stash 的意思,也就是把當(dāng)前的修改暫存起來,然后在需要的時(shí)候取出來暫存的內(nèi)容,以繼續(xù)進(jìn)行修改。當(dāng)我們?cè)陂_發(fā)一個(gè)需求過程中,需要緊急去別的分支進(jìn)行操作,就可以先把已經(jīng)更改的內(nèi)容暫存起來,等再回來開發(fā)的時(shí)候,取出來這些內(nèi)容,繼續(xù)開發(fā)即可。
這里我們將暫存的更改和更改都先暫存起來。可以選擇彈出最新的(最后一次暫存)暫存,也可以選擇性彈出暫存:
可以看到,VS Code 支持儲(chǔ)藏暫存、應(yīng)用暫存、彈出暫存、刪除暫存。這里不再一一介紹。
值的注意是,在源代碼管理邊欄中,也可以點(diǎn)擊最下面的 STASHES 來查看已暫存的文件:
這里,可以進(jìn)行應(yīng)用暫存、刪除暫存、修改暫存名稱等操作:
git push
當(dāng)我們修改完代碼之后,就需要推送代碼到遠(yuǎn)程了,可以點(diǎn)擊藍(lán)色的同步更改按鈕,也可以點(diǎn)擊下面分支的更改按鈕,來同步更改。
可以看到藍(lán)色按鈕的↑箭頭旁邊有一個(gè)數(shù)字,它表示 commit 的數(shù)量。如果遠(yuǎn)程分支比本地分支領(lǐng)先,還有又一個(gè)↓箭頭,旁邊也會(huì)有一個(gè)數(shù)字,表示遠(yuǎn)程分支比本地分支領(lǐng)先的 commit 數(shù)量。
git pull
如果需要從遠(yuǎn)程分支向本地分支同步代碼,可以點(diǎn)擊拉取:
git tag
可以點(diǎn)擊創(chuàng)建標(biāo)記來創(chuàng)建標(biāo)簽:
當(dāng)然,也可以在下面的 TAGS 中管理所有標(biāo)簽:
合并沖突
當(dāng)合并代碼出現(xiàn)沖突時(shí),VS Code 中會(huì)顯示當(dāng)前的更改的和傳入的更改,可以選擇保留其中一個(gè),也可以全部保留: