首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >谁碰了我的git假设-没变的部分?

谁碰了我的git假设-没变的部分?
EN

Stack Overflow用户
提问于 2011-09-13 16:52:13
回答 1查看 3.4K关注 0票数 19

我在我的存储库中有一个文件,我已经设置了assume位:

git update-index --assume-unchanged someFile.txt

有时,在存储库上做了一些工作后,该位被取消设置,文件自动不再是assume-unchanged

谁在摸它?在我显式地告诉git以下内容之前,我如何才能使其永久存在:

git update-index --no-assume-unchanged someFile.txt

这里发生了什么事?

编辑:我在本地更改的配置文件上使用假定不变位,并且永远不应该提交,更不用说推到上游了。我不想在git status中看到它们,也不想在其他任何地方看到它们,除非我明确地告诉git我想要编辑和提交其中的一个。

编辑:好的,我想我成功地重现了这个问题。

我从不同的存储库提交了文件(没有--assume-unchanged),拉出了我的存储库,果然,位被重置了。

因此,出现了两个问题:

  1. 是否可以在中央授权存储库上设置此位,以便将其传播到所有存储库?
  2. 是否可以使此位变得粘滞,即使在对其进行远程更改之后也是如此?
EN

回答 1

Stack Overflow用户

发布于 2013-09-11 23:09:03

似乎--skip-worktree + sparse checkout可以允许这种行为。

来自git assume unchanged vs skip worktree - ignoring a symbolic link

(经过一些上下文修改):

对于包含两种模式的repository.

  • Create a文件'someFile.txt'.

  • Now,,
  • core.sparseCheckout设置为true :如果包含所有内容,则设置为*;如果排除本地文件,则设置为!/path/to/someFile.txt。手动将跳过工作树位设置为someFile.txt.

现在你可以不用担心git会自动提交目录,但是要注意,如果有人显式地在目录或其中的任何文件上运行git add,你仍然会遇到问题。

the man page的进一步研究似乎表明,--skip-worktree更适合所询问的用例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7399153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档