解决git遇到的奇怪提示

一、解决push过程中:warning: push.default is unset

warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior

大概意思是在Git 1.0 中,git push 默认会把你本地的所有分支都上传到远程, push.default 的值是‘matching’,如是想始终保持以往的习惯就执行

git config --global push.default matching

到了git 2.0,git push默认是把当前分支上传到远程而不是所有本地分支push.default 的值是‘simple’,这样比较保守也推荐这样。

git config --global push.default simple

我们一般执行git config --global push.default simple即可。

二、git pull 总提示让输入merge 信息

git pull 总提示让输入merge 信息_keep one's resolveY的博客-CSDN博客

在生产环境拉去代码的时候,总是出现了 .git/MERGE_MSG,很烦,本质是远程仓库代码已经被更新了,本地版本不够新了,但不是冲突的代码,无关紧要,如果本地是最新的,则不会出现提示

虽然每次可以通过输入 :q 命令,取消,然后完成拉取。
但是这样就很影响效率。

解决办法一: 欺骗自己法


只要我没看见这个问题,这个问题就不存在,我们可以通过这个命令进行拉取代码,就不会提示这个信息

git pull --no-edit origin master

这样操作后,是可以直接拉去代码,而且不再会与提示。

但是这个问题还是一样的存在

解决办法二,找到问题所在,彻底处理


通过输入 git日志发了一些异常

git log 

发现本地的代码,仓库里的commit永远在git log中排第二位。

也就是我仓库里的最新的代码 为9cd3e7c这个commit。
但是我本地git log显示 9d1255a5这个commit在我本地是最新的。

这就发现了问题了,我每次拉去代码的时候都会出现一次git/MERGE_MSG,让我输入最新的信息。
导致了本地的分支比仓库里的分支超前了,所以每次当我下一次拉去代码的时候,都要去输入合并信息,解决冲突、

知道原因了,那就比较容易解决了。

先git log查看一下

git log

之后就 git reset一下仓库最新的commit

git reset --hard 9cd3e7c  

然后本地的代码就和仓库保持了最新了。

git pull origin master

这样拉取代码后,就再也不会出现那样的提示了、
 

三、使用git进行git add操作时报错warning: LF will be replaced by CRLF

由于window的行结束标识符是回车(CR)+换行(LF),而Linux/MAC系统的行结束标识符只有换行(LF)。在使用git进行代码提交时,git默认的会将文件中的回车和换行符转换为换行符,这样是为了避免同一套代码在不同的操作系统中运行时可能造成的代码错乱现象;

git中可以通过配置core.autocrlf属性从而控制这种转换的操作

Windows:如果你的开发环境为window,并且将来的生产环境也是window平台,那么可以直接昂将core.autocrlf设置为false,从而禁止将回车+换行自动转为换行符;这样仅在windows系统中是没有问题的;(个人用过这个)
git config --global core.autocrlf false

Linux/ Mac + Windows:如果部分代码来源于windows平台,而将来的生产环境是Linux或Mac;或者有时候手抖输入了回车加换行作为了行结束标识符,那么此时可以将代码中的crlf转为lf。具体如下:当然,其实Linux一般情况下不推荐设置该属性。
git config --global core.autocrlf input

Windows + Linux/ Mac:如果开发环境为windows,并且生产环境有可能为Linux/Mac,则可以将core.autocrlf设为true,从而强制全部进行转换;
git config --global core.autocrlf true
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值