pro git 读书笔记 2】的更多相关文章

一. 起步 1. 集中式版本控制缺点:中央服务器的单点故障. 分布式版本控制优点:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来. 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复. 因为每一次的提取操作,实际上都是一次对代码仓库的完整备份. 它也有中央服务器的概念,不过这也只是类似于其他备份的客户端,作用只是利于其他客户端克隆而已. 2. 直接记录快照,而非文件差异. Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整…
Git 分支介绍. 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创建一个源代码目录的副本.对于大项目来说,这样的过程会耗费很多时间. 有人把 Git 的分支模型称为它的"必杀技特性",也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在…
在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行git init 检查当前文件状态 要查看哪些文件处于什么状态,可以用git status命令 将工作文件修改提交到本地暂存区 通过git add <file>可以将文件提交到本地暂存区,如果你git add a.txt之后修改了a.txt的内容,则你需要再次git add a.txt,否则本地暂存区保存的是修改前的a.txt 忽略文件 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现…
分支 新建分支:git branch 分支名 切换到该分支:git checkout 分支名 补充:以上两条语句等价于一句:git checkout -b 分支名 转换分支的时候最好保持一个清洁的工作区域.(也就是commit之后再转换) Git 会把工作目录的内容恢复为检出某分支时,它所指向的那个 commit 快照. 将A分支合并到主分支 master: git checkout master git merge A 当master是A的直接祖先时:快速合并完成 当master与A有共同祖先…
Git 1 - Getting Started Git 的特点 Git 存储每个版本的快照:其他 VCS(版本控制系统) 存储两个版本的变化之处 好处参考 Git 分支章节 Git 几乎所有操作都是本地的:其他 VCS 需要远程服务器 这是因为 Git 在本地磁盘上有项目的整个历史.好处有两点,其一,访问速度很快:其二,断网时同样可以使用,upload 时再联网即可. Git 具有完整性 store 之前,先进行 SHA-1 哈希算法校验,将检验和(40位16进制数)与其联系,所以每次修改 Gi…
Git 2 - Git Basics 1 add github 上建立新的 repository,命名 demo git clone 到本地 github 目录 将自己之前的项目 copy 到该 demo 目录下 运行 cat .gitignore 注意: .gitignore的目录并不一定要是根目录,比如在 try 文件夹下建立一个 .gitignore 来设置 try 文件夹中的忽略文件:$ cat try/.gitignore 即可.其 ignore 的内容为 rd.txt /rd/ 如果…
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和分支 git提交时会将暂存文件的内容,暂存的目录结构,提交对象,含附注标签对象都以包含信息头的二进制文件形式存储到版本库中(.git/objects目录),存储的对象以其自身SHA1值作为唯一标识,SHA1前两位为存储对象所在目录名,SHA1后38位为存储对象的文件名.存储的数据对象类型有: blob(文件内…
Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user.name "your user name" git config --global user.email "your email address" 文本编辑器 设置默认的文本编辑器:git config --global core.editor emacs 查看配置信…
第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可以直接创建一个新的本地版本库,也可以将一个已有的远程版本库克隆到本地. (1)创建新的本地版本库 在一个目录中执行git init命令,会在该目录中建立.git的目录,里面存放了Git需要的所有数据和资源,自然包括一个空的本地版本库. git init 然后就是向这个本地版本库中存放版本数据了.先使…
第一章 起步 1.关于版本控制 版本控制用于记录和追踪目录结构和文件内容变化,能够追溯过去的任何修改和变化,并恢复到任何历史状态. 版本控制系统可以按照发展过程分成以下几类: 目录备份.记录版本变化最简单的方法就是复制项目,根据目录名字区分不同版本或时间点. 本地版本控制系统.每次都备份完整的目录,在多个版本目录中就会存在很多份完全一样的冗余文件,为了解决这个问题,又出现了将不同版本的差异保存成补丁的本地版本控制系统,如比较流行rcs命令. 集中化的版本控制系统.本地版本控制系统还是不便于多人协…
[添加文件] git add  把文件修改添加到暂存区    git commit -m '' 把暂存区的所有内容提交到当前分支 [查看历史]    git log 查看提交历史 git log --graph 分支合并图    git reflog 查看历史命令 [查看某个文件历史]  git log --pretty=oneline 文件名  git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e [HEAD] HEAD 指向当前版本的指针(mas…
一.构建ViewModels 设计模式的其中一个目标就是抽象构造一个给出指定类型的对象或者实现指定类型的接口的过程.需要把类给客户端,让客户端去使用,但是要隐藏类是具体的实现细节. 1.1The Application 在View中有个一个App,实现Application这个文件可以用来管理ViewModels. xaml: <Application x:Class="MvvmWpfApp.App" xmlns="http://schemas.microsoft.co…
一.分离关注点 目的是确保每一个模块值有单一的,明确的目的,不需要去负责其他的功能.单一的目的也称为关注点. 1.1依赖 引用程序集对于依赖来说不是必须的.依赖关系可能也存在于一个代码单元要知道另一个单元,如果是一个类需要使用另外一个类,那么前者就是依赖于后者,特别的依赖还存在于类的方法,属性,以及构造器.强烈建议把类的接口和实现分开. 上面两端代码是实现同样的目的,实现画出一个形状 /*唯一能画出来的是一个圆,每次图形改变时,有可能需要画矩形,DrawShape必须改变,这样增加了维护成本 *…
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   第一章:Git起步   版本控制出现的原因及分类    类别 基本原理 优点 缺点 本地版本控制系统 自己把复制整个项目,改名或加上备份时间来区别 采用某种简单的数据库来记录文件的历次更新差异 简单 有时会混淆所在的工作目录, 丢了文件毛了数据就没有后退的路 集中化的版本控制系统 解决在不同系统上…
本文为Git Pro读书笔记,所有内容均来自Git Pro 1 Git基础 1.1 记录每次更新到仓库 在Git里,文件有4种状态,modified, staged, commited, 还有一种状态是untracked. Git只会暂存运行git add 时的版本,如果文件作了修改,需要运行git add 将最新的版本暂存起来, git add是一个多功能的命令. 用来跟踪. 将新的修改放入暂存区. 还可以用于合并时把有冲突的文件标记为已解决的文件. 1.1.1 查看已暂存和未暂存的更新 gi…
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   第一章:Git起步   版本控制出现的原因及分类    类别 基本原理 优点 缺点 本地版本控制系统 自己把复制整个项目,改名或加上备份时间来区别 采用某种简单的数据库来记录文件的历次更新差异 简单 有时会混淆所在的工作目录, 丢了文件毛了数据就没有后退的路 集中化的版本控制系统 解决在不同系统上…
Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下次提交时要保存的清单中.(add) 2.Git安装 yum install git-core apt-get install git 3.Git初始化配置 git config --system:系统级别配置(对所有用户进行统一配置) git config --global:用户级别的配置(对某个用…
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼此分享彼此的开源技术以及需要的代码,相互贡献,形成一个良好的氛围.同时国内也有一些开源仓库,也可以使用.同时对于Git.甚至于SVN这种工具也是必不可少必须要知道的,对于Git的使用,首先必须要安装Git工具,可以在linux上使用命令安装,apt-get/yum/brew install git*…
本系列是阅读<Pro Android4>的读书笔记,也包括网络阅读资料的整理,以及个人心得. 由于智能手机引入AP(应用处理器),Android在某种意义上是个人计算机,具有桌面计算机的完整架构,采用Linux-based OS stack来管理设备.内存和进程.Android的Java库覆盖电话,视频.连接.图形.UI编程等多个方面.Android SDK支持几乎全部的J2SE,除去UI的AWT和Swing部分,而用Android UI framework取而代之. Android针对手持设…
我们已经掌握了很多实用 Bootstrap  的重要技能.现在,是时候拿出更多的创意来帮助客户实现他们全方位在线营销的愿望了.此次将带领大家做一个漂亮的单页高端营销网站. 主要任务如下: □ 一个大型介绍性传送带图片展示区,配有自定义的响应式欢迎信息: □ 一个客户留言区,显示为带标题的图片墙,就像砖垒的一样: □ 一个功能清单,使用大号 Font Awesome 图标: □ 一个带有自定义价目表的注册区: □ 一个带动态滚动的 ScrollSpy 导航条. 1.概况 有一位潜在客户联系我们,她…
<Redis设计与实现>读书笔记 很喜欢这本书的创作过程,以开源的方式,托管到Git上进行创作: 作者通读了Redis源码,并分享了详细的带注释的源码,让学习Redis的朋友轻松不少: 阅读优秀的源码作品能快速的提升编码内功,而像Redis这样代码量不大(2万多行)却句句精致的作品,当然不能错过: 有兴趣的朋友当好好享用: 源码:https://github.com/huangz1990/annotated_redis_source 以下是这本书重点环节的读书笔记: Redis的内部字符串实现…
Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整理出来一篇blog,详见<Linux Shell文本处理工具集锦>下面是文本处理之外的简单介绍,如果你觉得自己的shell需要充充电,强烈建议读读这本<linux Shell脚本攻略>. 嗨,Echo一下 从 echo开始:带引号的 echo和不带引号的 echo区别:使用带引号时,b…
<Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌   简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中.在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护.   豆瓣地址:https://book.douban.com/subject/26462816/  …
接上篇<android开发艺术探索>读书笔记(十二)--Bitmap的加载和Cache No1: 使用CrashHandler来获取应用的crash信息 No2: 在Android中单个dex文件所能够包含的最大方法数为,这包含Android FrameWork.依赖的jar包以及应用本身的代码中的所有方法. No3: 使用multidex来解决方法数越界 apply plugin: 'com.android.application' android { compileSdkVersion 2…
<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metrics的监控指标体系来统计broker端和clinets端的各种监控指标(metric).说到yammer metrics,其官网过出了这样的一句话: yammer metrics是一个java库,它使得你能够对生产环境代码所做之事具有无与伦比的洞察力. 当然,虽然该项目已经进化到3.x版本,但即使最新版本的ka…
<Linux内核设计与实现>读书笔记--第一二章 20135301张忻 估算学习时间:共2小时 读书:1.5 代码:0 作业:0 博客:0.5 实际学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 耗时估计的公式:Y=X+X/N ,Y=X-X/N 第一章 Linux内核简介 1.1 Unix的历史 由于Unix系统设计简洁并且在发布时提供源代码,所以许多其他组织和团体都对它进了进一步的开发. Unⅸ虽然已经使用了40年,但计算机科学家仍然认为它是现存操作系统中最强大和最优…
<Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书:2.0 代码:0 作业:0 博客:1.0 耗时估计的公式:Y=X+X/N ,Y=X-X/N 第18章 调试295 调试工作艰难是内核级开发区别于用户级开发的一个显著特点,相比于用户级开发,内核调试的难度确实要艰苦得多.更可怕的是,它带来的风险比用户级别更高,内核的一个错误往往立刻就能让系统崩溃. 驾驭内核调试…
<Linux内核设计与实现>Chapter 2 读书笔记 一.获取内核源码 1.使用Git 我们曾经在以前的学习中使用过Git方法 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 更新分支到Linux的最新分支 $ git pull 可以获取并随时保持与内核官方的代码树一致 2.安装内核源代码 压缩形式为bzip2 $ tar xvjf linux-x.y.z.tar.bz2 压缩…
<Linux内核设计与实现>Chapter 18 读书笔记 一.准备开始 一个bug 一个藏匿bug的内核版本 知道这个bug最早出现在哪个内核版本中. 相关内核代码的知识和运气 想要成功进行调试: 让这些错误重现 抽象出问题 从代码中搜索 二.内核中的bug 1.内核bug的表象: 错误代码 同步时发生的错误,例如共享变量锁定不当 错误的管理硬件 降低所有程序的运行性能 毁坏数据 使得系统处于死锁状态 …… 引用空指针会产生一个oops:垃圾数据会导致系统崩溃. 三.通过打印来调试 内核提供…