忽略版本控制上的文件夹元文件

2024-03-03

Unity 创建和删除元文件folders在资源文件夹内。

在使用版本控制时,这可能会产生令人烦恼的情况(您可以跳过并转到问题):有人创建了一个将被忽略的文件文件夹,但忘记忽略该文件夹的元文件。 Unity 创建元文件,此人将元添加到版本控制中。另一个人获取变更集,并且由于他们没有该文件夹,theirUnity 删除元文件,并将元文件从版本控制中删除。并不是团队中的每个人都明白这一点,因此这个过程一直在地狱般的循环中持续下去。

令人惊讶的是这种情况经常发生。那么,两个问题:

  1. 版本文件夹元文件重要吗?
  2. 有没有办法自动忽略文件夹元文件 - 特别是在 git 或 Mercurial 上?

The Unity文档 http://docs.unity3d.com/Documentation/Manual/ExternalVersionControlSystemSupport.html say:

创建新资产时,请确保将资产本身和关联的 .meta 文件添加到版本控制中。

对我来说,这足以将它们置于版本控制之下。我看到两种解决问题的方法:

  • 组织:为本地文件夹设置命名约定,例如以“_”开头。但我们都知道这是行不通的;-)
  • 安装客户端预提交钩子 http://git-scm.com/book/en/Customizing-Git-Git-Hooks在所有机器上。我还没有这样做,但看起来很有希望。

我刚刚尝试了不同的 git 命令,以下命令可能有用: git hook 脚本应首先检查 .gitignore 是否已更改:

git diff-index --cached --name-only HEAD | grep ".gitignore"

如果 .gitignore 中所有新添加的行位于 Assets 文件夹下,则打印出它们的目录名称:

git diff --cached --word-diff=plain .gitignore | grep -o -e "{+\/.*\/Assets\/.*+}" | cut -d + -f 2

Update

我刚刚写了这样一个预提交钩子:-) 请参阅 GitHub 存储库git-pre-commit-hook-unity-assets https://github.com/kayy/git-pre-commit-hook-unity-assets/tree/master对于代码和我的博客发布 http://www.scio.de/en/blog-a-news/scio-development-blog-en/entry/git-pre-commit-hook-for-ignored-unity-asset-folders有关它的更多详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

