Git troubleshooting

Git troubleshooting 解决方案

1. 版本撤销及恢复

  • 问题描述:当我们使用了git reset --hard commit_id命令,将工作区的提交穿越到你指定的commit里,这个时候你会发现git log根本没有记录这之后的提交记录,此时如果想回到穿越前的状态,就缺失了相应的提交记录信息
  • 解决办法:Git提供了一个命令git reflog用来记录你的每一次改变目录树的命令,使用好他就可以很方便的恢复你最近的提交记录,然后使用git reset --hard commit_id命令,就能回次提交后的状态了。
    建议: 如果只是想把此提交给找回来,恢复他,那还是不要用reset的方式,可以用git cherry-pick commitid单独取一个commit到当前分支或者用merge来做合并
    更多翻车现场抢救方案,参考: https://mp.weixin.qq.com/s/58W1ljewwvextw05_OKE1w

2. gitlab SSH 配置

  • 问题描述:在使用ssh key作为gitlab鉴权秘钥时,虽然已经将本地的.ssh/id_rsa.pub文件中的内容添加到gitlab账户下,但是依然无法使用git对仓库中的项目进行任何操作,报错内容为:
ssh_dispatch_run_fatal: Connection to 172.65.251.78 port 22: message authentication code incorrect
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.`

并且同样的秘钥配置到github是可以正常使用的

3. 使用tag快速管理版本

  • 问题描述:
  • 解决办法:

4. 分支操作

相关推荐