[github]——记一次成功的HEAD回退&git push

前言

目前存在两个问题:

  1. 本来想用"git reset git reset --hard HEAD~1"来取消当前的commit(因为commit完,我push不上去…我想着就先把它取消了)。结果…我手贱按了两次,所以我既取消了当前的commit,又更进一步往前回退了一步。 我想:回到一开始的版本。
  2. 然后就是 git add->git commit->git push origin master,之后报的错:“fatal:unable to access …:Could not resolve host:github.com”

解决问题一:HEAD的回退

git log --pretty=oneline # 查看当前HEAD之前所有的版本(按q退出)

在这里插入图片描述

但这对我没有用,我想要回到的是:HEAD上面的那一个版本。

git reflog # 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

在这里插入图片描述
找到了!可以看到:HEAD@{3}是我刚刚clone的版本,HEAD@{2}是我commit了一些修改之后的版本,HEAD@{1}是我使用"git reset --hard HEAD~1"撤回commit的版本,HEAD@{1}是我手贱又进行了一次reset之后的当前版本。 我想回到HEAD@{1}(后来发现并不是)

git reset --hard HEAD@{
    
    2} # 这是我需要回去的版本,因为:HEAD@{1}时,我的commit被取消了

问题似乎算是解决了,现在我需要把commit过的,push到我的repository。

解决问题二:git push origin master

之前找学长讨论,可能是网络代理的问题:

git config --global -l # 查看网络代理,发现啥也没有

所以尝试设置代理

git config --local http.proxy 192.168.4.12:8080

但评论区说:8080这个端口号并不适用,我尝试了改成我服务器的端口号,但都没有用,报如下错:
Connection timed out

后来,看到了[4]中的第一个回答…取消代理的设置:

git config --global --unset http.proxy

然后,就成功了:
在这里插入图片描述

参考:

[1] Git Reset 三种模式
[2] git命令log与reflog的比较
[3] Git 设置网络代理
[4] 使用github出了些问题?fatal: unable to access;Failed connect to github.com:8087; No error

猜你喜欢

转载自blog.csdn.net/jokerxsy/article/details/115003443