15 分钟学会 Git,立刻投入生产力,不服来战,哈哈

2015 年 7 月 29 日
 Mark24

一直写到23:54 = =b
好辛苦

本来下午写了个帖子,结果V2EX,300秒之后就不能改动帖子了,不利于修改和检查错误
现在把文章移到Github上了,可以即使的及时反馈修改

所谓编程入门从版本控制开始
不想走弯路的同学,可以过来看看哟

https://github.com/Mark24Code/15minGit


无法访问Github的同学,这有Host文件,自行替换
链接: http://pan.baidu.com/s/1pJqqEvD 密码: e5ce


第一次写文章,大家多多关照

15840 次点击
所在节点    程序员
139 条回复
syv2
2015 年 7 月 29 日
对于新同学,会经常有这样的困惑:我提了问题,我想学习,我想分享,我想提升,为什么大家对不友好?

每次看到这样的情况,我都蛮愿意分享下自己的一些心得,但愿能为你提供点帮助。

1 对于软件开发行业,一通百通真的是非常非常常见,根据我的观察,新同学们问的许许多多的问题,其实完全是基础知识不牢固,又急于解决,只想听答案,根本不想听什么原理,大家在回答这类问题时,出于好意更多地愿意说说原理方面的知识,新同学根本不领情,也根本不在乎,时间久了,大家觉着挺没意思的,这样教人真没意思;

2 根据我的观察,很多人在学校里只学学工具的使用,而轻视原理,学什么东西都非常重视工具,觉着工具好工具好,这点非常不好,把自己局限在某一工具上了,不会有更深入和更长足的发展;

3 经验是非常重要的一件事,没有新理念出来之前,大家比的就是经验,新同学往往觉着别人太迂腐,其实大家都差不多,GUI 和 CLI 并无本质上的区别,但是当别人的操作经验比较多的时候,最好能谦虚一些;

4 分享是美德,但是切记不要班门弄斧,以本文为例吧,楼主提出文章能吸引这么多人来看,说明大家对这个话题还是比较关注的,确实是这样,对于日常的应用来说,大家用的最多的也就那几条命令,进来看看是为了看是不是有新东西,结果好像并不如意;

5 写文档,写教程,为了整理也好,为了让别人看也好,请专业,行文方式和遣词造句一定要正式,楼主这篇教程,写的跟QQ上跟别人闲聊似的,完全不是个文档的样子,这样说楼主可能会觉着委屈,觉着自己写的这么生动,为毛大家不领情啊?说真的,请专业,请专业,请专业。
dustinth
2015 年 7 月 29 日
这篇属于看了评论我不放心了系列...
syv2
2015 年 7 月 29 日
加点个人好恶:「生产力」 这个词,真是被用滥了。讲「生产力」的时候,是指产出,是具体有价值的成果,而不是操控工具提升效率,大多数人的经验和智商,还轮不到说自己「产出」的东西有多少价值,更何况是否有价值这件事,本身就是别人或社会来评定的,自己给自己个好评说生产力棒棒的,算怎么回事?
GuangXiN
2015 年 7 月 29 日
我不相信任何15分钟学会xxxx的文章,以前看过十分钟教你学会C语言,结果只是教你写出Hello world。就连SVN那么简单的东西15分钟顶多听人讲一遍,或者看一遍教程,能记住几个常用命令跟着试一遍就不错了,根本不可能“学会”,更何况是git这种复杂的版本控制工具?你要是改成七天Git入门教程还有点谱。

然后随便看了看你的教程正文,干货不多,吐槽废话一堆。

你说git的设计就是一坨狗屎,甚至没有设计。你之所以会有这种感觉,是因为你根本没接触过像Linux内核那么复杂的软件项目。甚至连一个商业公司里的20个程序员协作开发的项目你都没做过,你从来没遇到过SVN在处理分支合并上有多么痛苦,根本不明白同事commit一段代码你不update不能commit,update之后尽管没有冲突但是代码根本连编译都过不了是什么感觉,恐怕你更想不出Linux内核需要在全球上千家公司、开源组织、学校之间,在数以万计的程序员之间协作是一种什么情况。

你以为把clone add commit push pull等等命令讲一遍就叫学会git吗?等你真正理解了git每个命令的功能和这些功能为什么被设计出来,明白了他们的设计者是要解决什么实际代码管理中遇到的问题之后,回过头再看看svn你就会发现它简直就是给非程序员用的玩具。你说的没错,SVN的主线傻子都能看明白,然而它也就做到这个水平了。还设计的典范呢,北京地铁只有一号线和二号线两条线路的时候,随便你怎么画地铁路线图都能成为设计的典范,到现在二十几条线路纵横交错的时候你连能简单清晰地让人找到换乘路径这才是真工夫。至于Linus为什么选择git,那是因为svn这种单中心的版本控制系统根本无法应对Linux内核开发组面临的实际状况,而分布式版本控制系统里hg是用Python实现的,而且代码仓库里保存的是diff,性能根本跟不上一个巨型代码仓库的需求。hg在历史只有几万个commit,和几十个branch并存的情况下表现良好,但是如果有上千万个commit和上万个branch的时候就慢得跟蜗牛一样。

