相关疑难解决方法(0)

解释哪个gitignore规则忽略了我的文件

有没有办法看到为什么一些文件被git忽略(即.gitignore文件中的哪个规则导致文件被忽略)?

想象一下,我有这个(或更复杂的场景,有数百个文件夹和数十个.gitignore文件:

/
-.gitignore
-folder/
    -.gitignore
    -subfolder/
              -.gitignore
              -file.txt
Run Code Online (Sandbox Code Playgroud)

如果我运行git add folder/subfolder/file.txtgit可能会抱怨它被忽略:

The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Run Code Online (Sandbox Code Playgroud)

有没有办法知道哪一个可能.gitignore有规则忽略这个文件,还显示规则?喜欢:

The following paths are ignored by your folder/.gitignore file (line 12: *.txt)
folder/subfolder/file.txt
Use -f if you really want to add them.
Run Code Online (Sandbox Code Playgroud)

要不就:

$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
Run Code Online (Sandbox Code Playgroud)

git gitignore

291
推荐指数
4
解决办法
4万
查看次数

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

在单个仓库中,每个目录可以有额外的.gitignore吗?

您是否可以在仅适用于该目录中的文件(和目录)的目录中创建.gitignore文件?

git version-control repository gitignore

109
推荐指数
2
解决办法
4万
查看次数

使用多个.gitignore文件的最佳做法

https://github.com/github/gitignore上有一组有用的.gitignore文件 .每个忽略文件都有一个扩展名,例如Java.gitignore,vim.gitignore.当我将这些文件直接放入workdir时,它们不起作用..gitignore

是否有必要创建单个文件.gitignore并将组成文件合并到其中?

因此,在使用--global .gitignore文件时,配置似乎指向单个文件.例如,如果我想.gitignore在Global /目录中应用所有文件,我应该手动将它们合并到一个文件中吗?如果是这样,使用"官方"集合保持此合并文件最新是额外的工作.

重申一下,我承认我们可以.gitignore在不同的目录中使用不同的文件,但这不是我想要的.我想.gitignore在一个目录中应用多个文件.

git github gitignore

38
推荐指数
1
解决办法
2万
查看次数

使用github托管公共git存储库,同时确保敏感数据文件保持未跟踪状态

我的应用程序托管在Heroku上,我也有一个公共github repo.

我的应用程序有一个包含我的amazon S3凭据的配置文件.确保文件被推送到heroku而不是github是很重要的.

所以我想我可以将我的主分支推送到heroku并创建一个单独的github分支,并确保它的.gitignore文件引用我的s3.yml文件.然后我可以做"git push origin github:master"将github分支推送到github.com

这适用于第一次提交.

但后来我切换到我的主分支,写了一些很棒的代码,然后将它全部推送到heroku.然后我切换回我的github分支并执行"git merge master",以便将新代码添加到其中.但这会导致master分支中的s3.yml和gitignore文件被复制到github分支中.提示从头到桌敲打会议.

是否有任何关于如何保持分支同步,同时确保未跟踪文件保持未跟踪的建议.我可以告诉git不要合并不需要的S3.yml文件和不同的.gitignore文件吗?

我在这里鞭打一匹死马吗?我无法证明支付私人github账户的合理性,但我想这个答案将涉及做到这一点....或者转换为projectlocker

我希望这个问题仅仅取决于我的垃圾技巧,并且有一种方法......提前感谢

编辑:::接受的答案是一个很好的解决方案,但我刚刚发现了一个我更喜欢的新解决方案.在这里阅读它:http://docs.heroku.com/config-vars- Heroku的那些聪明的人有一个答案的一切......真是太棒了

git project-hosting github

15
推荐指数
1
解决办法
3654
查看次数

是否可以重新定位 .gitignore 文件本身?

我在一个文件夹中有两个 git 存储库。我能够重新.git定位目录并使用--git-dir=/path/to/.git和来处理两个存储库--work-tree=/path/to/code。但是,我找不到任何重新定位.gitignore文件的选项,该文件当前位于存储库的根路径中,并且它们都被考虑。我也考虑过使用-c <.gitignoreOptionWhichIDontKnow>="/path/to/.gitignore"但找不到任何选项来重新定位我的 .gitignore 文件。

是否可以重新定位 .gitignore 文件?

git gitignore

4
推荐指数
1
解决办法
2120
查看次数