目前整理的错误内容
以下整理的主要是我接触过(了解或者实际经历过的错误),注意这里面牵扯到删除和对代码的非常规操作,按照官方说法都是高危操作,操作前请做好数据备份
- 提交了错误的内容到远程库
- 切换分支后导致未提交的代码丢失
- 错误删除了Git的分支
- 错误的进行了分支合并
- Git下载代码unable to access 403错误
提交了错误的内容到远程库
这里有好几种解决方案。
第一种
首先查看日志,确定你要回滚到的版本号
git log
第二步,假设你拿到的版本号是a0001
git reset --soft a0001
这里你也可以使用hard,区别是hard修改记录都没了,soft则会保留修改记录
git stash
这里为了安全你最好储存一下当前内容
git push -f
然后将当前内容强制推送到远程库,-f为强制覆盖。
第二种
有些公司对代码推送策略可能做了一些限制,这样可以尝试第二种方式。
首先查看日志,确定你要回滚到的版本号
git log
第二步,假设你拿到的版本号是a0001
git reset --hard a0001
这里你也可以使用hard,区别是hard修改记录都没了,soft则会保留修改记录
git stash
这里为了安全你最好储存一下当前内容
git push origin --delete (branchname)
然后删除掉当前分支
git push origin the_branch
最后使用本地代码重建分支
错误删除了Git的分支
首先去日志里面查询本地的操作记录
git reflog --date=iso <branchname>
获取到对应的commit_id
git checkout -b <branchname> ddd94a4
然后进行提交远程进行分支重建
切换分支后导致未提交的代码丢失
假如代码已经commit
假如你的代码已经commit则只需要查询日志提交记录
git log
然后进行回滚
git reset --hard commit_id
假如你代码不准备提交,但是也想切换分支
首先将代码进行存储
git stash
然后进行切换,切换回来后,取回存储的内容
git stash pop
假如你代码没有进行提交
代码没有进行提交,同时也没有进行存储而进行分支切换导致代码丢失,这种情况,个人用Git暂时没有解决问题,但是因为本人使用的是IDEA进行开发的而IDEA有它自己的备份策略。
- 点击项目,右键里面有个Local History
- 点击Slow History
- 里面显示本地存储的历史改动记录,可以根据记录将选择恢复指定代码。
假如你使用的eclipse的话,这个可能需要你去网上多去找找了,可能有类似解决方案,只是个人已经很久不用eclipse了。
Git下载代码unable to access 403错误
unable to access ‘https://git.xxx.xxxt/xxxxxxxx/xxxx.git/’: The requested URL returned error: 403
这里面很明显就是账号错误。
使用config查询,验证账号是否正确
本地
$ git config user
全局
$ git config --global user
假如在这里面还无法发现错误,或者你们公司使用的是私人服务器搭建的环境,可以查看下配置文件中的内容,一般配置文件在C:\Users(用户)\下的 .gitconfig文件。
(其实403错误很容易知道错误内容,但是之前自己遇见这个问题始终无法解决,后来才发现上一位使用这个电脑的同学将账号密码进行特殊处理写到了配置中。导致我通过git命令始终无法切换账号…………233333)