git¶
一群只说一种语言的人决定修建一座“能够通天的”高塔,上帝见此情形就把他们的语言打乱,让他们再也不能明白对方的意思,并把他们分散到了世界各地。
接下来是个沉重一点的话题git。当年你可能遇到过这种场景, 写了个牛逼的程序, 称之为V0.1, 这个时候交给你的同学, 他开发了功能V0.2a, 这时你开发了功能V0.2b, 趁着记忆中还有修改的印象, 通过复制粘贴把同学的V0.2a修改合并到V0.2b中, 这时你发现连V0.2b的功能都不好了, 跑不动了. 经过调试了半天bug的努力, 连V0.1的功能都运行不了了. 然后V0.1也不知道保存在哪儿了, 然后马上就到了提交代码的时刻了…
这时你需要git
多人并行开发程序, 每个人在各自的分支上修修补补, 开发新功能, 提交pr, 处理冲突, 合并新功能.
知道何人在何时候做了什么修改, 每次修改提交都有记录, 这个bug是某某某写的, 无法抵赖.
不要每个版本都用V1.x后缀来保存一遍了, 可以回到任意指定历史版本, 并且可以保存在本地的或者远程的仓库上.
既然这么好用, 那肯定各个平台下都有git软件啊. linux的多数发行版与macOS自带了git(我记得是). windows需要单独下载, 当然其内置的wsl里有git了, 之前提到的完整版cmder好像也包含了git.
那么哪里可以学习呢? git教程网上一搜一大堆, 这里提供了感觉还行的git相关教程
一款git分支基本操作方面的游戏 git branching (我通关了!)
基本操作熟悉之后, 如果不喜欢这乌漆麻黑的终端的话, 考虑一下图形界面的sourcetree吧, 各平台都有支持.
咱们实验室还有gitlab开源平台, https://git.idrl.site 账号已经分配给各位. 可以配置好本地的git, 配置出现bug询问高年级师兄..
当然,全球最大的代码托管网站github.com中,我们也建了主页,用于对外发布
还有国内的红山开源平台,未来可期,现在看看就好。。。