origin

js 深度克隆

走远了吗. 提交于 2020-01-09 01:07:56
js中赋值主要有两种赋值形式,一种是值引用,另一种是址引用(地址)。 一般对象赋值的时候,都是地址引用,所以在修改新对象的时候,其实修改了在内存区地址上的值。 为了达到值引用的效果,所以有 深度克隆的概念。 ps:自己理解的,被误导了别怪我 实现方式一: function deepClone(origin, target) { var target = target || {}, toStr = Object.prototype.toString, arrStr = '[object Array]'; for (var prop in origin) { if (origin.hasOwnProperty(prop)) { if (origin[prop] !== 'null' && typeof (origin[prop]) == 'object') { if (toStr.call(origin[prop]) == arrStr) { target[prop] = [] } else { target[prop] = {} } deepClone(origin[prop], target[prop]) } } else { target[prop] = origin[prop]; } } return target; }   实现方式二:利用JSON转换 function

git操作

China☆狼群 提交于 2020-01-08 21:50:05
一. 本机配置 添加用户 git config –global user.name “XX” git config –gloaba user.email “XX@163.com” 查看git配置及用户信息 git config –list 生成SSH秘钥(2种方式:1.git GUI图形界面化操作; 2.git命令,即以下流程) 1) 查看是否有秘钥,有则备份然后删除文件夹 cd ~/.ssh ls 2) 正式生成,输入指令再 按三次回车,也就是第三次回车指纹密码输入可以为空 ssh-keygen -t rsa -C “邮箱” 3) 添加私钥到 ssh(如果配置过指纹密码就要输入验证) ssh -add id_rsa 进入计算机系统用户文件夹,找到id_rsa.pub,打开复制到github的setting的SSH keys当中( 该网站服务器可以添加多个ssh key公钥) 测试本机是否有访问GitHub的权限 ssh git@github.com 二. 上传GitHub了ssh后,开始建立两端的repository(版本库,仓库) 并且相关联. 建立过程(2种方式): 先在本地新建->然后添加到远程端(具体步骤): git init->git remote add origin git@xxx->在仓库添加一些初始文件xx-> git add xx->git status-

Github 简明教程

孤人 提交于 2020-01-08 20:03:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。 但是你如果已经在读这篇文章了,我觉的你已经知道Github了。 正是Github,让社会化编程成为现实。 什么是 Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 目前看来,GitHub这场冒险已经胜出。根据来自维基百科关于GitHub的描述,我们可以形象地看出GitHub的增长速度: 今天,GitHub已是: 一个拥有143万开发者的社区。其中不乏Linux发明者 Torvalds 这样的顶级黑客,以及Rails创始人 DHH 这样的年轻极客。 这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:

Github 简明教程

北慕城南 提交于 2020-01-08 20:03:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如果你是一枚Coder,但是你不知道Github,那么我觉的你就 配置Git 首先在本地创建 ssh key; $ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的 your_email@youremail.com 改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub ,复制里面的 key 。 回到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。 为了验证是否成功,在git bash下输入: $ ssh -T git@github.com 如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。 接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们

如何直接在github网站上更新你fork的repo?

故事扮演 提交于 2020-01-08 19:54:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 玩过github的人一定会在你自己的账号上fork了一些github开源项目。这些开源项目往往更新比较活跃,你今天fork用到你自己的项目中去了,过几个星期这个fork的origin可能有一些bugfix了,你怎么办呢?当然直接到Origin repo中去clone是一个方法,但是github的public repo有可能过一段时间就被作者删除了,你是否希望在origin即使已经被删除的情况下,你的账号下依然有你钟情的repo? 解决上面的问题,最好的方法就是不定时地将origin的commit sync到你自己的fork repo中,一方面能够保持鲜活,另一方面有备无患。那么如何sync呢?又有几种方案,一种是你直接在本地clone的repo中,pull upstrame,做好merge,随后push到你自己的fork repo中。另外还有一种更加简便聪明的方法:只需在github网站上点几个鼠标,不用本地开发环境轻松搞定: 1.打开你的github fork repo; 2.点击Pull request; 3.点击new pull request.默认情况下,github会比较original/your fork,这时应该不会有任何输出,因为你并没有做过任何变更; 4.点击switching the

git拉取其他分支并且合并代码

