首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的git回购有问题,我失去了我所有的承诺?

我的git回购有问题,我失去了我所有的承诺?
EN

Stack Overflow用户
提问于 2021-01-09 08:40:55
回答 1查看 346关注 0票数 0

我正试图通过终端上传一个文件,我正在努力学习git。**

添加/Users/serra/Documents/useSDWebImage的

  • git

  • git提交-m“对进程的学习”

  • git远程添加源

  • git推-u源文件母版

**然后我收到了这样的消息错误:未能将一些参考文献推送到.我尝试了这些命令,然后我只有我想要上传到存储库的文件,我丢失了repository.What的其余部分,我应该这么做吗?**

  • git拉--重基原点主
  • git主推原点主
  • git拉动原点母版
  • git推送原始母版

>H 125git推送原始母版--强制H 226f 227

**

EN

回答 1

Stack Overflow用户

发布于 2021-01-09 18:20:19

TL;博士

您需要在某个地方找到origin/master的备份。

git reflog也许能帮你。

错误

首先,让我们检查您的前四个命令,并解释错误是什么。

在前两个命令( git和git提交)中,您将在本地沙箱中创建提交,并在预先构建沙箱中的任何内容的基础上进行构建。

在第三个命令中,添加您的遥控器,这意味着您的提交不是在该远程上完成的,而是在其他的基础上完成的。

在第四个命令中,Git正确地告诉您不能推送,因为本地沙箱不是构建在遥控器之上的。重要的是要注意Git的错误消息,它们几乎总是信息丰富的。

现在,您没有显示您运行的任何命令的输出,但我猜git push origin master --force是在您的遥控器上删除的内容。

你应该做什么

通常,首先克隆遥控器,然后在其上提交内容:

代码语言:javascript
复制
git clone <URL>
cd <SANDBOX_DIR>
git add <file inside this directory>
git commit
git push

如何修复这个

有几种方法,但它们都是基于从某个地方可能存在的备份中恢复的。

如果您的遥控器是GitHub,它保存了引用的历史记录,您应该能够在那里找到旧的master分支。如果您的遥控器是其他服务器,希望也是这样。如果另一个团队成员的沙箱具有您想要恢复的有效master,那么他们可以通过在自己的沙箱中执行git push origin master --force来修复问题,但是要确保他们在做之前就明白了自己在做什么。

我在这里的回答不完整,因为你没有提供足够的信息。如果你有更多关于遥控器的细节,我会更新你的问题。

更新- 可能会帮助

当您执行git pull origin master时,假设master是您所关心的分支,您可能在origin上得到了正确的master提交的本地副本。您可以使用git reflog在沙箱中查看本地头部的历史。如果您在那里找到了好的提交,这个解决方案可能会奏效:

这里我假设这些不是你想要保存在沙箱里的工作。

代码语言:javascript
复制
git checkout master
git reset --hard <good commit> # WARNING: destroys any uncommitted local changes

此时,请检查沙箱中是否包含要还原为原始文件的文件。如果是这样,请继续执行以下命令:

代码语言:javascript
复制
git push --force origin master

但请注意,这将覆盖原点的内容。只有在您仔细验证沙箱中的master确实包含您想要恢复的原始历史时,这才是合适的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65640790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档