忽略版本控制上的文件夹元文件 的相关文章

  • 在 Windows 上为 Bitbucket 设置 SSH 密钥

    首先 我对 git repos 和命令行绝对是菜鸟 我在 Bitbucket 上有仓库 我基本上希望能够通过 gitbash 推送到存储库 而无需每次输入密码 我拥有的 Bitbucket 上的存储库已设置好代码 克隆存储库的本地目录 通过
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • 用于跟踪远程分支的 Git 子模块

    我正在尝试使用 git 子模块将 10 多个存储库聚合到一个结构中 以便于开发 它应该克隆模块并签出分支 相反 模块以分离头模式检出 git clone email protected cdn cgi l email protection
  • 如何为Git存储库组织和设置镜像备份服务器?

    我正在将一些 svn 存储库移至 Git 所以 我基本上尝试做的是 设置一台带有裸 Git 存储库的服务器 我将从中拉取和推送到该存储库 为第一台服务器上的所有存储库设置一些备份服务器 所以 假设我的服务器上有一个目录 例如 HOME gi
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • Git - 在特定提交之前压缩历史记录中的所有提交

    我有一个 Mercurial 存储库 正在将其转换为 Git 提交历史记录非常大 我不需要新存储库中的所有提交历史记录 一旦我将提交历史记录转换为 Git 并且在推送到新存储库之前 我想将某个标记之前的所有提交压缩为一个提交 所以 如果我有
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 空合并运算符分配给 self

    我目前在 Unity 中设置了两个脚本来处理一些 UI 音频 一个是管理器 另一个是为特定 UI 元素播放声音 我所拥有的简化版本是这样的 public class AudioUIManager MonoBehaviour Only one
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • 特定远程分支名称的 Git 列表

    如何获取某些远程源分支的所有名称 我从 remote list选项 但变得多余origin HEAD gt origin master来自另一个源的消息和分支 gt git branch remote list origin HEAD gt
  • 无法重新索引 magento 1.7.0.2 卡在“处理”上

    我的 magento 索引中有九分之七停留在 处理 状态 我需要重新索引它们才能正确显示我的网站 我通过 ftp 访问我的 var locks 并删除其中的两个文件 但是当我刷新索引页时 它们只是重新出现 index process 3 l
  • 尝试匿名克隆 github 存储库时权限被拒绝

    作为匿名用户 github 上没有存储公钥 我尝试通过以下方式克隆公共存储库 git 网址 但它失败了 git clone email protected cdn cgi l email protection mikehaertl phpw
  • 如何在 git 中仅获取唯一的提交

    我想获取所有分支中唯一提交的列表 但是如果有人在分支中使用 rebase 则会提交松散的父项 如何解决这个问题呢 如何获取进行独特更改的提交列表 I use git log oneline graph cherry pick left ri
  • 当 TLSv1 因“忽略未知记录”而失败时,使 git 恢复为 SSLv3

    无法使用git git clone https github com foo bar fails fatal unable to access https github com foo bar Unknown SSL protocol er
  • 单个分支的 Git 导出

    我在本地的 git 存储库上工作 它有各种分支 例如开发分支 一些用于实验更改的分支等等 当然还有主分支 我想设置一个公共 嗯 确实是一个局域网的东西 最好说 共享 存储库来仅包含主分支 如何导出该分支以便我可以将其复制到目标文件夹 谢谢
  • 如何设置 Corkscrew 通过 Draconian 代理连接到 Github

    我的公司有一个严酷的代理服务器 它阻止我通过 SSH 删除服务器 从而阻止我使用 github 我花了最后一天的时间在网上查看示例 例如 如何通过严格的代理使用 GitHub https stackoverflow com question
  • Visual Studio 2022 Git 推送标签

    有谁知道如何在 Visual Studio 2022 中推送标签 自从我切换到多存储库模式后 我在任何地方都找不到它 解决方法是通过命令行推送标签 事实上 标签有点隐藏 你应该去团队资源管理器 gt Git 存储库 gt 在你的分支下 gt
  • git fatal:无法读取对象 xxx:参数无效

    如果我从远程获取数据 我会收到以下错误 git pull remote Counting objects 85 done remote Compressing objects 100 37 37 done remote Total 85 d
  • 如何使用 git-svn 切换 svn 存储库?

    我有许多使用 git svn 创建为 SVN 存储库克隆的 git 项目 我们已将 SVN 存储库迁移到新的提供商 因此 URL 现在已更改 如何更新 git 克隆的远程 SVN URL 一种可能性是我从新的 SVN 存储库重新克隆 但我不
  • 如何克隆 bitbucket 存储库?

    一段时间后重新开始工作 我似乎不知道如何克隆 bitbucket 存储库 知道为什么我收到 未找到 错误吗 git clone verbose https bitbucket org helllamer mod openid Cloning

