提交后,我正在为节点项目重建应用程序,并且所构建的文件位于dist
目录中。为了避免dist
目录中的文件已经被暂存的问题,我执行以下操作:
dist
目录这些是我使用的命令:
git reset HEAD -- dist && \
git checkout -- dist && \
git stash push -k -u -m "build" && \
npm run build && \
git add . && \
git stash pop
到今天为止,一切正常。运行上述命令后,删除的文件被删除并被取消跟踪,我的行为有些奇怪。
在运行上述命令之前,git status
输出看起来像这样:
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: scripts/substenv.js
运行命令后,git status
输出看起来像这样:
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: scripts/substenv.js
Untracked files:
(use "git add <file>..." to include in what will be committed)
scripts/substenv.js
未跟踪的文件出现在git stash push -k -u -m "build"
命令之后。
谁能解释为什么/发生什么事?
答案 0 :(得分:0)
您需要将文件添加到.gitignore
才能停止在Untracked files
列表中看到它。
基本上,您的存储中都有文件,然后在您重新应用该存储时将其重新添加。
另一方面,我对您的设置/命令感到困惑,为什么不将dist
文件夹添加到.gitignore
文件中?
根据评论进行更新:
我认为您可能需要更新npm build
脚本。由于您需要发布dist
文件夹,因此应将其中的文件检入。使用build
文件夹作为中间步骤,并将其添加到.gitignore
。
npm build
build/
文件夹中创建一堆文件(应忽略)dist
文件夹中