Git藏匿正在取消删除已删除的文件并将其添加到未跟踪的文件

时间:2019-05-21 08:44:13

标签: git

提交后,我正在为节点项目重建应用程序,并且所构建的文件位于dist目录中。为了避免dist目录中的文件已经被暂存的问题,我执行以下操作:

  • 取消分发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"命令之后。

谁能解释为什么/发生什么事?

1 个答案:

答案 0 :(得分:0)

您需要将文件添加到.gitignore才能停止在Untracked files列表中看到它。

基本上,您的存储中都有文件,然后在您重新应用该存储时将其重新添加。

另一方面,我对您的设置/命令感到困惑,为什么不将dist文件夹添加到.gitignore文件中?

根据评论进行更新:

我认为您可能需要更新npm build脚本。由于您需要发布dist文件夹,因此应将其中的文件检入。使用build文件夹作为中间步骤,并将其添加到.gitignore

  • 使用npm build
  • 构建应用
  • 这将在build/文件夹中创建一堆文件(应忽略​​)
  • 将要/需要签入的文件复制到dist文件夹中
  • 利润