远端仓库上 master 下的 test.txt 文件是这样:
本地 master 下的 test.txt 文件是这样的:
执行了下面这些代码:
问题是为什么本地的文件没有任何变化呢?
1
zwzwzwzwzxt 210 天前
你链接了多个远程仓库吗?本地切到 master 分支检查下 master 的上游是这个 origin2 吗:
``` git rev-parse --abbrev-ref --symbolic-full-name @{u} ``` ---- 如果用 reset ,可以得到正确的结果吗? ``` git reset --hard origin2/master ``` |
2
kylebing 210 天前
https://git-scm.com/book/zh/v2 看完就有答案了
|
3
kk2syc 210 天前
得 pull 吧
|
4
geelaw 210 天前 via iPhone
告知我们文件内容对 merge 的行为分析是次要的——merge 首先考量的是历史关系,在历史关系的基础上才考虑内容变化。我们需要知道每个 ref 的 commit hash 以及这些 commit 之间的图关系才能告诉你为什么看起来 merge 什么事情都没发生。
运用 psychic debugging 的技巧,最简单的解释是本地的 master 是 origin2/master 基础上新做了几次 commit 的结果,而在 descendant 上 git merge ancestor 的效果是没有任何效果。 |
5
ysc3839 210 天前
fetch 不是 checkout ,只会更新 .git 下的元数据。
|
7
fpk5 210 天前
你这个 master 是不是就是在 origin2/master 的基础上改的?
|
8
IamBack 209 天前
可以把节点关系图贴出来,这样大家好帮你判断原因。
|
9
daj2 209 天前
合并分支的逻辑是基于提交历史的,你更应该去查看两个分支的历史差异,如果本地分支的变动是基于远端分支之后提交的,自然不会产生变动
|
10
Honye 209 天前
觉得 7 楼正解。贴下 Commit Graph 就清楚了
|
11
3a10IgjVYjvsH93b 209 天前
本地的代码是基于远程仓库的代码变更的,pull 不该有变化😶🌫️😶🌫️
要是另一个 developer push 一些内容,就有变化或冲突了。 |