git 常见问题
问题1 : git push 问题
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
Pushing to https://user@github.com/repo.git
To https://user@github.com/repo.git
= [up to date] master -> master
...
! [rejected] example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://user@github.com/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above
解决方案
git pull --tags -f
解决地址: https://github.com/concourse/git-resource/issues/233
问题2 :
每次都提示输入git@xxx.com 的密码
解决方案
首先你的ssh公钥匙已经添加gitlab
然后将私有添加在本地的ssh agent 里面,执行;ssh-add -K + 私钥
然后依次执行:cd ~/.ssh ; ssh -T +提示输入名字的git地址进行验证 ;如果输出 Welcome to GitLab, @git名字! 说明配置成功
验证:eg:例如项目地址 git@git.aa-zzz.com 可以执行 ssh -T git@git.aa-zzz.com , 验证如果出现: Welcome to GitLab, @git名字,说明配置成功
问题2
[git]Git error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
解决方案
原因是访问超时时长太短导致
解决方案是增加超时时长 ,执行命令:git config --global http.postBuffer 524288000
然后再执行:pod install --repo-update ,就可以下载对应的文件啦
问题3
忘记ssh私有对的密码
解决方案
- 进入ssh的目录 2. ssh-keygen -f 私钥名字 -p 3. 可以重新设置密码或一路回车取消密码验证
放弃本地没有add到stage的所有改动
git checkout .
问题4 撤销上一次commit,还没有push到远程仓库
git reset --soft|--mixed|--hard <commit_id> git push develop develop --force (本地分支和远程>分支都是 develop)
这里的<commit_id>就是每次commit的SHA-1,可以在log里查看到
--mixed 会保留源码,只是将git commit和index 信息回退到了某个版本.
--soft 保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接>commit即可.
--hard 源码也会回退到某个版本,commit和index 都会回退到某个版本.(注意,这种方式是改变本地代码仓库源码)
问题5 撤销上一次commit,已push到远程仓库
问题6: host问题导致 pod install 一直报错:
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
解决方式:cd 到 管理员/etc目录在hosts文件添加 13.229.188.59 github.com