供参考:
After push, git says everything up to date but changes are not in the repo
Remote repo says it is up-to-date, but lacks hundreds of local commits
git repo says it's up-to-date after pull but files are not updated
我的情况有些不同。我没有被告知一切都是最新的。每次按入时,都会按预期收到$OLD_HASH..$NEW_HASH branch -> branch
消息,当我查看我所在的分支以及远程/分支的日志时,都显示这两个消息是最新的
但是,当我尝试拉动笔记本电脑时,它会显示“已经更新”,因此我再次按下以获取与以前相同的消息,表示正在推动提交。也就是说,它再次推送了相同的提交。
请确保我克隆了存储库,并确保没有足够的推送提交(只是一个)。
我检查URL,只是为了确保在我不知情的情况下没有发生任何奇怪的事情。然后,我跳上互联网,尝试找出其他人做了什么。
常见的解决方案是响应于推送并被告知“一切都是最新的”。解决该问题的方法是添加所有内容,提交并推送。但是,对我而言,情况并非如此,因为我有一个提交,所以它被(重复地)推送了,在本地它被显示为已推送。
建议的另一件事是git push remote branch:branch
,我确实尝试过,但没有任何效果。
我接下来要尝试的是获取。提取本地存储库的日志后,显示远程分支的HEAD确实在后面提交了,但是当我然后推入(没有真正的效果)时,它显示已移动,但实际上,通过拉至克隆。
遥控器似乎很好。我较早时从笔记本电脑上推入并拉到台式机上。
最后我尝试了
cp file temp
fit fetch --all
git reset --hard remote/branch
mv temp file
git add file
git commit -m"message"
git push
其中file
是我一直在处理的文件。但是,这没有比以前尝试过的更好(换句话说,根本没有)。另外,请注意,我认为git reset --hard
不会影响遥控器。相反,我知道它仅影响本地存储库。
我只是没有尝试过在同一台服务器上推送到另一个仓库,所以它工作正常。它只是一个仓库,几个小时前就可以正常工作了。
此外,在平板电脑上查看远程设备自己的客户端(与我一直在使用的CLI git相对)显示,即使未显示提交,我也已在几分钟前推送到远程设备。
我被要求分享git status
$ git status
在分支开发中
您的分行使用'origin / devel'进行了更新。
没什么要提交的,正在工作的树干净
我刚刚尝试的另一件事是先git checkout -b test
,然后git push -u remote test
,但是尽管git表示分支确实没有被推送。
我刚刚尝试制作一个新的远程仓库。我从本地存储库中删除了远程,添加了新的远程,然后用git push -u
进行了推送。结果相同。一次提交由于某种原因没有进入远程控制。
关于完整的(尽管是模糊的)推送输出:
$ git push
初始化密钥库...完成。
与Keybase同步...完成。
到keybase:// private / my / repo
hashA..hashB分支->分支
正如我所说,没有错误,但这并不是说这很正常。对于另一个回购:
$ git push
初始化密钥库...完成。
与Keybase同步...完成。
计数和解密:完成4个对象。
正在准备和加密:(100.00%)4/4个对象...已完成。
索引哈希:(100.00%)4/4个对象...已完成。
索引CRC:(100.00%)4/4个对象...已完成。
索引偏移量:(100.00%)4/4个对象...已完成。
将加密的数据同步到Keybase:(100.00%)200.65 / 200.65 KB ...已完成。
到keybase:// private / my / otherRepo
hashC..hashD otherBranch-> otherBranch
我又看了一下git日志,似乎好像有一些奇怪的分歧正在发生。我一直尝试推送的提交存在于具有三个不同提交哈希值(非正常)的多个分支(正常)中。我将进一步研究。我不太确定发生了什么,所以我无法提供准确的报告,但这是新信息。
事实上,既然我在看历史,而不仅仅是技巧,那真的很奇怪。我的本地存储库被弄乱了。我知道它们的状态不是特别好(我重新定位到根本原因,以解决缺少的过滤器问题,该问题将所有内容分离为没有共同假设的离散分支),但是我不认为这是原因。>
仍然,如果我强制按下,我希望无论发生什么事情都可以提交。