遂寧做網(wǎng)站2022百度收錄越來(lái)越難了
Git安裝
下載安裝包
【免費(fèi)】前端前置-Git安裝包資源-CSDN文庫(kù)
安裝?‘git‘不是內(nèi)部或外部命令及Git 的保姆級(jí)安裝教程(保姆級(jí)教程)_git不是內(nèi)部或外部命令-CSDN博客
vscode添加gitbash終端
setting.json
"terminal.integrated.profiles.windows": {"gitBash": {"path": "E:\\Git\\bin\\bash.exe",//這里是的的bash路徑}}
查看git版本號(hào)
Git配置用戶信息
配置:用戶名和郵箱,應(yīng)用在每次提交代碼版本時(shí) 表面自己身份
命令:
git config --global user.name "itheima"
git config --global user.email "itheima@itcast.cn"
查看清單:git config --list
Git倉(cāng)庫(kù)
記錄文件狀態(tài)內(nèi)容的地方,存儲(chǔ)著所有修改過(guò)的歷史記錄(.git文件夾)
創(chuàng)建:把本地文件夾轉(zhuǎn)換成Git倉(cāng)庫(kù) git init
Git的三個(gè)區(qū)域
工作區(qū):實(shí)際開發(fā)時(shí)我們操作的項(xiàng)目代碼的文件夾
git add 文件名:暫存指定文件 ;
git add . :暫存所有新的、變化的文件
—— 工作區(qū)變化內(nèi)容添加到暫存區(qū)
暫存區(qū):暫時(shí)存儲(chǔ)我們即將要保存的 那些變更的文件內(nèi)容
git commit -m "注釋說(shuō)明" :提交并保存,產(chǎn)生版本快照 —— 暫存區(qū)里的記錄快照記錄到版本庫(kù)中
版本庫(kù):保存暫存區(qū)中的內(nèi)容 并且每次提交保存時(shí)產(chǎn)生一套版本快照
需求:把登陸頁(yè)面新增后(工作區(qū)),暫存并提交
1. 工作區(qū)內(nèi)容放入暫存區(qū)
2. 查看當(dāng)前項(xiàng)目下暫存區(qū)都記錄了哪些文件:git ls-files
3. 確認(rèn)要產(chǎn)生一次版本記錄:git commit -m "1.登錄頁(yè)面-標(biāo)簽部分準(zhǔn)備"
Git文件狀態(tài)
Git文件2種狀態(tài):
未跟蹤:工作區(qū)新建的文件,從未被Git管理過(guò)
已跟蹤:Git已經(jīng)知道有這樣一個(gè)文件存在了
文件狀態(tài) | 概念 | 場(chǎng)景 |
未跟蹤 U | 從未被Git管理過(guò) | 新文件 |
新添加 A | 第一次被Git暫存 | 版本庫(kù)中版本記錄無(wú)此文件 |
未修改 '' | 三個(gè)區(qū)域統(tǒng)一 | 提交保存之后 |
已修改 M | 工作區(qū)內(nèi)容變化 | 修改了內(nèi)容產(chǎn)生 |
需求:新增css文件,并使用git status -s查看工作區(qū)和暫存區(qū)對(duì)文件不同狀態(tài)的標(biāo)記,并最終提交
輸出當(dāng)前只有改動(dòng)過(guò)的文件 對(duì)應(yīng)的狀態(tài)
第一列是當(dāng)前文件在暫存區(qū)的狀態(tài);第二列是當(dāng)前文件在工作區(qū)的狀態(tài)
暫存區(qū)新添加;工作區(qū)未修改
Git暫存區(qū)使用
暫存區(qū):暫時(shí)存儲(chǔ)
暫存區(qū)->臨時(shí)覆蓋->工作區(qū),進(jìn)行內(nèi)容的恢復(fù);命令:git restore 目標(biāo)文件
使用場(chǎng)景:想用暫存區(qū)重新恢復(fù)到剛剛暫存時(shí)的狀態(tài)
從暫存區(qū)移除文件,命令:git rm --cached 目標(biāo)文件
查看暫存區(qū)文件列表,命令:git ls-files
Git回退版本
把版本庫(kù)某個(gè)版本對(duì)應(yīng)的內(nèi)容快照,恢復(fù)到工作區(qū)/暫存區(qū)
查看之前所有的提交歷史:git log --oneline
查看回退之后,在往未來(lái)的一些提交記錄:git reflog --oneline
回退命令:
git reset --soft 版本號(hào)? 盡可能保留原本在工作區(qū)和暫存區(qū)里的內(nèi)容(只不過(guò)文件會(huì)變?yōu)槲幢籫it跟蹤的狀態(tài))
git reset --hard 版本號(hào) 暫存區(qū)和工作區(qū)都只有html,其他的都會(huì)被清除掉
git reset --mixed 版本號(hào) html覆蓋到暫存區(qū)(暫存區(qū)里只有html),工作區(qū)還會(huì)保留那些js、css文件,變?yōu)闉楣ぷ鳡顟B(tài)
注意:
1. 只有記錄在版本庫(kù)的提交記錄才能恢復(fù)
2.
刪除文件
需求:刪除editor.js文件,并產(chǎn)生一次版本記錄
步驟:
- 手動(dòng)刪除工作區(qū)文件
- 手動(dòng)刪除/暫存變更 暫存區(qū)文件造成變更
手動(dòng)刪除:git rm --cached 目標(biāo)文件
暫存變更:git add .
- 提交保存
忽略文件
.gitignore文件 可以讓git徹底忽略跟蹤指定文件
目的:讓git倉(cāng)庫(kù)更小更快
例如:
node_modules —— npm i 下載第三方包,不需要讓git記錄里面的代碼同步給別人
忽略密鑰文件
*.pem?
*.cer
創(chuàng)建:
- 項(xiàng)目根目錄新建.gitignore文件
- 填入相應(yīng)配置來(lái)忽略指定文件
分支
指向提交的某個(gè)記錄的可變指針,默認(rèn)名字:master
默認(rèn)情況下,master指向最后一次的提交記錄
HEAD指針影響工作區(qū)/暫存區(qū)的代碼狀態(tài)
在本地git倉(cāng)庫(kù)當(dāng)中,可能會(huì)有很多個(gè)分支,master,content,publish;
當(dāng)前工作區(qū)/暫存區(qū)里邊的代碼進(jìn)行變化的時(shí)候,到底是在哪個(gè)分支下操作的,就需要用HEAD指針進(jìn)行一個(gè)標(biāo)記
場(chǎng)景:
- 開發(fā)新需求業(yè)務(wù)
- 修復(fù)Bug
保證主線代碼隨時(shí)可以使用,且不受影響
需求:創(chuàng)建內(nèi)容列表content分支,并產(chǎn)生3次提交記錄
步驟:
創(chuàng)建新分支:git branch 分支名
以當(dāng)前HEAD指針指向的 提交記錄 作為起點(diǎn),把新分支指向這次的 提交記錄
切換分支:git checkout 分支名
把HEAD指針指向剛剛新創(chuàng)建的分支下
工作區(qū)準(zhǔn)備代碼并暫存提交,重復(fù)3次