注解目录
1、关于 Git
1.1Git 今生
(Git 和 Linux 的生父都是 Linus,振南给你讲讲当初关于 Git 的爱恨情愁,其背后其实是开源与闭源两左阵营的明争暗斗。)
1.2Git的爆发
(Git 超越时代的分布式思想。振南再给你讲讲旧金山三个年轻人创办 GitHub,打败Google,逆袭上位的创业故事。据说 GitHub 服务器要放到火星去? )
2、用Git代码
2.1Git化使用
(以实例来讲解代码仓库的创建、提交、分支等基础内容。)
2.2 Git 的远端使用
(以实例来讲解仓库的克隆、推送等基础内容。)
2.3代码拯救纪实
(绝不会把代码弄丢。一次有惊无险的代码追回经历,根源是对 Git 机制理解不深。)
3、用Git 管理硬件PCB
(对于硬件资源你是如何管理的? final _final _打死不改_final_1.2.zip? 还是用 Git 吧。)
3.1Git的增量
(Git 具体是如何对资源进行管理的? )
3.2 AD 中的Git
(AD 是原生支持 Git 的,让我们把它利用起来。)
3.3PCB 工程的协作开发
(团队协作中的冲突是如何产生的?如何解决冲突? )
用Git 管理硬件PCB
PCB 工程的协作开发
我们使用 Git 一方面是为了管理版本,另一方面是让开发工作实现并行化和更好的团队多人协作。Git 解决了很多团队协作过程中经常出现的问题,遇到最多的就是多人同时开发同一分支,如图 4.53 所示。
图4.53 多人同时开发同一分支时push失败
解决的方法就是 A 应该先 git pull,将远端仓库同步到本地,并在本地完成合并和提交,然后再 push。具体过程,如图 4.54 所示。
值得注意的是,在 pull 之后在本地进行合并时,是有可能出现无法自动解决的冲突的,这
图4.54 多人同时开发同一分支时push失败的解决方法
就需要我们手动来进行解决。根本问题在于,为什么会出现无法自动解决的冲突?这种情况绝大多数都是因为多人编辑了同一个文件,并在文件相同的位置上存在不同的内容,造成 Git无法决定舍谁留谁。这种情况,一般需要参与开发的工程师共同商量,以人工方式来解决冲突。
如果多人在同时设计一张电路原理图或者 PCB 版图,那是否可以合并呢?答案是否定的.因为 PCB 文件是二进制的.而非字符。对于二进制的合并,将毫无意义。
本章关于 Git 的介绍就到这里,希望大家早日上手。其实本文所讲的内容都是皮毛中的皮毛,Git 工具远比我们想象的要强大得多,GitHub 也远比我们想象的要浩瀚得多。关于更深层的应用,还要等着大家深入去研究发掘。
GitHub 是全世界程序员智的结晶,是一笔目的财富,是无数开源主义先驱努力奋斗的成果。在闭源软件圈地为王、Windows 等商业软件大行其道甚至垄断的历史背景下,开源者力排众议,自力更生,集结所有有生力量,共同构建了开源软件的庞大生态,这是伟大的,前无古人的!
向开源者致敬!!!