这个文件在另一个分支中有所不同,但是当我尝试合并那个分支时,Git告诉我“已经是最新的”:
$ git diff --stat integration MyApp/src/main/webapp/WEB-INF/jsp/flow/appInfo.jsp
.../webapp/WEB-INF/jsp/flow/appInfo.jsp | 54 ++++------------------
1 file changed, 10 insertions(+), 44 deletions(-)
$ git merge integration
Already up-to-date.
我不确定这是怎么可能的 - 有人能解释一下这种情况会怎样吗?
答案 0 :(得分:1)
当你要求git合并时,它会根据分支之间的历史形状决定做什么。由于git报告它已经是最新的,integration
必须是HEAD
的祖先。您可以通过查看以下内容的输出来研究它是如何产生的:
git log --oneline --graph --decorate integration HEAD
如果您想使用integration
分支中的替换该文件的本地版本,则可以执行单个文件结帐:
git checkout integration -- MyApp/src/main/webapp/WEB-INF/jsp/flow/appInfo.jsp
或者,您可以执行补丁检查以单独查看每个差异块并决定是否应用它:
git checkout -p integration -- MyApp/src/main/webapp/WEB-INF/jsp/flow/appInfo.jsp