Liz*_*Liz 35 git ignore sourcetree
我的团队使用 sourcetree 作为我们的 git 客户端。我们的项目中有一个第三方插件。它需要几个配置文件。这些文件不能自动生成。它们存储帐户名、登录令牌和一些不应共享的临时选项。但是大家还是需要这个文件的,不然会报错。所以现在他们总是留在我们的“未提交的更改”部分,这很烦人。
我有两个选择:
从 git 存储库中删除这些文件。将它们添加到 .gitignore 中。要求我的所有团队成员使用自己的设置将这些文件添加回他们的本地项目。
看看是否有“忽略跟踪文件而不删除它”之类的技巧。
(基本上我觉得如果选项2可行,git应该有一些逻辑,例如“如果本地没有这个文件,使用远程版本。如果本地有这个文件,忽略”。逻辑感觉不好,容易产生错误。)
m4l*_*90n 35
这是你想要做的:
完成此操作后,您将有效地“忽略跟踪的文件而不删除它们”,将它们从存储库中删除并在您的系统中保持所有文件不变。然后,当您的团队拉取更改时,他们将拉取.gitignore文件,并且他们的个人配置文件不会被 repo 中的文件覆盖,因为您已忽略它们并从中删除它们。另外,因为现在新的.gitignore忽略了这些文件,每个人都会有自己的版本,不会在“未提交的更改”中显示。
小智 32
似乎在这里找到了一个简单的解决方案。仅将文件/目录添加到 .gitignore 是不够的,但是 git 将允许您手动“忽略”对文件/目录的更改:
git update-index --assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
如果您想再次开始跟踪更改,可以使用以下命令撤消之前的命令:
git update-index --no-assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
要查看禁用更改跟踪的文件,您可以使用(linux/unix):
git ls-files -v | grep ^[h]
Run Code Online (Sandbox Code Playgroud)
或(窗口):
git ls-files -v | find "h "
Run Code Online (Sandbox Code Playgroud)
背景:我需要它来将包含用户数据的配置文件添加到存储库中。用户应该拉取该文件并为他/她的系统编辑它,但该文件随后应该被 git 忽略并且永远不会提交。
从技术上讲,您的要求是矛盾的。
从更哲学的层面来看,它(似乎)是开源与企业哲学之间的冲突。
无论如何\xe2\x80\xa6我会建议一些我想到的东西
git跟踪或忽略文件。
不要在没有创建适当的项目的情况下启动 git 项目
\n\n所以第一个(有点不现实)
\n\n但正如我所说,这似乎并不完全是您想要的,因为您确实想要某种共享但未跟踪的文件。\n所以您需要
\n\n你实际上想要一个 git
\n\n这是在这里尝试的
\n\n但这是一个坏主意,如此处所解释的
\n\n这让我想到
\n\n因此,如果您是财富 500 强玩家,自然的选择是分叉 git 本身,并在您的分叉中添加克隆后钩子功能
\n\n更合理,只是稍微不方便
\n\n如果这个解决方案有意义,您可能实际上更喜欢
\n\n将script-inside-git反转为git-inside-script
\n\n即要求您的团队仅下载/复制并运行一个脚本
\n\ngit clone| 归档时间: |
|
| 查看次数: |
31343 次 |
| 最近记录: |