Git 文件未使用';吉特拉力';

Git 文件未使用';吉特拉力';,git,git-pull,Git,Git Pull,我使用Git与其他用户合作,但今天我无法使用“Git pull”获取某些文件的最新更改,也无法在“Git log”中看到更改 可能是什么问题?检查您当前的分支机构 git status git branch 如果您不在分支中,那么您在一个分支中,git pull不会合并任何内容 git log --all --branches 这个git日志将有助于确保您查看在获取的分支(即服务器)上是否有任何新的提交。 我使用它将这些提交显示为一个图形。您可以有一个未完成的合并,以防止拉取。检查您是否正在

我使用Git与其他用户合作,但今天我无法使用“
Git pull
”获取某些文件的最新更改,也无法在“
Git log
”中看到更改


可能是什么问题?

检查您当前的分支机构

git status
git branch
如果您不在分支中,那么您在一个分支中,
git pull
不会合并任何内容

git log --all --branches
这个
git日志将有助于确保您查看在获取的分支(即服务器)上是否有任何新的提交。

我使用它将这些提交显示为一个图形。

您可以有一个未完成的合并,以防止拉取。检查您是否正在进行提交。

我只是想添加另一个可能发生这种情况的案例。我使用的是稀疏结帐。出于某种原因,我在我的工作树中有一个目录,我认为它包含在稀疏签出中(我认为它列在
.git/info/sparse checkout
中),但没有(出于某种原因,我已经从
.git/info/sparse checkout
中删除了它)所以它只是被
pull
checkout
reset
或任何其他命令忽略了。在我开始在一个新的、新的克隆中复制稀疏签出配置并意识到错误之前,这是非常混乱的


只有在使用稀疏签出时,才会发生这种情况。如果您不使用稀疏签出,则不会发生这种情况。(检查git config以查看是否启用了sparseCheckout,并检查是否存在.git/info/sparse checkout,但您会知道是否正在执行此操作,因为我认为它必须由用户手动设置。)(如果你想知道它是什么的话,用谷歌搜索它——这只是一种简单的机制,可以从签出中省略文件和目录,否则这些文件会被跟踪/拉/取等)

在我的
.git
文件夹中有一个
索引.lock
文件。我删除了它,拉操作成功了。

对我有效的是

  • 删除
    .git
    文件夹
  • 从其他回购中复制
    .git
  • 现在
    git签出
  • 在删除之前,您可以尝试

    git fetch --all 
    git reset --hard origin/master
    
    祝我一切顺利

    git reset --hard origin/master
    
    它告诉我,一些文件名太长,git无法从我的repo中提取它们,因此产生了不匹配和不正确的构建

    因此,我运行以下修复,并再次进行了硬重置

    git config --system core.longpaths true
    

    谢天谢地,它成功了。

    有两种可能的情况:
    1.如果您在Bitbucket、gitlab等中有任何帐户,
    您可能必须首先与您的fork目录同步,然后在本地分支上执行git pull。基本上,您必须重新设置fork副本的基础以与remote master同步,并在本地副本中执行git pull。
    2.只需重新设置本地工作副本的基础,使其与远程主机同步。

    git reset--硬源/主机


    对我有效,但你必须进入文件夹,然后不仅在父文件夹上使用此命令。

    希望我的评论对某些人有用(我遇到过这种问题。我在ubuntu上使用laravel,所以我通过重置opcache并重新启动队列工作程序来解决这个问题。

    对我来说,这是我在本地进行的提交。 这些提交修改了我想拉的东西。
    所以git pull无法从源站获取文件

    你确定他们正确地推送了他们的工作吗?似乎没有任何东西可以获取更新。您确定其他用户已正确提交文件,并且文件位于同一存储库中吗?在这个方向上,没有日志会给出疑问。你确定你的次坐标已经推到了你试图拉的分支吗?我有同样的问题(我是唯一一个处理这个问题的人)。它快把我逼疯了!在过去的几天里,我一直在进行手动合并,因为拉操作根本没有发生。但是手动合并会导致各种各样的警告,这让整个团队都感到害怕。您的错误消息是什么,或者git pull命令的输出是什么?如何检查是否有提交正在进行?出于某种原因,git没有提到这一点!好主意。覆盖边缘案例。最后两个步骤(获取和重置)对我有效。顺便说一句,“copy.git from other repo”不应该起作用,因为每个.git都包含它所属的repo的特定信息。最后一个命令“git reset--hard origin/master”对我起作用。它对我起作用了最后两个命令git fetch--all git reset--hard origin/master:)这不会有什么后果吗?