【问题标题】:Pushing do nothing推动什么都不做
【发布时间】:2017-04-10 23:52:07
【问题描述】:

按照本教程:https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server

我试图在我的服务器上推送一些数据。 一切看起来都很好,但是当我对远程文件执行 ls 时,没有任何变化。

touch a
git add .

git commit -m "foo"
[master f8f3336] foo
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a

git push 

Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 258 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To XX@XX.XX.XX:/git/portail.git
92c04da..f8f3336  master -> master

我该怎么办?

【问题讨论】:

  • 你在目标远程服务器上完成git pull了吗?
  • 我只是尝试: git pull "fatal: /usr/libexec/git-core/git-pull 不能在没有工作树的情况下使用。"所以我只是这样做:git checkout master,但它一直告诉我“致命:此操作必须在工作树中运行”
  • “我在远程文件上执行 ls”是什么意思

标签: git ssh server


【解决方案1】:

几个选项:

  • 不太可能,但您可能正在处理 bare 存储库。 裸仓库是没有工作目录的仓库。 检查您的配置以确保您不是

    git config -l | grep core.bare
    
  • 推送时指定分支名称

    # specify the name of the branch you wish to push
    git push origin master
    

    它也可以在不指定分支名称的情况下工作,但最好提供它。

  • 先拉再推

    git pull origin master
    git push origin master
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 2016-12-24
    • 2017-04-18
    • 2011-08-03
    • 2014-05-11
    • 2014-09-10
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多