預備知識 —— git
-
安裝(略)
-
配置
-
配置 name 和 email
git config --global user.name "xxxx" git config --global user.email "xxx@xxx.xxx"
-
-
使用 git:
-
查看當前倉庫的狀態(tài)
git status
-
初始化倉庫
git init
-
文件狀態(tài):
- 未跟蹤
- 已跟蹤
- 暫存
- 未修改
- 已修改
-
未跟蹤 → 暫存
git add <filename> 將文件切換到暫存的狀態(tài) git add * 將所有已修改(未跟蹤)的文件暫存
-
暫存 → 未修改
git commit -m "xxxx" 將暫存的文件存儲到倉庫中 git commit -a -m "xxxx" 提交所有已修改的文件(未跟蹤的文件不會提交)
-
未修改 → 修改
- 修改代碼后,文件會變?yōu)樾薷臓顟B(tài)
-
-
常用的命令
- 重置文件
git restore <filename> # 恢復文件 git restore --staged <filename> # 取消暫存狀態(tài)
- 刪除文件
git rm <filename> # 刪除文件 git rm <filename> -f # 強制刪除
- 移動文件
git mv from to # 移動文件 重命名文件
分支
git 在存儲文件時,每一次代碼代碼的提交都會創(chuàng)建一個與之對應的節(jié)點,git 就是通過一個一個的節(jié)點來記錄代碼的狀態(tài)的。節(jié)點會構(gòu)成一個樹狀結(jié)構(gòu),樹狀結(jié)構(gòu)就意味著這個樹會存在分支,默認情況下倉庫只有一個分支,命名為 master。在使用 git 時,可以創(chuàng)建多個分支,分支與分支之間相互獨立,在一個分支上修改代碼不會影響其他的分支。
git branch # 查看當前分支 git branch <branch name> # 創(chuàng)建新的分支 git branch -d <branch name> # 刪除分支 git switch <branch name> # 切換分支 git switch -c <branch name> # 創(chuàng)建并切換分支 git merge <branch name> # 和并分支
在開發(fā)中,都是在自己的分支上編寫代碼,代碼編寫完成后,在將自己的分支合并到主分支中。
變基(rebase)
在開發(fā)中除了通過 merge 來合并分支外,還可以通過變基來完成分支的合并。
我們通過 merge 合并分支時,在提交記錄中會將所有的分支創(chuàng)建和分支合并的過程全部都顯示出來,這樣當項目比較復雜,開發(fā)過程比較波折時,我必須要反復的創(chuàng)建、合并、刪除分支。這樣一來將會使得我們代碼的提交記錄變得極為混亂。
原理(變基時發(fā)生了什么):
- 當我們發(fā)起變基時,git 會首先找到兩條分支的最近的共同祖先
- 對比當前分支相對于祖先的歷史提交,并且將它們提取出來存儲到一個臨時文件中
- 將當前部分指向目標的基底
- 以當前基底開始,重新執(zhí)行歷史操作
變基和 merge 對于合并分支來說最終的結(jié)果是一樣的!但是變基會使得代碼的提交記錄更整潔更清晰!注意!大部分情況下合并和變基是可以互換的,但是如果分支已經(jīng)提交給了遠程倉庫,那么這時盡量不要變基。
遠程倉庫(remote)
目前我對于 git 所有操作都是在本地進行的。在開發(fā)中顯然不能這樣的,這時我們就需要一個遠程的 git 倉庫。遠程的 git 倉庫和本地的本質(zhì)沒有什么區(qū)別,不同點在于遠程的倉庫可以被多人同時訪問使用,方便我們協(xié)同開發(fā)。在實際工作中,git 的服務器通常由公司搭建內(nèi)部使用或是購買一些公共的私有 git 服務器。我們學習階段,直接使用一些開放的公共 git 倉庫。目前我們常用的庫有兩個:GitHub 和 Gitee(碼云)
將本地庫上傳 git:
git remote add origin https://github.com/lilichao/git-demo.git # git remote add <remote name> <url> git branch -M main # 修改分支的名字的為main git push -u origin main # git push 將代碼上傳服務器上
將本地庫上傳 gitee:
git remote add gitee https://gitee.com/ymhold/vue-course.git git push -u gitee main
遠程庫的操作的命令
git remote # 列出當前的關聯(lián)的遠程庫 git remote add <遠程庫名> <url> # 關聯(lián)遠程倉庫 git remote remove <遠程庫名> # 刪除遠程庫 git push -u <遠程庫名> <分支名> # 向遠程庫推送代碼,并和當前分支關聯(lián) git push <遠程庫> <本地分支>:<遠程分支> git clone <url> # 從遠程庫下載代碼 git push # 如果本地的版本低于遠程庫,push默認是推不上去 git fetch # 要想推送成功,必須先確保本地庫和遠程庫的版本一致,fetch它會從遠程倉庫下載所有代碼,但是它不會將代碼和當前分支自動合并 # 使用fetch拉取代碼后,必須要手動對代碼進行合并 git pull # 從服務器上拉取代碼并自動合并
注意:推送代碼之前,一定要先從遠程庫中拉取最新的代碼
tag 標簽
-
當頭指針沒有執(zhí)行某個分支的頭部時,這種狀態(tài)我們稱為分離頭指針(HEAD detached),分離頭指針的狀態(tài)下也可以操作操作代碼,但是這些操作不會出現(xiàn)在任何的分支上,所以注意不要再分離頭指針的狀態(tài)下來操作倉庫。
-
如果非得要回到后邊的節(jié)點對代碼進行操作,則可以選擇創(chuàng)建分支后再操作
git switch -c <分支名> <提交id>
-
可以為提交記錄設置標簽,設置標簽以后,可以通過標簽快速的識別出不同的開發(fā)節(jié)點:
git tag git tag 版本 git tag 版本 提交id git push 遠程倉庫 標簽名 git push 遠程倉庫 --tags git tag -d 標簽名 # 刪除標簽 git push 遠程倉庫 --delete 標簽名 # 刪除遠程標簽
gitignore
-
默認情況下,git 會監(jiān)視項目中所有內(nèi)容,但是有些內(nèi)容比如 node_modules 目錄中的內(nèi)容,我們不希望它被 git 所管理。我們可以在項目目錄中添加一個
.gitignore
文件,來設置那些需要 git 忽略的文件。
github 的靜態(tài)頁面
- 在 github 中,可以將自己的靜態(tài)頁面直接部署到 github 中,它會給我們提供一個地址使得我們的頁面變成一個真正的網(wǎng)站,可以供用戶訪問。
- 要求:
- 靜態(tài)頁面的分支必須叫做:gh-pages
- 如果希望頁面可以通過 xxx.github.io 訪問,則需要將庫的名字配置為 xxx.github.io
docusaurus
-
facebook 推出的開源的靜態(tài)的內(nèi)容管理系統(tǒng),通過它可以快速的部署一個靜態(tài)網(wǎng)站
-
使用:
-
網(wǎng)址:
- https://docusaurus.io/
-
安裝
npx create-docusaurus@latest my-website classic
-
啟動項目
-
npm start
或yarn start
-
-
構(gòu)建項目
-
npm run build
或yarn build
-
-
配置項目:
- docusaurus.config.js 項目的配置文件
-
添加頁面:文章來源:http://www.zghlxwxcb.cn/news/detail-538526.html
- 在 docusaurus 框架中,頁面分成三種:1.page,2.blog,3.doc
-
案例地址:文章來源地址http://www.zghlxwxcb.cn/news/detail-538526.html
- https://github.com/lilichao/lilichao.github.io
-
到了這里,關于git-gitHub-本地倉庫-遠程倉庫-github靜態(tài)頁面相關配置-docusaurus項目相關配置以及部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!