Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 切换到分支时如何保留被忽略的文件而不忽略它们?_Git - Fatal编程技术网

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

Git 切换到分支时如何保留被忽略的文件而不忽略它们?,git,Git,我正在用一个webpack项目尝试GitHub页面,所以我创建了一个新的分支(忘记使用--orphan)并在其中保存不同的文件 在master分支上,dist/目录是.gitignored 在gh页面branch上,除了dist/、index.html和一些其他文件之外,所有文件都被忽略 当我npm在master上运行build时,会生成新的dist/,但当我签出gh页面时,它会被前一个dist/覆盖。如何保留它们,以及如何在之后添加和提交它们?关于使用两个单独的工作树的可能性,您可以使用以

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

  • master
    分支上,
    dist/
    目录是
    .gitignore
    d
  • gh页面
    branch上,除了
    dist/
    index.html
    和一些其他文件之外,所有文件都被忽略

当我
npm在
master
上运行build
时,会生成新的
dist/
,但当我签出
gh页面时,它会被前一个
dist/
覆盖。如何保留它们,以及如何在之后添加和提交它们?

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

也不要忘记“”:您可以在
docs/
子文件夹中,将您的页面与回购协议的其余部分放在同一个分支中。

这样,您根本不需要切换分支。

尽管有更好的实践,我还是找到了一种直接进行文件传输的方法

  • master
    分支上,提交所有内容并进行构建之后
  • git add--force dist/
  • git隐藏
  • git签出页面
  • git隐藏应用
  • 取消存储
    .gitignore
    ,以防它也被传输
  • 解决冲突

  • 然而,它需要太多的步骤才有用,也许简单地
    cp
    它们会容易得多。

    使用两个独立的工作树。或者甚至是一个子模块,但这并不是必需的。我仍然认为单独的工作树或带有文档的单个工作树看起来更容易。如果你的gh页面不是你应用程序的文档,而是一个演示呢?您能告诉Github查看
    dist
    目录而不是
    docs
    ?@EdmundReed在这种情况下,您可以使用gh branch,并将(在主目录中)branch dist/声明为子模块(其url是您的gh branch repo url!),请参见。这样,两个内容都可以在同一个工作树中使用。