问题标签 [git-branch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
179896 浏览

git - 在 Git 存储库中更改分支名称

如何重命名 Git 存储库中的现有分支?

我希望当前分支有一个新名称。

0 投票
1 回答
200 浏览

git - 如何将提交自动拆分到不同的分支?

对于我的学校项目,我习惯于拥有一个大型 repo,其中包含特定项目的多个子目录。因为我没有时间,我总是向master分支提交任何东西。

问题是,这被证明是不切实际的,因为在不阅读消息的情况下恢复较旧的提交或找出哪个提交属于什么变得越来越困难。

目前它看起来像这样:

目录树:

回购:

我发现,几乎所有提交(除了大约五个,我可以手动修复)只是修改这些文件夹之一中的文件。

有没有一种简单的(自动化的?)方式(脚本?)可以自动将提交分配给项目并创建不同的分支?我想在最后有这样的东西:

回购:

0 投票
11 回答
977040 浏览

git - 从 master 更新 Git 分支

我是 Git 新手,现在我处于这种情况:

  • 我有四个分支(master、b1、b2 和 b3)。
  • 在我从事 b1-b3 工作之后,我意识到我在分支 master 上需要更改一些应该在所有其他分支中的东西。
  • 我改变了我需要的东西master......这是我的问题:

如何使用master分支代码更新所有其他分支?

0 投票
3 回答
1042 浏览

git - 最常见的 Git 分支方案/提交生命周期有哪些?

首先,对不起,如果这是重复的,但我尝试搜索,我能找到的只是关于如何在 Git 中创建分支的东西等等。这不是我想要的。我试图弄清楚不同的人如何设置他们的 Git 分支以匹配他们的工作流程。

让我举个例子说明我们公司是如何做到的:

  1. 开发人员在本地提交到他们自己的分支
  2. 开发人员将提交推送到他们的远程,一个持续构建系统检查它,另一个开发人员审查它
  3. 如果审查/构建通过,提交将合并到一个 QA 分支(如果失败,则进行更多提交,直到审查/构建通过)
  4. 如果提交未通过 QA,则会进行还原提交以将其取出
  5. 在准备好足够的 QA 提交后,我们的主分支获取提交(QA 分支基于它,因此不需要合并)
  6. 定期从主分支中获取分支,并用于“在野外”释放。如果这里发现问题,会再次使用revert commit来移除代码
  7. 发布后,开发人员将他们的分支重新定位到主分支(获取他们以前的提交和其他开发人员的提交)

现在,这个系统存在一些问题;我会在评论中指出一些,但我并不是真的在寻找“请为我修复我们的系统”,我只是想看看我们可以使用哪些其他分支选项,这样我就可以权衡各种可能性。

所以,如果你曾在多家使用 Git 的公司工作过(或者更好的是,如果你是某种顾问,见过大量的 Git 设置),你能否分享一下:不同公司如何设置 Git 分支(并移动提交它们之间)以促进发展的各个阶段......同时尽量减少烦人?我确信一定有一些常见的模式......但我不知道它们是什么。

PS 如果你只看过一个 Git 设置,但你认为它很有趣,请务必发布它。但是,我想将答案授予提供可能选项的最佳细分的人,并且我希望这将来自看过多个 Git 设置的人。

0 投票
5 回答
604349 浏览

git - 使用当前更改创建 Git 分支

我开始在我的分支上工作,认为我的任务会很容易。过了一会儿,我意识到这需要更多的工作,我想在一个新的分支中完成所有这些工作。

如何在不弄脏master的情况下创建一个新分支并随身携带所有这些更改?

0 投票
2 回答
1028 浏览

git - gitosis 更改服务器

我安装了一个新的 gitosis 实例,也有一个旧实例。

要将存储库从旧服务器移动到新服务器,我需要做什么?在新服务器上克隆?

我必须在开发人员计算机上进行哪些更改才能切换远程分支?还是他们需要再次克隆?

0 投票
2 回答
255 浏览

git - 将一个 Git 存储库拆分为多个 - 分支成为分支

我在 SVN 中有一个要迁移到 Git 的项目。该项目由一个“核心”产品(在主干下)组成,然后在同一个存储库中分支,并用作为我们推出产品的每个客户进行定制的起点。

在我看来,这些不是真正的分支,因为它们永远不会合并回主干,而且他们最好住在自己的存储库中,他们的历史将它们链接回“主干”存储库以及拉取的能力在需要时从主干进行更改(当然可以使用 git 轻松完成)。

让事情稍微复杂一点的是,一个客户拥有自己项目的一个分支,这是一个“真正的”分支,因为它将在某个时间点合并回该客户的主分支。

为了让事情更清楚,SVN结构如下:

  • “项目”存储库
    • 树干
    • 分支机构
      • Client1(从 Trunk v100 分支)
      • Client2(从 Trunk v150 分支)
      • Client2-Branch(从 Client2 v200 分支)
      • Client3(从 Trunk v150 分支)

我想达到的结构是

  • “项目”存储库

  • Client1 存储库(从 SHA123 分叉)

  • Client2 存储库(从 SHA456 分叉)

    • Client2-Branch(从 SHA456789 分支)
  • Client3 存储库(从 SHA789 分叉)

谁能推荐一个好方法来做到这一点 - 我不是 Git 新手,我知道过滤器分支,我只是不确定我应该采取什么方法来获得这个结构并尽可能多地保留历史。

谢谢

0 投票
4 回答
31754 浏览

git - git how to find commit hash where branch originated from

Pretend I branched from my master branch to a topic branch, and then I did a few commits on my topic branch. Is there a command that tells me the commit hash on the master branch that my topic branch originated from?

Ideally, I wouldn't have to know how many commits I've made ( trying to avoid HEAD^5 ).

I've googled and SO'd around and can't seem to land on the answer. Thanks!

0 投票
3 回答
48058 浏览

git - 如何同步同一 Git 存储库中的两个分支?

这是我经常遇到的一个常见的工作流程障碍:

master是我们的“稳定”分支

在分支上创建模块

在 master 或其他分支上工作

在接下来的几周内,更多的代码将直接提交给 master 并由其他分支提交。分支在foo这段时间内将保持不变。

在foo分支上恢复工作/进行更新

不好了!foo已经过时了!我明白为什么,但我确实需要foo重新同步。

问题

如何从master分支获取最新内容?

0 投票
2 回答
306 浏览

git - Git 分支工作流程困境

在 master 中,我创建了一个分支 A,因为我想添加一个新功能。完成该功能后,我承诺了到目前为止的所有内容。但后来我继续在分支上工作,现在意识到我所做的所有事情,因为该提交在新分支中更合乎逻辑,称之为 B,脱离 master。

现在,我显然可以将我的更改提交到 A,将其拉入 master,然后分支 master,将其称为 B,然后继续。但是,如果我真的想保持干净并且宁愿将我的最后一次提交从 A 拉到 master 中,然后创建一个分支 B,然后拉入我现在在 A 中未提交的更改,该怎么办?