我刚刚针对主人重新设立了一个分支,然后提交并推送了最终结果。
这似乎有效。 Git状态显示
无需提交,工作目录清理
但是,当我检查远程存储库时,更改的文件没有到达。这是令人困惑和有点可怕,因为我的本地客户说一切都很花哨(所有文件都安全地远程存储),当它真的不是。
有关以下方面的任何建议:
答案 0 :(得分:0)
如何确保客户端正确指示同步状态?
在推送之前,您可以通过以下方式检测推送是否是快进:
git rev-list origin/yourBranch ^yourBranch
如果返回任何提交,则意味着yourBranch历史记录将替换来自origin的那个,您必须强制推动它才能实现。
请点击“How to detect a forced update”了解更多信息。
答案 1 :(得分:0)
对于第一个问题,答案是否定的,但是当局部git认为什么都没有时,不应该发生这种情况。 Git保持远程跟踪分支以跟踪远程分支的状态。您可以使用“git branch -a”来查找它。
git branch -a
对于rebase之后的推送,你最好添加选项“--force-with-lease”。因为它可能不是rebase之后的快速合并。并且“git push”将在没有“--force *”选项的情况下以非快速合并方式失败。使用“--force-with-lease”,只有当您执行“rebase”时代码不再是最新的时,推送才会失败。它确保你不会覆盖其他人的新提交。
git push origin yourBranch --force-with-lease
对于第二个问题,您可以使用“git log”检查您的分支和远程跟踪分支之间是否有提交,例如:
git log --graph --pretty=oneline origin/yourBranch..yourBranch