vue項目打包后提交到git上為什么沒有dist這個文件?


vue項目中使用npm run build打包后會生成一個dist文件,使用git推送項目后,發現git上少了一個dist文件,為什么明明本地項目中有這個文件而推上去就沒有了呢?

這里會先介紹.gitignore,不想看的 請直接跳過介紹 看解決辦法

一、.gitignore 介紹

這里向大家簡述一下.gitignore這個文件
一、簡紹

我們做的每個Git項目中都需要一個“.gitignore”文件,這個文件的作用就是告訴Git哪些文件不需要添加到版本管理中。比如我們項目中的npm包(node_modules),它在我們項目中是很重要的,但是它占的內存也是很大的,所以一般我們用Git管理的時候是不需要添加npm包的。

二、常用的規則

/mtk/ 過濾整個文件夾
*.zip 過濾所有.zip文件
/mtk/do.c 過濾某個具體文件

以上規則意思是:被過濾掉的文件就不會出現在你的GitHub庫中了,當然本地庫中還有,只是push的時候不會上傳。
除了以上規則,它還可以指定要將哪些文件添加到版本管理中。

!src/   不過濾該文件夾
!*.zip   不過濾所有.zip文件
!/mtk/do.c 不過濾該文件

1、配置語法:

以斜杠/開頭表示目錄;
以星號*通配多個字符;
以問號?通配單個字符
以方括號[]包含單個字符的匹配列表;
以嘆號!表示不忽略(跟蹤)匹配到的文件或目錄;

此外,git 對於 .ignore 配置文件是按行從上到下進行規則匹配的,意味着如果前面的規則匹配的范圍更大,則后面的規則將不會生效;

2、示例說明
a、規則:fd1/*
說明:忽略目錄 fd1 下的全部內容;注意,不管是根目錄下的 /fd1/ 目錄,還是某個子目錄 /child/fd1/ 目錄,都會被忽略;
b、規則:/fd1/*
說明:忽略根目錄下的 /fd1/ 目錄的全部內容;
c、規則:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
說明:忽略全部內容,但是不忽略 .gitignore 文件、根目錄下的 /fw/bin/ 和 /fw/sf/ 目錄;

3、創建.gitignore文件
(1) 常規的windows操作

  • 根目錄下創建gitignore.txt;
  • 編輯gitignore.txt,寫下你的規則,例如加上node_modules/;
  • 打開命令行窗口,切換到根目錄(可以直接在文件夾上面的地址欄輸入cmd回車);
  • 執行命令ren gitignore.txt .gitignore。

(2) 用Git Bash

  • 根目錄下右鍵選擇“Git Bash Here”進入bash命令窗口;
  • 輸入vim .gitignore或touch .gitignore命令,打開文件(沒有文件會自動創建);
  • 按i鍵切換到編輯狀態,輸入規則,例如node_modules/,然后按Esc鍵退出編輯,輸入:wq保存退出。

如圖:

# dependencies  npm包文件
/node_modules

# production  打包文件
/build

# misc 
.DS_Store

npm-debug.log*

**DS_Store:**這個文件是Mac OS X用來存儲文件夾的一些諸如自定義圖標,ICON位置尺寸,窗口位置,顯示列表種類以及一些像窗體自定義背景樣式,顏色這樣的元信息。默認情況下,Mac OS X下的每個文件夾下應該都會生成一個,包括網絡介質存儲盤和U盤這樣的外部設備。
在這里插入圖片描述

**npm-debug.log:**項目主目錄下總是會出現這個文件,而且不止一個,原因是npm i 的時候,如果報錯,就會增加一個此文件來顯示報錯信息,npm install的時候則不會出現。

最后需要強調的一點是,如果你不慎在創建.gitignore文件之前就push了項目,那么即使你在.gitignore文件中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有文件進行版本管理。

簡單來說,出現這種問題的原因就是Git已經開始管理這些文件了,所以你無法再通過過濾規則過濾它們。因此一定要養成在項目開始就創建.gitignore文件的習慣,否則一旦push,處理起來會非常麻煩。

二、解決辦法

找到.gitignore這個文件,把/dist這一項刪掉。在重新提交git就可以了。
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM