问题标签 [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.
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 会记录合并的任何提交吗?(我在发生冲突时看到提交,但在自动合并中没有看到)
git - Git 合并错误
我有一个9-sign-in-out
用完美工作代码调用的 git 分支,我想把它变成主人。我目前在 master 分支上。
我正在尝试切换到9-sign-in-out
分支,但它不允许我:
知道如何忽略所有主分支错误并将9-sign-in-out
分支变成主分支吗?也许 git rebase?但我不想丢失9-sign-in-out
分支中的代码。
git - 当无法进行快进合并时,如何防止合并回退到正常的合并策略?
该git merge
命令有一个执行快进合并的选项,但这不是我想要的,因为如果它不能执行快进合并,它会使用普通合并。
是否有一个 git 命令只执行快进合并(从跟踪的远程分支)并且如果快进合并是不可能的则什么都不做?
git - 有人能解释一下这个有趣的 git 合并行为吗
我有两个分支,
在A..C
我添加了一个包含一堆文件的目录。在A..B
我添加了完全相同的目录和文件中,这git diff C..B
表明该目录中没有任何更改。在B..D
我对这些文件进行了更改。我想将这些更改合并到master
. 我尝试了两种不同的方法,一种干净利落,另一种非常糟糕:
上面的命令会产生大量冲突,实际上每个文件都有冲突。
以上工作完美,递归合并,完全没有冲突。
上述情况是如何以及为什么会发生的?git能不看历史就确定是早期分裂吗?或者这是否会过于繁重而无法用作合并策略?
git - 如何查看合并到合并提交中的提交?
如果my-feature-branch
被合并到my-main-branch
,我如何查看从哪些提交中合并my-feature-branch
?
git - GIT Pull 删除了我的提交
在 git pull 之后,我已经完成了 git reset 以在合并之前撤消与提交 id 的合并。不知何故,我的整个提交都消失了,我也看不到历史中的提交。但是我有提交 id,在 git show 命令上我可以看到我的更改。
我如何取回我的更改以及如何跟踪我所做的错误
git - 在无法推送和拉取提交的情况下保持存储库同步
截至目前,我无法使用 git 服务器,所以我使用了我最喜欢的 git 功能之一,它将我计算机中的任何目录变成了 git repo(就是这样git init
)。
我曾经这样做,因为我是唯一的编码人员,我可以跟踪自己的东西。现在情况发生了一些变化,我正在与一个小团队合作。然而,其他一些事情并没有改变,我仍然无法拥有 git 服务器,因此本地存储库仍然是唯一的选择。
最直接的过程是将代码分发给其他人,就像压缩我的 repo 并发送它一样。完成后,他们将其发回给我,我替换原始存储库。工作得很好,因为由于项目的组织方式,我们几乎从来没有两个人在同一个仓库中工作。
现在,我希望我能做一些更一致的事情......比如,将他们发送给我的任何内容合并到我的本地仓库中。这个例子将允许我最终让两个人在同一个 repo(或者它的子集)中工作。
我一直在阅读有关 git 补丁脚本的信息。但老实说,我对这个解决方案不太满意。首先,因为在我最初的实验中它并没有立即起作用(是的,我知道只是更好地理解它,但仍然不如 git 的其余部分那么直观),其次因为我的 repos 还将包含我的二进制文件也需要控制..不确定补丁是否可以处理:/
你们建议用哪个程序来组织这个?有没有一个命令可以让我按照我描述的方式合并到 repos?
谢谢!
F。
git - 如何避免 git rebase 杀死合并提交?
鉴于以下git
历史:
我想 rebase 我的本地master
分支origin/master
,但我想保留合并提交G
。当我尝试简单地做一段git rebase origin/master
时间时,master
它被压缩D..E
为G
并使用 的提交消息提交E
,因此合并的历史记录丢失了。是否有某种方法可以在保留此合并的同时仍获得变基?为了清楚起见,我的预期结果是:
vim - 使用 vimdiff 替换整个文件?
我正在使用 vimdiff 进行 git 合并。有没有一种快速的方法来选择要使用的 1 个文件,现在我只是从一个缓冲区中选择所有内容,用它替换 $MERGE,然后保存。我想我可以宏化,但想知道是否有更好的方法。谢谢!
git - git stash pop:避免 stash drop 和 un-staging 步骤
有时在运行时git stash pop
会出现需要解决的合并冲突。当我必须在切换分支之前/之后存储/弹出时,这种情况经常发生。
处理这些冲突是没有问题的,但这有两个烦人的副作用:
来自 stash 的所有更改现在都已暂存且必须取消暂存
stash@{0}
没有被丢弃,必须手动丢弃
寻找有关如何使此过程更顺畅的建议。