随机推荐

  • 在 Python 中建立 Web 连接的这两种方法之间有什么实际区别?

    我注意到有几种方法可以启动 http 连接以进行网络抓取 我不确定某些是否是更新的编码方式 或者它们是否只是具有不同优点和缺点的不同模块 更具体地说 我试图了解以下两种方法之间有什么区别 您会推荐什么 1 使用urllib3 http Po
  • 1x1 Android 小部件在 WXGA720 屏幕上显示为 2x2 小部件

    我正在创建一个 1x1 Android 小部件 我为每种屏幕密度设计了图像 如下所示 ldpi 120 DPI 72 120 160 54 x 54 pixels mdpi 160 DPI 72 160 160 72 x 72 pixels
  • 如何限制 Web Api 中的请求?

    我正在尝试通过以下方式实现请求限制 在 ASP NET MVC 中实现请求限制的最佳方法 https stackoverflow com questions 33969 best way to implement request throt
  • 如何在 Entity Framework Core 中实现环境事务?

    我需要在两种模型下实现事务 使用两个独立的有界上下文 所以代码如下 using TransactionScope scope new TransactionScope Operation 1 using var context1 new C
  • malloc() 和 free() 在哪里存储分配的大小和地址?

    在哪里malloc and free 存储分配的地址及其大小 Linux GCC 我读过一些实现将它们存储在实际分配的内存之前的某个位置 但我无法在测试中确认这一点 背景 也许有人对此有另一个提示 我正在尝试分析一个进程的堆内存 以确定另一
  • 如何删除精明图像中的直线或非曲线

    I have a canny edge image 我想删除除了看起来像半圆 椭圆或 C 的线之外的所有线 尝试过霍夫圆变换 它检测所有曲线 不需要 一个简单的方法是 查找连接的组件 找到最小定向边界框 计算盒子的长宽比 并检查是否太大拉长
  • capistrano 顺序重启

    我将 capistrano 配置为跨三台物理服务器进行部署 我想将重新启动任务配置为按顺序转到每个服务器并重新启动应用程序 而不是立即转到所有服务器的默认方式 这是当前的部署任务 namespace deploy do task start
  • ASP.NET MVC 路由失败。这是错误还是极端情况?

    我有一个 ASP NET MVC 3 应用程序 用户可以在其中发布类似于 bla bla如果会更好雅达雅达雅达 对于建议详细信息页面 我定义了一个很好的搜索引擎优化友好路线如下 routes MapRoute null suggestion
  • Espresso webView webkeys 在 Android 8.0 模拟器上失败

    我正在从 Espresso Web 运行一些测试代码 Test public void typeTextInInput clickButton SubmitsForm Lazily launch the Activity with a cu
  • 如何使用 tvOS 打开另一个应用程序?

    Does UIApplication openURL work NSString iTunesLink http www youtube com watch v TFFkK2SmPg4 BOOL did UIApplication shar
  • 如何创建一个使用 gzip 压缩静态文件的简单节点服务器

    我已经在这几个小时了 我做的第一件事就是跟随this http blog modulus io nodejs and express static content教程有这个代码 var express require express var
  • 在 DateTimePicker 中设置小时超过 23

    在我的项目中 我需要使用格式为 HH MM 的 Timepicker 但我将它用作持续时间 而不是时间 所以是否可以将 HH 增加到 99 而不是停留在 23 我使用此页面中的日期时间选择器 http tarruda github io b
  • 以干净的方式打破 javascript 承诺链

    我正在尝试将承诺串联起来 这样如果一个承诺被拒绝 链条就会断裂 我跟随一个人的线索上一个SO问题 https stackoverflow com questions 20714460 break promise chain and call
  • (413) 请求实体太大 |上传预读大小

    我使用 NET 4 0 编写了一个 WCF 服务 该服务托管在我的 Windows 7 上x64带有 IIS 7 5 的终极系统 其中一个服务方法有一个 对象 作为参数 我正在尝试发送一个包含图片的字节 只要该图片的文件大小小于约 48KB
  • 使用 webpack 配置 CSS 模块时出错

    我正在尝试使用 webpack 配置 CSS 模块 但出现错误 我已经检查了 stackoverflow 上的其他答案 但到目前为止 没有一个解决方案对我有用 我已经按照文档的建议添加了加载程序 但它仍然显示错误 这是我的 webpack
  • 在 jQuery mobile 中创建侧边栏

    通常 当您使用 jQuery mobile 创建 data role page 元素时 它会占据整个查看区域 因此 我不明白如何创建侧边栏 我想模拟以下内容 但查看源代码没有多大帮助 http jquerymobile com demos
  • 嵌套字典到 MultiIndex pandas DataFrame(3 级)

    我想对 3 级嵌套字典执行相当于此操作 嵌套字典到多索引数据框 其中字典键是列标签 https stackoverflow com questions 24988131 nested dictionary to multiindex dat
  • 来自 CALayer 的 CGImage(或 UIImage)

    我创建了一个CALayer 我向图层添加了几个形状 但最终我只有一个 CALayer 并且将其添加到 CGImage 时遇到了很多麻烦 我找到了一些参考资料 CALayer renderInContext ctx 但我不知道如何实现它 以前
  • 我可以拥有在单个 js 文件中发出 Angular 元素的 Angular 库吗?

    我开始接触 Angular 6 位 并且对 Angular Elements 以及新的库项目非常感兴趣 我即将开展一个项目 可能需要这两个新功能 我需要创建可跨 Web 框架重用的自定义 UI 组件 但我也希望获得在 Angular 项目中
  • 忽略版本控制上的文件夹元文件

    Unity 创建和删除元文件folders在资源文件夹内 在使用版本控制时 这可能会产生令人烦恼的情况 您可以跳过并转到问题 有人创建了一个将被忽略的文件文件夹 但忘记忽略该文件夹的元文件 Unity 创建元文件 此人将元添加到版本控制中