当我签出主分支时,它实际上并没有在git中签出
我今天遇到了这样一种情况,在从上游分支机构撤资并重新调整后,最近对上游分支机构的承诺表现得好像没有生效 症状以我记忆中最好的顺序出现:当我签出主分支时,它实际上并没有在git中签出,git,smartgit,Git,Smartgit,我今天遇到了这样一种情况,在从上游分支机构撤资并重新调整后,最近对上游分支机构的承诺表现得好像没有生效 症状以我记忆中最好的顺序出现: 在本地分支中编写代码时,Visual Studio解决方案文件一直显示为在没有我干预的情况下被修改——它的新内容在最近的提交中只撤销了一个文件(但没有撤销其他3.cs和.prj文件)。看起来好像VisualStudio正在这么做,但我不确定。(也就是说,git status显示了一个新修改的.sln文件,但我的更改不应该影响项目) 我无法生成解决方案,因为此文件
git status
显示了一个新修改的.sln文件,但我的更改不应该影响项目)git checkout master
中发出后的结果。但是看看连接提交节点的蓝线:它表明我确实签出了历史上的第11次向后提交
如果我发出git checkout master^
,那么它会正确地签出第二次提交,并相应地调整蓝线
如果我签出SHA最近的提交,git checkout a07df46
,那么蓝线一直延伸到最上面的提交git show ref
时,它指示refs/heads/master
指向来自上游的最近提交的SHA——正如预期的那样如何在不重新克隆整个存储库的情况下从这种奇怪的状态恢复?是否确实正确配置了源存储库的远程跟踪?(胡乱猜测)当我拉动时,我会执行
git拉动--重新设置上游主机的基址
,因为我拉动的遥控器名为上游
。由于我在命令中指定了remote,所以远程跟踪分支设置为什么并不重要。我已经这样做了三个月了,直到昨天才有问题。此外,有时我会执行git-pull-f上游主节点
,然后在每个分支中执行git-rebase主节点
。这也不应该关心远程跟踪的设置,除非我遗漏了什么。
git checkout HEAD^
git branch -f master master^
git branch -f master a07df46
git checkout master