gpt4 book ai didi

git - 如何使用 Git 管理 Kiln 的分支?

转载 作者:太空狗 更新时间:2023-10-29 14:14:15 27 4
gpt4 key购买 nike

我的公司正在使用 Kiln,因此开发人员可以在 Git 和 Mercurial 之间使用他们喜欢的工具。我是 Git 用户,从未使用过 Mercurial。

分支与Kiln的使用有一些不理解的地方。当我使用 Kiln 界面创建一个新分支时,它实际上创建了一个新的存储库,而不是一个分支。即使 Kiln 将其显示为“分支”而不是“存储库”。当我在 Git 中克隆存储库时,git branch -a 没有显示我刚刚创建的远程分支。我需要独立克隆每个伪分支。

另一方面,如果我在 Git 中创建一个分支并将其推送到远程,它不会在 Kiln 上创建一个分支,而是在所有分支中都可见的某种称为“头”的“子分支”。非常混淆。但显然没有办法通过 Kiln 接口(interface)创建这些与 Git 完美配合的“子分支”。我也不知道它们是否适用于 Mercurial。

$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/feature2
remotes/origin/master

我确信这与 Kiln 的亲 Mercurial“哲学”有关。我对 Mercurial 做了一些研究,发现分支系统与 Git 完全不同。克隆存储库以创建分支是正常的,而在 Git 中这是无意义的。 Mercurial 也有不能删除的“命名分支”,Kiln 开发人员不鼓励使用它们。我的“子分支”实际上可以是“命名分支”吗?问题是我可以使用 git push origin :sub-branch 删除那些“子分支”。

答案一定是显而易见的,因为分支是 Mercurial 和 Git 的一个重要特性,而 Kiln 必须使用这两种工具以简单而优雅的方式进行分支工作。但是我无法弄清楚Kiln的逻辑。恐怕 Kiln 可能对 Mercurial 过于友好,而 Git 支持可能更像是一种 hack。

最佳答案

Kiln 团队在以下帖子中介绍了如何 merge 存储库。这应该为您提供 merge Kiln 分支/存储库所需的信息。本质上,您是在 pull 然后从一个存储库推送到另一个存储库。

Kiln Branch\Repository Merging

虽然 git 似乎没有人们通常会在 hg 中听到的分支问题; Joel Spolsky 表示,支持 hg 而不是 git 的决定源于 Linus Torvalds 做出的声明/政策,即不在 git 中做任何有利于 Windows 用户的事情。 Joel 在 2011 年关于 FogBugz 和 Kiln 的演讲中谈到了这个问题。您可以在以下视频中的 40:40 收听评论。

Joel Spolsky on Mercurial Choice

回到 2011 年,人们可能会同意 Fog Creek 做出的 Mercurial 决定,但在 git 的世界里,事情显然已经取得了进展,而且 git 的采用显然足以说服 Fog Creek 创建 Kiln Harmony,它允许 hg 或 git使用。

Kiln Harmony

关于git - 如何使用 Git 管理 Kiln 的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18586534/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com