1.第一个方法,在.git目录中有个config目录,在路径前配置下用户名和密码即可[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = http://username:password@ip/test.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master2.第二种方法,终端输入一下命令:git config --global credential.helper osxkeychain

设置代理#http代理 git config --global http.proxy 'socks5://127.0.0.1:1086' #https代理 git config --global https.proxy 'socks5://127.0.0.1:1086'取消代理#取消http代理 git config --global --unset http.proxy #取消https代理 git config --global --unset https.proxy

for in 与Object.keys()的区别function test(a, b) { this.a = a; this.b = b; } test.prototype = { c: "c" } var _a = new test("a", 1); console.log(Object.keys(_a));//["a","b"] for (var key in _a) { console.log(key); // a,b,c }总结:Object.keys():返回一个数组,数组值为对象自有的属性,不会包括继承原型的属性for in :遍历对象可枚举属性,包括自身属性,以及继承自原型的属性

在 MySQL 关系型数据库中,往往会存在多种排序算法。通过 MySQL 的源码和官方文档介绍可以得知,它的排序规律可以总结如下:当 order by 不使用索引进行排序时,将使用排序算法进行排序;若排序内容能全部放入内存,则仅在内存中使用快速排序;若排序内容不能全部放入内存,则分批次将排好序的内容放入文件,然后将多个文件进行归并排序;若排序中包含 limit 语句,则使用堆排序优化排序过程。当 order by limit 分页出现数据丢失和重复。而 order by 的 sort 字段没有使用索引(正常情况下,排序的字段也不会使用索引),如果使用了索引,则会进行索引排序。因此可以得出,上面的图二和图三的 SQL 语句使用了堆排序。因为 sort 字段没有索引,所以没走索引排序;并且使用了 limit。导致最终使用了堆排序。如果了解算法的你,应该知道堆排序是不稳定的。这种不稳定性,指的就是多次排序后,各个数的相对位置发生了变化。但是,不是所有的 MySQL 版本都是这样。从 MySQL 5.6 版本开始,优化器在使用 order by limit 时,做了上面的优化,导致排序字段没有