branch相关内容
我最近在工作中检查了我的一个 git 存储库,它有超过 10,000 个分支和超过 30000 个标签.新克隆后的 repo 总大小为 12Gigs.我确信没有理由拥有 10000 个分支机构.所以我相信它们会在磁盘中占据相当大的空间.所以,我的问题如下 分支和标签如何存储在磁盘中,例如使用什么数据结构,每个分支存储什么信息? 如何获取有关分支机构的元数据?比如那个分支创建的时候,这个分支
..
我正在使用 git 并想更改现有分支的基础.这是由部署系统引起的,该系统将此显式分支拉入我的生产环境.在计划我的发布时,我每次想要上线时都会创建一个标签.但是我的分支也有特殊的变化,所以 git reset --hard v1.0 不起作用. 这里是一个小例子.我想要这个 C---D---E 部署/A---B---F---G大师\v1.0 变成这样 C---D---E 部署/A--
..
愚蠢的问题,把我当作完全是版本控制的新手. 我是 Git 新手(我以前使用过 subversion,但只是基础知识)我了解 Git 及其分支命令的基础知识,我有一个想象的情况需要你的建议. 假设我的软件目前是 v1.2,稳定且已发布. 我的软件v1.0v1.1v1.1.1v1.2
..
如果我在没有创建分支的情况下签出源代码的标记版本,Git 会表明我根本没有与任何分支关联.很高兴让我进行更改并签入.这些变化去哪儿了?如果我切换回“主",它们就会消失(被主中的内容覆盖),我似乎再也找不到它们了.是什么赋予了?如果 Git 允许我对本质上是匿名的分支提交更改,我肯定可以将它们取回吗? 解决方案 因为您的提交不在任何分支上,除非您签出该特定提交,否则您无法在工作目录中看到它,
..
如何配置 TeamCity 以从 SVN 主干以及不同的分支和/或标签构建? 我们的想法是从同一个项目中进行多个构建,这样我们就可以拥有正在生产中的当前版本(能够在该“发布标签"上进行部署和修复),同时拥有每天都在进行实际开发的主干和分支. 对于我们的 SVN 目录,我们有我们的策略、所有者和所有这些,我们遇到的问题是如何配置 TeamCity 以在应用程序的不同“版本"或“状态"上为
..
我想知道是否可以在 Git 中检索标签列表(很像 git tag 命令的结果),但该列表应该仅限于某个分支. 如果可能的话,谁能解释一下这是怎么做到的?也许有一些模式匹配的魔法? 解决方案 另一种方法可以使用新的 git 标签选项 --merged(在 git 2.7+ 中,2015 年第四季度) git tag --merged 请参阅 commit
..
更新:示例存储库,https://github.com/so-gitdemo/so-gitdemorepo 在 github 存储库的上下文中.如何轻松找到 rev“b0430cee"?我知道我可以看看,但这个存储库模仿的真实示例有十几个提交者和多个其他分支.不太容易使用检查. 分支被多次合并后,如何找到分支创建修订版? 我知道这个问题:如何确定 Git 分支的创建时间?
..
假设我已经派生了一个带有错误修复的节点模块,并且我想在功能分支上使用我的固定版本,直到错误修复被合并并发布. 如何在 package.json 的 dependencies 中引用我的固定版本? 解决方案 来自 npm 文档: git://github.com//.git#git://github.com//
..
我有一个 Jenkins 工作,它构建与“origin/feature/**"匹配的分支. 只要通过存储库挂钩 (https://confluence.atlassian.com/display/BITBUCKET/Jenkins+hook+management). 只要功能分支发生更改,此功能就可以正常工作,作业会识别分支已更改并构建它. 但是,当提交到非功能分支(例如合并到开
..
我目前正在设置 Jenkins 以使用 SVN 存储库.目前它适用于主干.现在我想设置 Jenkins 来处理新创建的分支.我不想为 SVN 中的每个新分支手动创建一个新项目. 是否已经有一个解决方案允许使用 SVN 并在 Jenkins 中为在 SVN 中创建的每个分支自动创建作业/任务? 如何将 Jenkins 与 SVN 标签/分支一起使用? 解决方案 如果您不是,请查看我的
..
我在互联网上看到了许多关于分支分歧的问题,以及如何避免它.然而,即使在阅读了数十篇关于 CUDA 工作原理的文章后,我似乎看不出在大多数情况下避免分支分歧有什么帮助.在有人伸出爪子扑向我之前,请允许我描述一下我认为“大多数情况"的情况. 在我看来,大多数分支分歧实例都涉及许多真正不同的代码块.例如,我们有以下场景: 如果(A):富(一)别的:酒吧(B) 如果我们有两个线程遇到这种分歧,线
..
在我们的产品首次发布后,我们将切换到不同的分支进行主要开发和功能开发.有没有办法以这种方式创建分支,以便我们可以保护它不被删除(意外或故意),除非您是特定用户(基于角色或用户名)? 我尝试在我们的本地 gitlab 机器上创建一个示例 git 存储库,然后从网站上的选项中保护其中一个分支,但后来我能够使用 git push origin :branch_name.提前致谢! 该解决方案
..
GitLab 允许我创建受保护的分支,然后指定的女巫用户将拥有对这些受保护分支的推送访问权限.但是,如果我想让一些用户访问同一仓库中的一些但不是所有受保护的分支呢?我的意思是,更离散/细化的用户分支权限. 解决方案 GitLab 中不存在这些类型的权限. 作为替代方法:您可以让用户无法提交到主存储库,然后使用 项目分叉工作流 允许他们将存储库分叉到他们自己的命名空间,然后他们可以在上
..
当我在项目中拥有开发人员访问权限时,我将代码推送到 git 时遇到问题,但是当我拥有主访问权限时一切正常.问题出在哪里?以及如何解决? 错误信息: 错误:您不能将代码推送到此项目的受保护分支. ... 错误:未能将一些 refs 推送到 ... 解决方案 没有问题 - 一切正常. 在 GitLab 中,一些分支可以受到保护.默认情况下,只有维护者/所有者用户可以提交受
..
我们正在使用定期更新的 3rd 方 PHP 引擎.版本保存在 git 中的一个单独分支上,我们的 fork 是 master 分支. 通过这种方式,我们将能够从新版本的引擎中将补丁应用到我们的分支. 我的问题是,在对我们的分支进行多次提交后,我意识到引擎的初始导入是使用 CRLF 行结尾完成的. 我将每个文件都转换为 LF,但这做了一个巨大的提交,删除了 100k 行并添加了 1
..
来自手册页: 删除 下所有陈旧的跟踪分支.这些陈旧的分支已经从远程存储库中删除由引用,但在“remotes/"中仍然是本地可用的. 所以我使用 删除了一堆分支 git push origin :staleStuff 然后跑 git remote prune origin 然而,只有一个本地分支被修剪.这些分支有些是我创建的,有些是同事创建的.这是否表明我一开
..
我正在使用一个中间 Git 存储库来镜像远程 SVN 存储库,人们可以从中克隆和工作.中间存储库的主分支每晚从上游 SVN 重新建立,我们正在研究功能分支.例如: 遥控器:掌握当地的:掌握特征 我可以成功地将我的功能分支推送回远程,并以我期望的方式结束: 遥控器:掌握特征当地的:掌握特征 然后我重新设置分支以跟踪远程: 遥控器:掌握特征当地的:掌握功能 ->起源/特征 一切都很好.我想
..
我们希望为我们的项目实施一项新政策,即现在将 master 分支称为发布分支,以确保更清楚地了解应该如何使用该分支.当然,我们也会开发和发布候选分支. 我知道我可以通过简单地使用以下命令在本地重命名主分支: git branch -m master release 然而,这只是本地的.即使我将其推送到远程,HEAD 仍然指向远程主分支.我想完全摆脱 master 分支,并在初始克隆时将默
..
我们是一个相当大的项目,只有一个主干分支.其中大部分使用默认权限,但少数文件夹具有自定义权限 - 例如,仅允许“Builders"组签入. 我们希望允许人们在主干之外创建自己的私有分支,他们可以在其中自由签入并稍后合并(希望经常).但是,创建分支时,特殊权限会随文件夹一起复制,这意味着人们无法自由签入其分支. 有没有办法从分支或文件夹中清除特殊权限? 有没有办法自动执行此操作,因此任
..
场景:购买的 Web 应用程序,供应商定期更新.然后,我们会大量定制外观,有时会在供应商之前添加我们自己的功能或修复错误.对于版本控制,我们一直在使用 Subversion,遵循他们的 “Vendor Branch" 每次我们收到新版本时的模型.这有一个额外的好处,即我们拥有他们系统的版本控制的普通副本. 问题:我们想切换到 Mercurial,并且可能会遵循 稳定/默认分支 模式.如果我们
..