前言
目前存在两个问题:
- 本来想用"git reset git reset --hard HEAD~1"来取消当前的commit(因为commit完,我push不上去…我想着就先把它取消了)。结果…我手贱按了两次,所以我既取消了当前的commit,又更进一步往前回退了一步。 我想:回到一开始的版本。
- 然后就是 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