我从master分支创建了一个功能分支,然后(做了一些工作并且)不得不删除这个分支上的许多文件。现在,我想将更改合并回master,但不会丢失master我在功能分支上删除的文件。
简而言之,这是我所做的:
(master)> git checkout -b feature
# deleted many files
> git checkout master
> git merge ??? # how to merge back without losing files
Run Code Online (Sandbox Code Playgroud)
换句话说,当文件存在于功能分支上时,将其合并到 master 中。在 feature 分支上删除文件时,不要合并 master 上的删除操作,而是保留文件。
我怎样才能做到这一点?
跑
git merge --no-commit feature
Run Code Online (Sandbox Code Playgroud)
在不提交的情况下准备合并。
然后检查更改 ( git status) 并运行:
git checkout master -- file1 file2 ...
Run Code Online (Sandbox Code Playgroud)
在那里file1,file2等你的分支删除的文件,并希望保持合并后(他们被列为deleted:在输出git status。)可以,还有,签一个文件在同一时间,甚至从你另一支让他们需要。
然后使用git add .暂存您刚刚签出的文件,当您对更改感到满意时,运行git commit以完成合并。
如果您犯了错误或只想中止合并,您可以运行git merge --abort并重新开始。
在merge操作过程中,直到您成功完成其使用git commit,或者你放弃它使用git merge --abort。合并未完成时,某些操作不允许(或失败)。
| 归档时间: |
|
| 查看次数: |
2121 次 |
| 最近记录: |