相信vsCode的強大功能深受開發(fā)人員的喜愛户秤,作為前端開發(fā)的我,最近一直頭疼于代碼的管理與提交逮矛,這篇文章記錄下vsCode好用的源代碼管理插件GitLen鸡号,希望能幫助到那些和我有同樣困擾的你們。?(^_-)
第一步:在vsCode的擴展功能里搜索GitLens须鼎、Git History
[圖片上傳失敗...(image-7d0f53-1631150187696)]
pic1.png
[圖片上傳失敗...(image-cb616a-1631150187696)]
pic2.png
下載好插件后鲸伴,會出現(xiàn)
[圖片上傳失敗...(image-c48662-1631150187696)]
logo1.png
圖標,點擊查看當前項目的分支情況(假設當前你已從遠程拉取項目至本地)
[圖片上傳失敗...(image-4c0ccc-1631150187696)]
pic3.png
第二步:從遠程拉取分支至本地操作
一晋控、當你本地無項目文件時汞窗,從這看起,若有糖荒,則跳過一杉辙,直接看步驟二模捂;
- 新建一個空文件捶朵,文件名為proName(根據(jù)項目命名);
手動新建文件夾或命令mkdir proName
- 初始化項目
git init
- 與遠程分支建立關聯(lián)(遠程倉庫鏈接在git上)
git remote add origin git@github.com:xxx/xxx.git
- 拉取遠程分支至本地
git fetch origin dev
(dev為遠程倉庫的分支名) - 創(chuàng)建本地分支并關聯(lián)到遠程分支
git checkout -b dev(本地分支名) origin/dev(遠程分支名)
至此狂男,本地分支dev已與遠程分支建立關聯(lián)综看,并拉取dev分支項目,
git pull
可拉取項目遠程所有分支岖食,可通過如下命名查看本地分支及遠程分支情況红碑。
git branch
查看本地分支
git branch -a
查看當前所在分支及遠程分支
git branch -r
查看遠程分支
git branch -vv
查看本地分支與遠程分支的關聯(lián)關系
二、本地已有項目時泡垃,點擊 [圖片上傳失敗...(image-16247d-1631150187696)] logo2.png
圖標析珊,就可查看當前項目的分支情況,一目了然蔑穴。
[圖片上傳失敗...(image-e9a6ad-1631150187696)]
pic4.png
當修改本地文件內(nèi)容時忠寻,已修改文件可通過如下步驟查看,點擊對應的文件可通過Working Tree
查看已修改情況存和。
第三步:代碼提交奕剃、分支切換、合并捐腿、歷史分支查看
一纵朋、代碼提交
點擊
[圖片上傳失敗...(image-b414b4-1631150187696)]
logo3.png
圖標,可暫存已修改文件茄袖,在輸入框中輸入日志內(nèi)容操软,ctrl+enter
,然后點擊vsCode編輯器左下角的圖標宪祥,
[圖片上傳失敗...(image-6e098a-1631150187696)]
logo4.png
即可提交至遠程聂薪;
[圖片上傳失敗...(image-a4cbd-1631150187696)]
pic5.png
以上提交代碼至遠程步驟等同于如下命令:
-
git add .
暫存當前分支所有本地修改的文件 -
git commit -m 'logs'
提交本次修改的日志logs -
git push
將本地修改內(nèi)容提交至遠程
二猪钮、分支切換
點擊當前項目所在分支, 顯示該項目可切換的遠程分支胆建,選擇要切換的分支烤低,即可在本地創(chuàng)建與遠程分支同名的分支并與之關聯(lián)。
[圖片上傳失敗...(image-2647b8-1631150187696)]
pic6.png
pic4.png中的Branches中會新增一個分支笆载,也可通過如下命令查看扑馁;
git branch
可查看本地會多一個分支
git branch -vv
可查看本地新增的分支與遠程分支關聯(lián)
以上步驟等同于命令 git checkout -b dev(本地分支名) origin/dev(遠程分支名)
三、分支合并
1凉驻、若協(xié)作開發(fā)腻要,各分支之間無沖突,可提交代碼至遠程后涝登,至git上merge分支到上線分支雄家,無須本地合并操作。
[圖片上傳失敗...(image-b4c63d-1631150187696)]
pic7.png
[圖片上傳失敗...(image-99d6ee-1631150187696)]
pic8.png
2胀滚、若合并有沖突趟济,則需拉取分支代碼至本地,解決沖突咽笼,再push到線上顷编。假設有沖突的分支是本地分支local與遠程分支dev,步驟如下:
- 切換本地分支至dev剑刑,
git pull
下媳纬; git merge dev
- 解決沖突-
手動
- 代碼提交(參照一、代碼提交)
四施掏、歷史分支查看
點擊文件右側圖標钮惠,可查看git log 歷史記錄
[圖片上傳失敗...(image-476676-1631150187696)]
pic9.png
[圖片上傳失敗...(image-c3b58a-1631150187696)]
pic10.png
額外附上git常用命令,我們不可只會借用工具操作而不會常用的命令
git status
查看當前分支狀態(tài)
git diff dev(本地分支) remote(遠程分支)
比較本地分支與遠程分支區(qū)別
git log
查看提交日志
如果嫌輸出信息太多七芭,看得眼花繚亂的素挽,可以試試加上--pretty=oneline參數(shù);
版本回退
版本回退需注意
git revert
和git reset
的區(qū)別
-
git revert
git revert 撤銷某次操作抖苦,此次操作之前和之后的 commit 和 history 都會保留毁菱,并且把這次撤銷作為一次最新的提交。git revert是提交一個新的版本锌历,將需要revert的版本的內(nèi)容再反向修改回去贮庞,版本會遞增,不影響之前提交的內(nèi)容究西。
- 當代碼已經(jīng)commit但沒有push時窗慎,可使用如下命令操作:
git revert HEAD //撤銷倒數(shù)第一次提交
git revert HEAD^ //撤銷倒數(shù)第二次提交
git-revert HEAD~2 //撤銷倒數(shù)第三次提交
git revert commit //(比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進
- 當代碼已經(jīng)commit并push時,可使用如下命令:
git revert HEAD~1 //代碼回退到前一個版本
當回退有沖突時遮斥,需手動合并沖突并進行修改峦失,再 commit 和 push。這相當于增加了一次新的提交并且版本庫中有記錄术吗。
-
git reset
git reset 是撤銷某次提交尉辑,但是此次之后的修改都會被退回到暫存區(qū)。除了默認的 mixed 模式较屿,還有 soft 和 hard 模式隧魄。
- 如果我們的有兩次 commit 但是沒有 push 代碼
git reset HEAD~1 //撤銷前一次 commit,所有代碼回到 Working Copy
- 假如我們有幾次代碼修改隘蝎,并且都已經(jīng) push 到了版本庫中购啄。
git reset --hard HEAD~2 //本地的Wroking Copy回退到2個版本之前。
- 只回退某個指定文件到指定版本
git reset a4e215234aa4927c85693dca7b68e9976948a35e xxx
4.回退到指定版本
git reset --hard commitId(通過git log可查看提交的commitId)
如果你使用的是webstorm嘱么,它也有很好用的git插件狮含,比vsCode的GitLens好使,也有人說webstorm比較重曼振,不喜歡几迄;當然,個人選擇拴测,隨意乓旗。僅附一圖對比府蛇。
[圖片上傳失敗...(image-f03fac-1631150187696)]
pic11.png
希望上面整理的操作可以幫助到你集索,后續(xù)也會持續(xù)更新git常用的命令及操作,如果覺得有用汇跨,請點個贊务荆!