我正试图通过终端上传一个文件,我正在努力学习git。**
添加/Users/serra/Documents/useSDWebImage的
**然后我收到了这样的消息错误:未能将一些参考文献推送到.我尝试了这些命令,然后我只有我想要上传到存储库的文件,我丢失了repository.What的其余部分,我应该这么做吗?**
>H 125git推送原始母版--强制H 226f 227
**
发布于 2021-01-09 18:20:19
TL;博士
您需要在某个地方找到origin/master的备份。
git reflog也许能帮你。
错误
首先,让我们检查您的前四个命令,并解释错误是什么。
在前两个命令( git和git提交)中,您将在本地沙箱中创建提交,并在预先构建沙箱中的任何内容的基础上进行构建。
在第三个命令中,添加您的遥控器,这意味着您的提交不是在该远程上完成的,而是在其他的基础上完成的。
在第四个命令中,Git正确地告诉您不能推送,因为本地沙箱不是构建在遥控器之上的。重要的是要注意Git的错误消息,它们几乎总是信息丰富的。
现在,您没有显示您运行的任何命令的输出,但我猜git push origin master --force是在您的遥控器上删除的内容。
你应该做什么
通常,首先克隆遥控器,然后在其上提交内容:
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在沙箱中查看本地头部的历史。如果您在那里找到了好的提交,这个解决方案可能会奏效:
这里我假设这些不是你想要保存在沙箱里的工作。
git checkout master
git reset --hard <good commit> # WARNING: destroys any uncommitted local changes此时,请检查沙箱中是否包含要还原为原始文件的文件。如果是这样,请继续执行以下命令:
git push --force origin master但请注意,这将覆盖原点的内容。只有在您仔细验证沙箱中的master确实包含您想要恢复的原始历史时,这才是合适的。
https://stackoverflow.com/questions/65640790
复制相似问题