【人见人爱报错系列】Git常见问题解决大全
前言
在使用的github\gitlab各种hub的过程中,会遇到各种各样的小问题,这些会给程序员们带来五光十色的烦恼,本文总结使用git的各种问题并持续更新。
一、Git用户名邮箱设置
使用git过程中,会切换不同项目但是发现提交人都是一样的,怎么针对不同项目设置不同的提交人和邮箱呢?
//查看用户名
git config user.name
git config user.email
全局设置
//修改用户名
git config --global user.name "Your_username"
//修改邮箱
git config --global user.email "Your_email"
项目设置
GIT针对不同项目设置不同提交人及邮箱
1、进入项目根目录。
2、进入 .git 文件夹
3、编辑 config 文件,在最后添加以下内容:
name = 提交人名称email = 邮箱 ```
二、删除历史提交记录
以master分支为例,若开启保护分支需关闭。复制master,删除原有分支,用新的分支覆盖旧分支。从而完成分支替换,删除历史记录。
注:谨慎操作,按以上操作后无法回滚。
1、本地仓库checkout检出新分支,参数orphan:没有commit记录的分支
git checkout --orphan bakmaster
2、添加分支所有文件
git add -A
3、将添加的文件提交到本地仓库
git commit -am "commit description"
4、删除之前的主分支
git branch -D master
5、重命名检出的新分支为master,使他成为主分支
git branch -m master
6、强制提交覆盖掉远程仓库的分支
git push -f origin master
7、查看日志
git log
三、错误push后,回退提交
1、回滚
git reset --hard commit -id #commit -id是git log中得到的提交id。
2、强制推送
git push origin HEAD --force
需要注意的是,这个提交会将远程仓库强制覆盖,请谨慎使用。
四、.gitignore忽略文件修改不起作用
因为ignore文件中新增的忽略文件在之前的版本中已经提交至远程库。解决办法就是要删除忽略文件在本地的git缓存,再提交至远程库,如下
# 删除本地缓存
git rm -r --cached xxx.file
# 忽略
git commit -m ``"ignore"
# 提交远程
git push
五、Git 使用tag相关命令操作
tag简介
tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 …这样的标签。
tag与branch区别:
tag标记 指向某个commit的指针。branch分支 对应一系列commit,通过HEAD 指针移动。
tag使用场景:
如果已经发布了 v1.0 v2.0 v3.0 三个版本。需要在 v2.0 的基础上功能修改或新增等操作,作为 v4.0发布。就可以使用tag检出 v2.0 的代码作为一个 branch 进行开发。
tag使用
创建本地
tag git tag xxx
创建时增加附注
git tag -a v1.0 -m "release 1.0 version"
推送远程
git push origin xxx
查看本地某个tag的详细信息
git show xxx
查看本地所有tag
git tag 或者 git tag -l
查看远程所有tag
git ls-remote --tags origin
删除tag名xxx
git tag -d xxx
将删除的tag名xxx推送至远端
git push origin :refs/tags/xxx
检出tag
git checkout -b
六、远程仓库地址改变操作
git remote set-url origin http://xxx.git
七、Git pull\push\merge踩坑报错
命令简介
git merge
用于将两个或两个以上的开发历史加入(合并)一起。
git fetch
从远程获取最新版本到本地,不会merge(合并)。
# 语法:git fetch <远程主机名>。git fetch orgin master
git pull
从远程获取最新版本并merge(合并)到本地。
# 语法:git pull <远程主机名><远程分支名>:<本地分支名>。
git pull origin master:master
git reset
将当前的分支重新设置到指定的commit id或者HEAD。
语法:git reset [- -hard|soft|mixed|merge|keep][<commit id>或HEAD]
HEAD是默认路径。hard、soft、mixed、merge、keep是设置的模式。通常回滚代码时,使用- -hard,表示自commit id以来,工作目录中的任何改变都被丢弃,并把HEAD指向commit id。
连接报错系列
fatal: unable to access ‘https://github.com/xxx.git/’: Failed to connect to github.com port 443: Timed out
git push或者pull的时候报以上错误解决方式:
git config --global http.sslVerify "false"
fatal: unable to access ‘https://github.com/xxx.git/’: OpenSSL SSL_connect: Connection was reset in connection to github.com:443解决:
git config --global http.sslBackend "openssl"
git config --global http.sslCAInfo "C:\Program Files\Git\mingw64\ssl\cert.pem" #git安装的路径
OpenSSL SSL_read: Connection was aborted, errno 10053 Failed to connect to github.com port 443 after 21096 ms: Timed out解决:
git config --global http.postBuffer 524288000
git config --global http.sslVerify "false"
冲突报错系列
Git Pull Failed
error: You have not concluded your merge (MERGE_HEAD exists).
fatal: Exiting because of unfinished merge.
Git Merge Failed
fatal: You have not concluded your merge (MERGE_HEAD exists).
Git Pull Failed
Your local changes would be overwritten by merge.
Commit, stash or revert them to proceed. View them
先备份代码在进行如下操作:
方法一:舍弃本地代码
远程版本覆盖本地版本
git fetch --allgit reset --hard origin/mastergit pull
方法二:保留本地代码
中止合并–>重新合并–>重新拉取
git merge --abortgit reset --mergegit pull
同一分支历史提交记录不同报错
git pull 时报错:
fatal refusing to merge unrelated histories
# 强行合并
git pull origin master --allow-unrelated-histories
# 提交远程
git push
push未设置关联远程分支报错
使用git push
报如下错误:
fatal: The current branch master has no upstream branch
解决
方式一:
# 根据需要替换分支名
git push --set-upstream origin master
方式二:
# 根据需要替换分支名 远程分支master不存在会创建
git push -u origin master
git路径含空格报错
error: cannot spawn git: No such file or directory fatal: unable to fork
Git Bash能正常使用git命令,idea使用命令报错。
解决:
调整路径去掉空格
C:\Program Files\Git\bin\git.exe
如修改成:
C:\idea\Git\bin\git.exe
八、git上传jar包
打开项目下.gitgnore文件,删除*.jar即可上传。其它格式文件同理
【人见人爱报错系列】Git常见问题解决大全相关推荐
- git常见问题解决方法总结
git常见问题解决方法总结 fatal: Could not read from remote repository 大概意思是:不能从远程存储库读取. 一般我们在使用git push -u orig ...
- 【git 报错】git add添加到暂存区报错:fatal: pathspec ‘xxx‘ did not match any files
1.问题描述: git add到暂存区的文件夹中的命名带有空格,这时候会提示错误 fatal: pathspec 'xxx' did not match any files 如下图所示提交暂存区报错: ...
- npm i 下载依赖一直报错:git dep preparation failed等
npm 报错:git dep preparation failed 前言 由于工作需要,重新换了工位,之前用的电脑也要退回公司,租借时间满了,现在用的是同事的电脑进行开发.要重新配置环境,但是在git ...
- 源码编译报错系列之:Fatal error compiling: 无效的标记: --release -> [Help 1]
源码编译报错系列之:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (defau ...
- Oracle数据库报错ORA-00904: 标识符无效问题解决办法
Oracle数据库报错ORA-00904: 标识符无效问题解决办法 一般来说,报错ORA-00904: 标识符无效主要是以下两种情况: 1.可能是由于字段名或者表名写错了,一定要仔细核对代码里面的字段 ...
- git pull 报错:git - error: RPC failed; curl 18 transfer closed with outstanding read data remaining 解决
在git pull公司项目的时候,发现报错了.报错信息如下所示: 报错信息: fatal: The remote end hung up unexpectedly error: RPC failed; ...
- python中冒号报错_python新手常见错误和异常
在python编程中,新手最常见的错入和异常如下 1.缺少冒号引起的错误 在if,elif,for,while,class,def声明末尾需要添加冒号(:),如果忘记添加,将会提示:"Syn ...
- git pull 报错:git - error: RPC failed curl 18 transfer closed with outstanding read data remaining 解决
文章目录 1.美图 2.背景 4.配置缓冲区大小 5.查看配置 1.美图 2.背景 在git pull公司项目的时候,发现报错了.报错信息如下所示: 报错信息: fatal: The remote e ...
- 报错:跨域问题解决 No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
报错: Access to XMLHttpRequest at 'http://127.0.0.1:8088/user/list' from origin 'http://localhost:8080 ...
最新文章
- Java的Json解析包FastJson使用
- 【原创】POSTGRESQL 分区表初次体验
- Python Django related_name属性使用示例
- 十种经济的方法帮你建立企业品牌
- Docker 精通之微服务
- 【Android】Android Studio中新创建的app目录结构
- 【Python爬虫】Requests库网络爬虫实战
- 用 less 自制 bs 栅格布局
- php 密码过滤,PHP实践教程之过滤、验证、转义与密码详解
- 2016/11/14
- Linux环境下gcc静态编译/usr/bin/ld: cannot find -lc错误原因及解决方法。
- excel打印二维码
- pip升级及关于pyecharts安装下载所遇到的问题及部分的解决
- nas怎么做网站服务器,如何在群晖nas搭建自己的网站?
- 组合模型——Tree models、Boosting、 Committee
- 计算机启动显示不正确的分区表,分区表无效怎么办_一开机就显示分区表无效怎么解决...
- 基于Patachmatch的stereo matching笔记(一):《PatchMatch Stereo》
- 深度解密京东登月平台基础架构
- DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation 用于无监督异常分割的深度特征重建
- windows安装redash
热门文章
- Excel怎么对比两列日期,并筛选出不同的日期
- mac 菜单栏图标删除_如何重新排列和删除Mac的菜单栏图标
- 【渝粤教育】国家开放大学2018年秋季 0700-21T中级会计实务(一) 参考试题
- Win10如何正确安装Ganache可视化客户端
- dataframe保存为txt_PDF、WORD、PPT、TXT、CAD转换方法,轻松教你转换,收藏会用得到...
- 【综述】盘点卷积神经网络中的池化操作
- 指针-老生常谈 又是 常谈常新的话题
- 强强联手!博纳影业携中企动力开拓互联网+战略性合作
- 我的2015-马拉松元年
- MacOS系统下selenium之火狐浏览器驱动firefoxdriver安装