近日使用“git add”出现如下错误:

$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'inc/jquery2.1.1/jquery.min.js' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

使用“git status”查看状态:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified: app/js/app.js
new file: app/tpl/admin.html
new file: app/tpl/home.html
new file: inc/jquery.2.1.1/jquery.min.js
modified: index.html

Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

deleted: inc/jquery2.1.1/jquery.min.js

解决方法很简单:
$ git add -A #或 git add -all

warning: Your console font probably doesn't support Unicode. If you experience strange characters in the output, consider switching to a TrueType font such as Lucida Console!

解决办法:
$ git config --global core.autocrlf true

warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'.

To squelch this message and maintain the current behavior after the default changes, use: git config --global push.default matching

To squelch this message and adopt the new behavior now, use: git config --global push.default simple

错误信息:warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX.
解决办法:
$ git config --global core.autocrlf false

事实上这并不会影响你push的结果,最终push还会成功,因为这只是一个”warning“

你可以按照他说的那样运行:git config --global push.default matching 或者 git config --global push.default simple命令,以后再push就不会有警告了。
下面说一下push.default matching和push.default simple的区别:

push.default设置maching的意思是:git push 会把你本地所有分支push到名称相对应的远程主机上。这意味着可能你会在不经意间push一些你原本没打算push的分支。push.default设置成simple的意思是:git push仅仅把当前所在分支push到从当初git pull pull下来的那个对应分支上,另外,这个过程也会同时检查各个分支的名称是否相对应。

Git
暂无评论