落花浮王杯 提交于 2020-01-08 16:45:00
1.先提交一波 为后续切分支准备 (xxx1为自己的分支 xxx2为想要拉取的分支) git add . git commit -m 'yyy' git push origin xxx1 2.然后git切换到你所要拉取的分支xxx2 拉取该分支代码 git checkout xxx2 git pull origin xxx2 或者git fetch origin xxx2 3.切回自己的分支 git checkout xxx1 git merge xxx2 来源: https://www.cnblogs.com/gyc-tzx/p/12167028.html

git应用

ⅰ亾dé卋堺 提交于 2020-01-08 13:43:07
克隆git clone + url 查看本地分支 git branch 创建本地分支 git branch [name] ----- 出错提示没有masder处理方法 添加所有项目文件到本地仓库缓存git add . 提交到本地仓库git commit -m "init commit" 创建本地分支 git branch [name] 查看远程分支 git branch -r 切换分支 git checkout [name] 创建并切换新分支 git checkout -b [name] 删除分支 git branch -d [name] 合并分支:git merge [name] 将名称为[name]的分支与当前分支合并 创建远程分支(本地分支push到远程) git push origin [name] 删除远程分支 git push origin :heads/[name] 或 $ git push origin :[name] 本地分支与远程分支建立联系 git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字 git branch --set-upstream-to=shuiwu/master 创建空分支 git symbolic-ref HEAD refs/heads/[name] rm .git/index git

Git常用命令及场景

末鹿安然 提交于 2020-01-08 10:15:51
Git命令推送到远程分支 1、登录GitHub创建一个远程仓库。    https://github.com                2、git init   本地创建一个目录,并初始化一个git仓库。 3、git add   添加文件到当前目录下,然后执行git add ,将“修改”从当前工作区存放到暂存区。 4、git commit -m "注释语句"   将暂存区中存放的文件提交到本地git仓库。 5、git remote add origin https://远程仓库地址   将本地代码库的当前分支与远程的代码库分支相关联。 6、git pull origin master   远程库分支更新代码到本地。 7、git push -u origin master(远程分支)   将本地代码库的当前分支推送到远程的代码库。 如果如下报错 failed to push some refs to 'https://github.com/kosamino/demo.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint

原生JavaScript之深度克隆

谁说我不能喝 提交于 2020-01-08 06:18:29
先看一下克隆成功后的结果 深度克隆就是将obj的属性克隆到obj1上面,并且 在obj上面修改属性不影响obj1上面的属性。 1、先把所有的值都遍历一遍(看是引用值和原始值) 用for ( var prop in obj ),对象和数组都可以使用 2、判断是原始值,还是引用值?用typeof判断是不是object 1)如果是原始值就直接拷贝 2)如果是引用值,判断是数组还是对象 3、判断是数组还是对象?(方法instanceof【看a的原型链上有没有b的原型】、toString、constructor,建议用toString,另外两个有个小bug——跨父子域不行) 1)如果是数组,就新建一个空数组; 2)如果是对象,就新建一个空对象。 4、建立了数组以后,如果是挨个看原始对象里面是什么,都是原始值就可以直接考过来了;或者,建立了对象以后,挨个判断对象里面的每一个值,看是原始值还是引用值 5、递归 准备好要克隆的对象,还有接收克隆过来的对象 1 var obj = { 2 name :"abc", 3 age : 9, 4 sex :"female", 5 card : ['visa','master'], 6 wife : { 7 name : "bcd", 8 son : { 9 name : "bcd", 10 son : "xx" 11 } 12 } 13 } 14 var

一些常用命令

只愿长相守 提交于 2020-01-08 03:53:52
一、git相关命令   1. git clone 项目的http地址。下载项目到本地。假如使用ssh地址的话。需要在本地添加SSH keys。用ssh的方式的话,可以不用总是输入用户名跟密码。要在本地配置用户名跟密码。查看本地是否配置了SSH key及添加新的。可以在gitlub的setting下面的SSH and GPG keys查看教程。   2. git branch 查看本地已有分支   3. git checkout 分支名 切换远程已有分支   4. git checkout -b 分支名 已当前分支新建一个分支   5. git branch -D 分支名 删除本地分支(远程没有的)   6. git branch -d 分支名 再加上git push -d origin 分支名 可以删除远程分支   7. git add .命令+git commit -m "提交信息"命令+git push(或者git push -u origin 分支名) 可以添加修改的内容到远程   8. git config --global --list 列出全局配置的信息   9. git log 列出提交信息   10. git cherry-pick 上面提交的id。可以合并上面那个提交代码到这个分支   11. git diff 列出修改了的代码   12. git merge -