问题标签 [git-merge]

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 投票
3 回答
145 浏览

git-branch - 在 GIT 的特定分支中查找所有提交

这可能是一个重复的问题,但我没有找到确切的答案。

假设我有 2 个分支 br1 和 br2,每个分支 3 个提交。

br1

  • 提交一个
  • 提交 b
  • 提交 c

br2

  • 提交
  • 提交
  • 提交 f

当我从 br2 合并到 br1 时,git log on br1 show 提交 a、b、c、d、e、f。

假设我有 2 个分支 br1 和 br2,每个分支 3 个提交。

与 br2 合并后的 br1

  • 提交一个
  • 提交 b
  • 提交 c
  • 提交
  • 提交
  • 提交 f

有没有办法过滤仅在 br1 上创建的提交?(我试过 git log br1..br2 但还有其他方法吗?)

如果合并是 Fast-forward 或 Automerge,GIT 会记录合并的任何提交吗?(我在发生冲突时看到提交,但在自动合并中没有看到)

0 投票
6 回答
453725 浏览

git - Git 合并错误

我有一个9-sign-in-out用完美工作代码调用的 git 分支,我想把它变成主人。我目前在 master 分支上。

我正在尝试切换到9-sign-in-out分支,但它不允许我:

知道如何忽略所有主分支错误并将9-sign-in-out分支变成主分支吗?也许 git rebase?但我不想丢失9-sign-in-out分支中的代码。

0 投票
1 回答
111 浏览

git - 当无法进行快进合并时,如何防止合并回退到正常的合并策略?

git merge命令有一个执行快进合并的选项,但这不是我想要的,因为如果它不能执行快进合并,它会使用普通合并。

是否有一个 git 命令执行快进合并(从跟踪的远程分支)并且如果快进合并是不可能的则什么都不做?

0 投票
1 回答
361 浏览

git - 有人能解释一下这个有趣的 git 合并行为吗

我有两个分支,

A..C我添加了一个包含一堆文件的目录。在A..B我添加了完全相同的目录和文件中,这git diff C..B表明该目录中没有任何更改。在B..D我对这些文件进行了更改。我想将这些更改合并到master. 我尝试了两种不同的方法,一种干净利落,另一种非常糟糕:

上面的命令会产生大量冲突,实际上每个文件都有冲突。

以上工作完美,递归合并,完全没有冲突。

上述情况是如何以及为什么会发生的?git能不看历史就确定是早期分裂吗?或者这是否会过于繁重而无法用作合并策略?

0 投票
3 回答
28110 浏览

git - 如何查看合并到合并提交中的提交?

如果my-feature-branch被合并到my-main-branch,我如何查看从哪些提交中合并my-feature-branch

0 投票
1 回答
1633 浏览

git - GIT Pull 删除了我的提交

在 git pull 之后,我已经完成了 git reset 以在合并之前撤消与提交 id 的合并。不知何故,我的整个提交都消失了,我也看不到历史中的提交。但是我有提交 id,在 git show 命令上我可以看到我的更改。

我如何取回我的更改以及如何跟踪我所做的错误

0 投票
3 回答
132 浏览

git - 在无法推送和拉取提交的情况下保持存储库同步

截至目前,我无法使用 git 服务器,所以我使用了我最喜欢的 git 功能之一,它将我计算机中的任何目录变成了 git repo(就是这样git init)。

我曾经这样做,因为我是唯一的编码人员,我可以跟踪自己的东西。现在情况发生了一些变化,我正在与一个小团队合作。然而,其他一些事情并没有改变,我仍然无法拥有 git 服务器,因此本地存储库仍然是唯一的选择。

最直接的过程是将代码分发给其他人,就像压缩我的 repo 并发送它一样。完成后,他们将其发回给我,我替换原始存储库。工作得很好,因为由于项目的组织方式,我们几乎从来没有两个人在同一个仓库中工作。

现在,我希望我能做一些更一致的事情......比如,将他们发送给我的任何内容合并到我的本地仓库中。这个例子将允许我最终让两个人在同一个 repo(或者它的子集)中工作。

我一直在阅读有关 git 补丁脚本的信息。但老实说,我对这个解决方案不太满意。首先,因为在我最初的实验中它并没有立即起作用(是的,我知道只是更好地理解它,但仍然不如 git 的其余部分那么直观),其次因为我的 repos 还将包含我的二进制文件也需要控制..不确定补丁是否可以处理:/

你们建议用哪个程序来组织这个?有没有一个命令可以让我按照我描述的方式合并到 repos?

谢谢!

F。

0 投票
2 回答
8370 浏览

git - 如何避免 git rebase 杀死合并提交?

鉴于以下git历史:

我想 rebase 我的本地master分支origin/master,但我想保留合并提交G。当我尝试简单地做一段git rebase origin/master时间时,master它被压缩D..EG并使用 的提交消息提交E,因此合并的历史记录丢失了。是否有某种方法可以在保留此合并的同时仍获得变基?为了清楚起见,我的预期结果是:

0 投票
4 回答
11461 浏览

vim - 使用 vimdiff 替换整个文件?

我正在使用 vimdiff 进行 git 合并。有没有一种快速的方法来选择要使用的 1 个文件,现在我只是从一个缓冲区中选择所有内容,用它替换 $MERGE,然后保存。我想我可以宏化,但想知道是否有更好的方法。谢谢!

0 投票
2 回答
1141 浏览

git - git stash pop:避免 stash drop 和 un-staging 步骤

有时在运行时git stash pop会出现需要解决的合并冲突。当我必须在切换分支之前/之后存储/弹出时,这种情况经常发生。

处理这些冲突是没有问题的,但这有两个烦人的副作用:

  1. 来自 stash 的所有更改现在都已暂存且必须取消暂存

  2. stash@{0}没有被丢弃,必须手动丢弃

寻找有关如何使此过程更顺畅的建议。