Git的流行当然少不了Github社区的推动作用,在SourceForge还在玩CVS的时候Google Code用SVN和hg抢了不少生意,可是Github一发展起来,他们都趴了,原因我没分析过,反正事实是很多人先听说Github然后才知道git。

顺便再吐槽一下你吐槽JS,JavaScript是现在唯一广泛流行的lambda语言,虽然它有着像C一样的语法,支持指令式编程,但JS的语言模型的实质是函数式语言。JS的确是10天就设计出来第一个版本,可是时至今日,JS已经发展了多少年,你真的以为后期就没有任何人改进和完善它吗?至于你说的Python,我还是头一回见到一种广泛流行的语言居然3.x和2.x不兼容,各种库都要重写,呵呵。

TortoiseGit为什么那么烂,因为那是一帮做SVN的家伙搞的啊,他们想把SVN的所有概念都硬套到Git上面来,让他们的用户可以保持SVN的使用习惯,这种做法完全就是一个Joke。

至于你说SourceTree有多好多好,我同事有用的,他到今天还是记不住checkout、branch、origin这些单词怎么拼写。当然我懒得跟你争GUI和CLI哪个好,你开心就好。但是git这种程序员用的工具CLI遇到问题Google一搜解决方案一大把,而GUI搜半天找不到有用的答案,写邮件给GUI的开发者然后等三天才有人回复这是不争的事实。

如果你真的想写一篇好的教程,多写点知识性的东西,把Git的基本模型图翻译一下,指令讲解一下,流程介绍一下,工作中常见的问题分析一下,少胡乱吐槽舒发情感。
Mark24
2015 年 7 月 29 日
@syv2 受教,我特别关注你辣~\(≧▽≦)/~啦啦啦
Mark24
2015 年 7 月 29 日
@GuangXiN 引用“如果你真的想写一篇好的教程,多写点知识性的东西,把Git的基本模型图翻译一下,指令讲解一下,流程介绍一下,工作中常见的问题分析一下。”
我是打算这么做的
后期整理一下吧,现在才完成了一小步

同学这么卖力回复,直接特别关注

多多指正
我会努力的啦
Mark24
2015 年 7 月 29 日
@dustinth 我会努力的O(∩_∩)O哈哈~
Mark24
2015 年 7 月 29 日
看了很多人的吐槽

学到了很多,有的同学及其认真
以至于我觉得目前写的东西对不起他们浪费的时间
一种愧疚感……油然而生……哎

总之嘛,大家各取所需,不必太认真……我个人的吐槽
Github上欢迎指正错误
文档持续改进ing

今天公司大神给我们开会啦,受益颇丰
看来为了写好教程,我得深入学习Git啦

都怪这标题起的
应该叫《Source Tree入门指南--->点点鼠标也能用Git》

O(∩_∩)O哈哈~
djyde
2015 年 7 月 29 日
@Mark24 我是小白的时候就用 cli。。
Mark24
2015 年 7 月 29 日
@djyde 我也用,后来不用了,懒得打,我比较懒
Mark24
2015 年 7 月 29 日
@syv2 你的吐槽,是我提高的动力,给你10个铜币,慰劳你打这么多字

我觉得,不管有人捧,还是有人吐槽

都是我努力的动力,O(∩_∩)O哈哈~
Mark24
2015 年 7 月 29 日
@anthonyeef 虽然你Block我了,但是你说的我都听进去了,给10个铜币,陌生人,还给我打这么多字,也是缘分。你的吐槽是我的动力,我会努力的~
laosb
2015 年 7 月 29 日
@syv2 非常赞同。
kiray1
2015 年 7 月 29 日
全文总结:就是推荐了一个source tree的客户端
neoblackcap
2015 年 7 月 29 日
@Mark24 要不你试试commit一个100M的镜像文件进库里面,然后随便改下其他的文本文件,多commit几次,你再看看库的大小。git的机制就决定了它若是有二进制文件就会导致库的大小快速递增。

同样的事情可以用svn, perforce, hg分别试试
abmin521
2015 年 7 月 30 日
一天就300星了 这么快
shn7798
2015 年 7 月 30 日
@Mark24 请问里面的流程图用什么工具画的?感觉很不错哦, 谢谢!
bdbai
2015 年 7 月 30 日
@Mark24 无论是日常还是复杂场景,命令行都是实打实的操作;GUI感觉软件做什么,以及产生的副作用自己完全不清楚,个人还是倾向命令行一点。新人入门命令行没有你说的这么难,冲突处理之类的也很清晰。
个人认为新手教程讲一些基本概念足够了,接下来看读者兴趣吧。
JohnSmith
2015 年 7 月 30 日
cli + history 其实还好
gitcafe
2015 年 8 月 28 日
可以试试看 GitCafe 做个自己的小博客哟~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/209067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX