【问题标题】:`git push` -- No output, nothing happens`git push` -- 没有输出,什么也没有发生
【发布时间】:2012-09-14 18:44:59
【问题描述】:
touch test
git add test
git commit -m "test"
git push -u origin master

这行得通。该文件已上传到存储库。

rm test
cp -R ../website ./website
git rm test
git add website/
git commit -m "Initial"
git push -u origin master

这没有给出任何输出,并且似乎没有对存储库进行任何操作。测试文件仍然存在于存储库中。

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

有人可以帮忙吗?


在客户端和服务器上重新创建了分支,但没有成功。当里面只有一个文件时它可以工作,但它根本不会将网站文件夹推送到服务器。

这是我能看到的唯一奇怪的东西; POST git-receive-pack (chunked)

【问题讨论】:

  • 您确定需要-u 进行推送吗?你的遥控器是什么? git branch -v 打印什么?它们是您在线观看的位置吗?
  • "你的分支比 'origin/master' 领先 1 个提交。"强烈表明第二次推动没有奏效。尝试将--verbose 选项添加到git push 以调试问题。
  • @rlegendi 我不知道我是否需要它。 #git IRC 频道上有人告诉我这样做。无论如何,如果没有-u,同样的事情也会发生。也就是说;什么都没有发生。
  • @rlegendi $ git branch -v --> * master 55cfce5 [ahead 1] Initial
  • @user4815162342 paste.ubuntu.com/1221378

标签: git bitbucket git-push


【解决方案1】:

看起来这与 BitBucket 有关。这里的另一个问题也有同样的问题:Hanging at "POST git-receive-pack (chunked)"

解决方案是使用 Git+SSH 而不是 HTTP。它似乎只影响文件超过几兆字节的存储库。

【讨论】:

  • 当使用 SSH 时,它实际上向我展示了一些进步,并且需要很长时间,所以看起来这可能是解决方案。不过很奇怪,而且我必须使用 SSH 密钥有点烦人(在我看来,它们比安全措施更令人烦恼)。
  • 太棒了!我认为 SSH 在 HTTP 不起作用时可以工作,因为您不必通过网络服务器或代理来连接到 git 服务器。虽然老实说,我不确定。
  • 请参阅此以获取说明(不仅仅是查看已接受的答案):stackoverflow.com/questions/7053608/…
【解决方案2】:

对我来说,这看起来不像是 git 错误。如果您使用的正是您所显示的命令,../website 目录的内容将不会被复制到./website 目录。尝试使用cp -R ../website ./website 复制所有内容。

另外,在复制后尝试执行git status 以查看更改是否反映。尝试通过 git add . 将存储库目录中的所有内容添加到 git repo

让我知道这个操作的结果。另外,如果您能用您的目录结构更新问题,我将不胜感激。

【讨论】:

  • 不,错误的cp 命令是我的问题中的错字。 shelr.tv/records/506dac239660807dc7000028 记住命令后的目录树。
  • 这些可能是您的 HTTPS 凭据。您是否使用 git+ssh 协议而不是 https 进行了尝试。
  • 另外,删除auth~ 目录。你不需要它。
  • 这只是我的文本编辑器在保存auth 文件时所做的自动备份。
【解决方案3】:

只需尝试git push,您不需要指定参数,因为您已经使用过一次-u 选项。同样从您的输出来看,Bitbucket 服务器似乎当时可能已关闭。

【讨论】:

  • 在这一刻,以及从我尝试将网站文件夹上传到我的 Git 存储库的那一刻起的每一刻?
  • 我在您编辑之前添加了这个答案,您没有提到您甚至尝试重新创建您的回购
【解决方案4】:

造成这种情况的一个常见原因是您为 SSH 密钥输入了错误的密码。除非您清除缓存的凭据,否则 git push 将永远无法与该遥控器一起使用。

命令行git push origin master 将不执行任何操作、停止并且不产生任何输出。

SmartGit 可以通过在推送期间为您的 SSH 密钥自动填写错误的密码来“导致”这种情况。单击“确定”会永久中断“git push”,直到您进入“首选项”并清除该凭据。

【讨论】:

    【解决方案5】:

    如果您使用持久 SSH 连接,则可能会出现过时的连接问题。在使用持久 SSH 一年后,今天第一次发生在我身上。打开你的 .ssh/config 并检查 ControlPath,然后去那里删除相应的文件。对我来说是 /tmp/git@bitbucket.org:22

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2012-09-10
      • 1970-01-01
      • 2019-06-10
      • 2014-01-28
      相关资源
      最近更新 更多