gpt4 book ai didi

git - merge 分支而不丢失文件

转载 作者:行者123 更新时间:2023-12-05 01:17:55 25 4
gpt4 key购买 nike

我从 master 分支创建了一个功能分支,然后(做了一些工作并且)不得不删除这个分支上的许多文件。现在,我想将更改 merge 回 master,但不会丢失我在功能分支上删除的 master 上的文件。

简而言之,这是我所做的:

(master)> git checkout -b feature
# deleted many files
> git checkout master
> git merge ??? # how to merge back without losing files

换句话说,当文件存在于功能分支上时,而不是将其 merge 到主分支中。在feature分支上删除文件时,不 merge master上的删除操作,而是保留文件。

我该怎么做?

最佳答案

运行

git merge --no-commit feature

准备 merge 而不提交。

然后检查更改(git status)并运行:

git checkout master -- file1 file2 ...

其中 file1file2 等是您在分支上删除并希望在 merge 后保留的文件(它们被列为 deleted:git status 的输出中。)您也可以一次 checkout 一个文件,如果需要,甚至可以从另一个分支获取它们。

然后使用 git add . 暂存刚刚 checkout 的文件,当您对更改感到满意时,运行 git commit 以完成 merge 。

如果你犯了错误或者只是想中止 merge ,你可以运行 git merge --abort 并重新开始。

merge 操作正在进行,直到您使用 git commit 成功完成它或使用 git merge --abort 中止它。 merge 未完成时,某些操作不允许(或失败)。

关于git - merge 分支而不丢失文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com