【问题标题】:Git - why password-less push doesn't update the remote?Git - 为什么无密码推送不会更新遥控器?
【发布时间】:2018-09-27 15:11:48
【问题描述】:

我必须边听课边做笔记。

无法存储 SSH 密钥并且不想等待用户名密码提示(讲座不会停止);所以当我完成一个练习时,我会做

git push https://username:password@github.com/username/repo.git master

操作完成时没有错误,但是当我执行git status 时,我收到消息说本地和远程存储库之间存在差异。所以我必须做缓慢和阻塞

git push origin master

我在提示时输入用户名和密码,但 git 说 everything is up to date 为什么会出现这种异常行为?


昨天我在课堂结束时忘记了git push origin master,今天在课堂上我做了git clone ...,我昨天所做的所有提交都丢失了,我的回购处于前天状态。有可能恢复吗?

【问题讨论】:

  • git status 显示您的工作区和当前 HEAD 提交之间的差异。每次推送git push https://user:pass... 时,你有没有检查你的 github 是否有变化?
  • 为什么不直接在 git 中设置用户名和密码呢?那么每次推送就不会提示了。
  • @smarber 我们得到的工作站是捐赠材料,启动浏览器意味着浪费 2-3 分钟。鉴于我丢失了更改,也许 github 的副本没有更新
  • @AdamS 我该怎么做,git push 的帮助页面没有介绍如何在 git 中设置凭据。你能指出我更正的资源吗?

标签: git github git-remote


【解决方案1】:

对于OP设定的条件,我认为这是一个可能的解决方案

在主目录中创建一个名为 .git-credentails 的文件,其中应包含以下行

https://username:password@github.com

usernamepassword 替换为适当的字符串,下次 OP 执行 git push origin master 时将不会提示他/他手动输入凭据(如果协议、主机名和用户名模式与您的存储库的 url 匹配来源)。

像往常一样,获取准确信息的最佳位置是 -- https://git-scm.com/docs/git-credential-store

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2017-12-20
    • 2013-09-05
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2014-08-11
    • 2021-09-13
    相关资源
    最近更新 更多