git與npm相關的一些問題(持續更新)

2021-10-10 17:50:43 字數 2563 閱讀 1771

秋招後的一些記錄,看了很多東西想寫下來,希望自己可以隨時的檢視,也希望有錯誤的地方大神可以指正。

其實感覺git很簡單,看文件全部理解透徹點,這裡主要是記錄一下被問到過的問題,其實我一般在開發中真的可能比較依賴idea的那種圖形化的處理方式,主要是比較清晰與準確吧。

(1)git log 檢視版本資訊

(2)git reset 返回該版本

(1)git reset --hard ***

​ git reset --hard head^(撤銷前前一次 commit)

​ git revert head(撤銷前一次 commit)

​ 將最近一次提交節點的提交記錄全部清除

(2)git reset --soft ***

​ 將最近一次提交節點的提交記錄回退到暫存區

(3)git reset --mixed ***

​ 將最近一次提交節點的提交記錄回退到工作區

該命令用來記錄你的每一次命令

(1)git checkout master

(2)git merge dev

(3)將某分支的某次提交合併到另一分支

​ git cherry-pick

​ **開發的時候,有時需要把某分支(比如develop分支)的某一次提交合併到另一分支(比如master分支)

​ 步驟:1、切換dev分支,git log 獲取版本id。2、切換到master分支,使用git cherry-pick 版本id ,就把該條commit記錄合併到master分支。

相當於是從遠端獲取最新版本到本地,但不會自動 merge

相當於是從遠端獲取最新版本並 merge 到本地

命令其實相當於 git fetch + git merge

這邊簡單的總結一下被問到過的問題。

當我們在安裝 node 後,npm 也會一起安裝好

1、npm init:npm init 命令用來初始化專案

2、npm install:npm install 命令用來全域性安裝或本地安裝第三方的依賴

5、npm repo(bugs) ***, 跳轉到對應的 github repo頁面,前言也是需要配置

6、 npm ls:顯示依賴 tree

乙個專案的全部資訊都在 package.json 檔案中了

npx 可以幫我們直接執行 node_modules/.bin資料夾下的檔案

首先使用 nrm 切換到 npm 官方源

使用 npm login 進行登入(提前註冊)

npm publish (確保 name 是唯一值)

對於不想打包的可在 .npmignore 檔案中進行忽略

1、字元範圍:x.y.z - a.b.c

2、tilde ranges : ~

如果y被指定,則允許z被改變;如果沒有,允許y被改變

~1.2.3 , y 被指定為 2, 那麼匹配的範圍為 >=1.2.3 <1.3.0

~1.2, y 被指定為 2, 那麼匹配的範圍為 >=1.2.0 <1.3.0

~1, 沒有指定 y, 那麼 y 可以被改變,匹配的範圍為 >1.0.0 <2.0.0

3、garet range: ^

(1)匹配的版本,會保證最左邊的第乙個非 0 位不修改

(2)^1.2.3, 最左邊非 0 位為 x 位,所以匹配的範圍為 >=1.2.3 <2.0.0

(3)^0.2.3, 最左邊非 0 位為 y 位,所以匹配的範圍為 >=0.2.3 <0.3.0

(4)^1.2.x , 當版本缺失,缺失位會降到 0 ,所以匹配的範圍位 >=1.2.0 <2.0.0

npm 2 在安裝依賴包時,採用簡單的遞迴安裝方法。

依賴關係層層遞進,構成了一整個依賴樹,這個依賴樹與檔案系統中的檔案結構樹剛好層層對應

1、對複雜的工程, node_modules 內目錄結構可能會太深,導致深層的檔案路徑過長而觸發 windows 檔案系統中,檔案路徑不能超過 260 個字元長的錯誤。

2、部分被多個包所依賴的包,很可能在應用 node_modules 目錄中的很多地方被重複安裝。隨著工程規模越來越大,依賴樹越來越複雜,這樣的包情況會越來越多,造成大量的冗餘。

npm 3 扁平化管理, 在安裝時遍歷整個依賴樹,計算出最合理的資料夾安裝方式, 避免重複安裝

1、這一版本依然沿用 npm 3 之後扁平化的依賴包安裝方式,此外最大的變化是增加了 package-lock.json 檔案。

2、package-lock.json 的作用是鎖定依賴安裝結構。

3、如果檢視這個 json 的結構,會發現與 node_modules 目錄的檔案層級結構是一一對應的。

4、只要有這樣乙個 lock 檔案,不管在那一台機器上執行 npm install 都會得到完全相同的 node_modules 結果。

yarn 是為了彌補 npm 的一些缺陷而出現的

速度快 :

1、速度快

安裝版本統一:yarn 有乙個鎖定檔案 (lock file) 記錄了被確切安裝上的模組的版本號(yarn是預設生成的)。

3、更簡潔的輸出。

4、更好的語義化。

phpstudy相關的一些問題

phpstudy相關 phpstudy for linux lnmp lamp一鍵安裝包 如何切換php版本 假如你先安裝的apache php5.3 想切換成nginx php5.4 你就再走一次.phpstudy.bin 但是你會發現有一行是否安裝mysql提示選不安裝 這樣只需要編譯nginx...

Redis相關的一些問題

在高併發下,查詢乙個不存在的值時,快取不會被命中,導致大量請求直接落到資料庫上,如活動系統裡面查詢乙個不存在的活動。解決方案 布隆過濾器。首先也是對所有可能查詢的引數以hash形式儲存,當使用者想要查詢的時候,使用布隆過濾器發現不在集合中,就直接丟棄,不再對持久層查詢。快取空物件。當持久層不命中後,...

C 中與指標相關的一些問題

指向常量的指標型別 與 指標型別的常量 const int p null 定義了指向常量的指標型別 int x 0 定義變數x int y 0 定義變數y p x ok,讓p指向變數x p 1 error,不能改變指向常量的指標所指位址中的值 int const q y 定義了常量指標q,並讓其指向...