如何解决是否可以在不合并到分支的情况下在Git中进行合并?
| 今天我正在使用Git,但发生了一些我不知道如何处理的事情。 我在分支development
上,做了git fetch
得到了新的origin/master
。我想将origin/master
合并为master
,最后将更新的master
签出。通常,我会这样做:
git checkout master
git pull
但是有一个问题;当前已签出的分支development
具有.gitignore
,其中包含许多旧master
没有的文件。旧的master
具有这些文件的版本控制。因此,Git不允许我结帐master
,因为这时这些文件将被覆盖。
我不知道该怎么办,所以我只不过退了2英镑。
如果有一种方法可以将origin/master
合并为master
而无需检查master
,那么我认为这可以救我。 (并且这是一个快速合并,因此不能选择“合并失败”。)
我该怎么办?
解决方法
完全合并需要工作树来解决冲突。
如果您知道合并是快进的,则可以使用
git update-ref
例:
git update-ref -m \"Fast-forward merge\" refs/heads/master refs/remotes/origin/master
不要只执行git update-ref master
,因为它将在.git/
中创建\“ master \”而不是.git/refs/heads/
(refs/remotes/origin/master
可以缩写为origin/master
)
,在这种情况下,我通常会从工作树中删除所有新忽略的文件,因此ѭ23不会再覆盖它们。 git clean
可以帮助您。您也可以通过其他方式查看checkout
的-f
或-m
选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。