我对 Git 比较陌生,我仍然不太习惯它。现在,我正在寻找可以使当前分支看起来像另一个分支的命令/选项/魔法;即合并它们,但是当发生冲突时,总是选择正在合并到当前分支中的差异。
我的情况是这样的;我在“主”分支上有一个稳定的(ish)应用程序。我还有另一个分支,称为“功能”。我基本上想对功能进行更改/添加/删除,直到我喜欢我正在开发的新功能。一旦我觉得它准备好了,我想让主分支看起来与功能分支相同。
我知道这可能不是最佳实践,但正如我所说,我是 Git 的新手。我计划在未来学习如何做更复杂的事情,但现在,这就是我所需要的。
谢谢,所以!
基本上,我只想(重新)设置A特定提交(commit)的父级(比方说提交B),这是某个分支的根提交x。在其中一个答案中建议我可以通过移植来做到这一点。稍后我会尝试一下,也许这是更好的方法。
然而,在阅读本文之前,我认为这应该可以通过rebase. 但是因为父提交A有点不同B,我只想保持整个分支的x原样,只需将父提交设置为其根提交B,我想我可能会使用该theirs策略 - 这似乎不存在。我早些时候偶然发现了这一点(并认为这是一个错误或在我的 Git 安装中),并且总是通过切换分支和使用策略来解决ours。然而,在这种情况下rebase,我被迫使用该theirs策略。
我的命令如下所示:
git rebase -s theirs --onto A --root x x--rebased
Run Code Online (Sandbox Code Playgroud) 晚上好!
我知道这很常见,互联网上可能有成千上万的答案,但我找不到一个很好的答案.
我有两个本地分支机构:
- 主
- MK
我对Mk进行了很多更改,提交了这些更改,并切换到MASTER以合并这两个分支.但是有冲突.所以现在我在MASTER分支上,不能再切换到Mk了,但需要用Mk覆盖我的MASTER.
它一直在说
错误:合并将覆盖对以下文件的本地更改
有没有办法做到这一点?
git mergetool --tool=meld #No files need merging
git merge -s theirs Mk #Could not find merge strategy 'theirs'.
git merge -X recursive=theirs Mk # error: Your local changes to the following files
Run Code Online (Sandbox Code Playgroud)
将被合并覆盖
我还没有将我的更改推送到我的在线存储库.
我可以看到提交所有更改但无法访问其代码.
刚刚开始使用git,但从未像以前那样遇到麻烦.我真的很感激我能得到的任何帮助:s
我知道拉上会有冲突,但我已经知道存储库版本更好了.如何使用git命令解决命令行上的所有冲突
类似的 $> git resolve conflict with theirs东西
我的任务是组织存储库,除了其他分支之外还有一个专用分支,我们只存储已发布版本的提交.以下是我想要实现的简化方案:
| trunk | | releases |
|----------+-----------+----------|
| commit 1 | | |
| commit 2 | v0.1 ---> | tag 1 |
| commit 3 | | |
| commit 4 | | |
| commit 5 | | |
| commit 6 | v0.2 ---> | tag 2 |
| commit 7 | | |
| commit 8 | | |
| commit 9 | | |
Run Code Online (Sandbox Code Playgroud)
这对我来说有点太先进,所以我很感激如何做到这一点!我不确定如何能够在"版本"分支中拥有第二个标记,而不必导入所有中间提交.这有可能吗?
此外,如果您有更好的方案来实现相同的目标(目标是仅为发布版本设置专用分支),请不要犹豫,建议!
我的存储库有一个master和dev分支。
在这个时候,我希望合并dev与master,或更好,而不是合并,而是彻底更换内容的的master与分支dev。
有可能吗,你将如何使用 git 命令来做到这一点?