Git 如何在本地将当前分支合并到主分支中,并忽略主分支中的更改,但存在冲突?
嗨,我正试图将我当前的分支合并到主分支,但它说我有合并冲突 我试了这么多答案,但没有一个能解决我的问题。gitlab给出的步骤似乎也不起作用 我试着重新定基调,退房什么的。我的头脑变得超然,很多事情我都不太明白。我想知道的是,如何按当前分支(名为Git 如何在本地将当前分支合并到主分支中,并忽略主分支中的更改,但存在冲突?,git,gitlab,Git,Gitlab,嗨,我正试图将我当前的分支合并到主分支,但它说我有合并冲突 我试了这么多答案,但没有一个能解决我的问题。gitlab给出的步骤似乎也不起作用 我试着重新定基调,退房什么的。我的头脑变得超然,很多事情我都不太明白。我想知道的是,如何按当前分支(名为test)合并到master中。我不在乎大师身上有什么。我只想将当前分支中的内容合并到master中。有人能帮我吗 完成后我应该遵循哪些步骤 git克隆测试链接请先检查git状态,查看您更改了哪些文件 使用git合并可以查看可能被覆盖的文件 然后使用 r
test
)合并到master中。我不在乎大师身上有什么。我只想将当前分支中的内容合并到master中。有人能帮我吗
完成后我应该遵循哪些步骤
git克隆测试链接
请先检查git状态,查看您更改了哪些文件
使用git合并可以查看可能被覆盖的文件
然后使用
rm文件名
然后
git合并
如果您真的不关心master
中的内容(例如,您或其他开发人员在master
中完成的其他工作将“丢失”,历史记录将被更改),则:
git签出主机
git reset--硬拷贝您的分支名称
这是干什么的
之前:
*B1与git合并
首先将master
合并到您的test
分支中
然后将test
合并到master
使用git rebase
在test
将test
合并到master
你说“我不在乎master中有什么,我只想合并当前分支中的内容”是什么意思merge
意味着您希望合并分支和主分支中的更改,git告诉您存在冲突。(例如,一行在一个分支中被删除,但同一行在另一个分支中被更改。)Git不知道两个更改中的哪一个应该发生。@Kache所以我有可能不合并而将test
覆盖到master
?当然master
和test
都只是“指向”特定代码状态的分支。有很多方法可以让master
指向与test
中相同的代码状态,从而为后代留下不同的git历史。这取决于你想留下什么样的历史。我在下面提出了一个直截了当的答案,它失去了历史,但也有一些替代方案保留了master过去的身份,甚至可能保留了解决冲突所做的工作。那么,我只需要推动吗?然后,你也可以推动远程回购进入相同的状态。因为您要更改主分支的“历史记录”,所以必须强制推送。@TabachiHarada这有用吗?如果有问题,我可以投票吗?
Before:
* B1 <- [your-branch-name]
| * C2 <- [master]
|/
* C1
After:
* B1 <- [your-branch-name][master]
| * C2 ("lost")
|/
* C1
git checkout test
git merge master
// fix the conflict code
git commit -am "merge with master"
git checkout master
git merge test
git checkout test
git rebase master
// fix the conflict code
git commit -am "merge with master"
git checkout master
git merge test