相关疑难解决方法(0)

为什么git默认执行快进合并?

来自mercurial,我使用分支来组织功能.当然,我也想在我的历史中看到这种工作流程.

我使用git开始了我的新项目并完成了我的第一个功能.合并该功能时,我意识到git使用快进,即如果可能,它会将我的更改直接应用到主分支并忘记我的分支.

因此,思考未来:我是唯一一个从事这个项目的人.如果我使用git的默认方法(快进合并),我的历史将导致一个巨大的主分支.没有人知道我为每个功能使用了一个单独的分支,因为最后我只有那个巨大的主分支.这看起来不专业吗?

通过这种推理,我不想要快进合并,也不知道为什么它是默认的.这有什么好处的?

git git-merge fast-forward git-branch

637
推荐指数
2
解决办法
15万
查看次数

为什么裸存储库有HEAD

我想知道HEAD裸存储库的目的是什么?它是否仅在克隆存储库时才使用,以了解在克隆存储库中要检出的分支?

请注意,这个问题不是关于what is HEAD,但考虑到它的功能,我想知道为什么在bare存储库中需要它.

git

18
推荐指数
1
解决办法
1063
查看次数

合并分支时使用pull和no-ff时快进

我的工作流程中有许多短命分支,我希望它们能够分开.所以,我打算用git config --add merge.ff false.但是,当我正在进行拉(我理解为fetch + merge)时 - 然后我想要一个快进行为,以避免不必要的额外提交.

这是一件好事吗?这可能吗?

git

14
推荐指数
1
解决办法
1万
查看次数

Github 解决冲突总是将基础分支合并到我当前的分支

我在 PHP Storm 的本地分支机构工作。任务完成后,我提交我的分支并推送到 git。

在 Github 页面上,我创建了一个 Pull 请求 DEV <- 我的分支。Dev 是基础分支,我将把我的分支合并到其中。

到目前为止这还可以。但如果某些文件存在冲突 - 根据本文https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving- github 上的合并冲突

就我而言,相同的文件已在其他分支中更新并之前合并到 DEV 中。现在在我的分支中有相同的文件和其他更改。

当我解决冲突(甚至可以是一行)时,我将其标记为已解决并提交合并。

现在,整个 DEV 基础分支被合并到我自己的分支中,这不太好。

因为我正在将我的分支合并到 DEV,而不是相反。如何才能避免这种情况呢?

我尝试重新创建相同的分支,但是一旦开发合并到这里,它就始终存在。每次冲突都会发生这种情况,这是无稽之谈 - 正如上述网络的第 8 点所说:

解决所有合并冲突后,单击提交合并。这会将整个基础分支合并到您的头分支中。

在此输入图像描述

merge github merge-conflict-resolution

10
推荐指数
1
解决办法
6635
查看次数

分组 git 分支

我接管了一个包含许多分支的大型 git 存储库,似乎没有人真正知道它们的全部内容。有没有办法将分支放在某种分组或文件夹中,以便它们仍然存在但不一定列出?使重要的分支更容易被发现。

编辑:我希望能够区分我使用的分支和对我来说没有意义但仍然无法删除的分支。

git git-branch

1
推荐指数
2
解决办法
2330
查看次数