Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git没有更新主分支-有什么线索可以解释为什么或者如何解决它吗?_Git - Fatal编程技术网

git没有更新主分支-有什么线索可以解释为什么或者如何解决它吗?

git没有更新主分支-有什么线索可以解释为什么或者如何解决它吗?,git,Git,如果我这样做 git推送 我明白了 一切都是最新的 如果我去 git checkout master 我明白了 已经是最新的了 如果我远程ssh到我的服务器并执行以下操作: git pull 我得到: 在分支主机上 没有要提交的内容(工作目录清理) 然而,事实是,与远程文件相比,本地文件的版本确实不同 如何解决这个问题,以便将本地文件放入主远程分支?本地可能有一个未提交的文件。在本地工作目录中,尝试: git status 我已经完成了git pull hub master,它“捕获了未

如果我这样做

git推送

我明白了

一切都是最新的

如果我去

git checkout master
我明白了

已经是最新的了

如果我远程ssh到我的服务器并执行以下操作:

git pull
我得到:

在分支主机上
没有要提交的内容(工作目录清理)


然而,事实是,与远程文件相比,本地文件的版本确实不同


如何解决这个问题,以便将本地文件放入主远程分支?

本地可能有一个未提交的文件。在本地工作目录中,尝试:

 git status
我已经完成了git pull hub master,它“捕获了未更新的文件”,这意味着什么


这意味着您在本地计算机上正确地执行了所有操作。您正确提交了更改,并且正确推送了更改。不起作用的地方是更改从中心(裸)存储库转移到另一个(非裸)存储库和工作目录。您说过钩子对此负责,所以这似乎不起作用。

您在主分支上时是否对文件进行了更改?
git status
在本地为您提供了什么?你确定文件被跟踪了吗?“然而,事实是,与远程文件相比,本地文件的版本确实不同。”你怎么知道这一点?你展示的所有证据都表明情况并非如此。该文件已被跟踪。一个开发伙伴从master那里得到了正确的更新文件。但是,如果我直接检查远程地址上的文件(是PDF),我可以看到它不一样!!您正在检查的远程地址是什么?大多数“中心”git存储库是空的,没有工作树。您的“中心”存储库中是否有需要执行的部署过程?如果另一个开发人员成功地从master中提取,则表明您已成功签入并推送了您的更改。当您说“我们推送master”时,您将从何处推送master?谁更新了你推送到的任何非裸存储库的工作树/签出分支?请查看我的最后一个问题评论。出于某种奇怪的原因,我没有得到,在那之后,我们更改了另一个文件,我做了同样的事情,我们更新了所有内容。我记得在做这一切之前,我确实做了一个git重设和一个git清理,那个文件就在那个里,所以,也许它有某种关联。无论如何使用git进行部署在您不掌握git的情况下确实是一条很难跨越的线…顺便说一句。使用
git fetch hub&&git reset--hard hub/master
而不是pull可能是个好主意,因此它实际上总是使用hub的master分支上的任何东西来防止任何合并冲突。您是否建议我们在钩子配置上,我们没有使用
git pull hub master
而是将其更改为
git fecht hub&&git reset--hard hub/master
?是的,我认为这样可以更安全地防止由于存储库中的本地更改而可能发生的冲突(如果您强制推送某些内容,它也会起作用)。我应该完全按照您对hub/master的建议编写命令,还是应该在那里使用hub或master?
git add -A
git commit -m "commit message"
git push