切换到分支时如何保持被忽略的文件而不忽略它们?

时间:2017-08-29 03:39:26

标签: git

我正在尝试使用webpack项目的GitHub页面,因此我创建了一个新分支(忘记使用--orphan)并在其中保留不同的文件。

  • master分支上,dist/目录为.gitignore d。
  • gh-pages分支上,除dist/index.html和其他一些文件外,所有文件都会被忽略。

当我npm run build master时,我会构建新的dist/,但当我结帐dist/时,它会被前gh-pages覆盖。如何保留它们并使其可以在之后添加和提交它们?

2 个答案:

答案 0 :(得分:1)

关于使用两个单独的工作树的可能性,您可以使用git worktree命令:避免必须维护两个不同的克隆。

不要忘记" Simpler GitHub Pages publishing":您可以在docs/子文件夹中将您的网页维护在与其余存储库相同的分支中。
这样,您根本不需要切换分支。

答案 1 :(得分:0)

尽管有更好的练习here,但我找到了一种直接进行文件传输的方法。

  1. 在提交所有内容并进行构建后,在master分支上;
  2. git add --force dist/
  3. git stash
  4. git checkout gh-pages
  5. git stash apply
  6. 如果传输
  7. ,则取消暂停.gitignore
  8. 解决冲突
  9. 但是,它需要太多的步骤才能有用,而且可能只是cp它们会更容易。