一直写到23:54 = =b
好辛苦
本来下午写了个帖子,结果V2EX,300秒之后就不能改动帖子了,不利于修改和检查错误
现在把文章移到Github上了,可以即使的及时反馈修改
所谓编程入门从版本控制开始
不想走弯路的同学,可以过来看看哟
https://github.com/Mark24Code/15minGit
无法访问Github的同学,这有Host文件,自行替换
链接: http://pan.baidu.com/s/1pJqqEvD 密码: e5ce
第一次写文章,大家多多关照
![]() | 1 lazyyz 2015-07-29 00:09:54 +08:00 不错,已star |
![]() | 2 bdbai 2015-07-29 00:14:09 +08:00 via iPhone 很佩服楼主的胆识。 不过还是觉得cli方便,gui信息量太大会密恐。 已star。 |
![]() | 3 nowcoder 2015-07-29 00:18:55 +08:00 支持,已star |
![]() | 4 w88975 2015-07-29 00:34:15 +08:00 多写写cli的教程比较好,cli用的熟,GUI很容易上手,但是GUI用的很熟,看cli就不行了. 我是非必要情况下,都用cli,除了一些特别繁琐的操作,比如回退某个版本,才会用到sourcetree |
![]() | 5 littlexiang 2015-07-29 00:40:23 +08:00 Jetbrains集成的已经很好用...其他操作用cli sourceTree用了两天感觉太繁琐就放弃了... |
6 siteshen 2015-07-29 00:44:26 +08:00 赞助图片抢尽了风头。。 |
![]() | 7 mcfog 2015-07-29 01:17:37 +08:00 本来想star的,然后看了看内容,还好没star… 信仰冲突太厉害了。 svn设计好?git设计烂? 事实是世界上绝大多数代码协助都迁移到git了。 设计时间短就是设计不好?你的逻辑呢? 还有tortoisegit是我唯一无比想念始终没能找到合适替代的windows软件,甩source tree几条街。 至于js什么的我就不多喷了,偏题太远 |
![]() | 8 railgun 2015-07-29 01:23:33 +08:00 @w88975 我的观点不一样,除非GUI不能完成的操作,我才会用命令行。 因为我觉得,GUI的目的就是为了简化操作的。能简单尽量简单 |
![]() | 9 metaphor 2015-07-29 01:26:20 +08:00 作为一个sourcetree粉赞一个,已经star,SourceTree很适合新手入门的,了解一些git的应用场景和概念,关键很多复杂的命令不需要记住。只要一个应用场景用熟悉了,转到cli并不困难。 |
![]() | 10 banri 2015-07-29 01:35:36 +08:00 SourceTree用户赞一个,可以拿来部门尝试推广。。。 谢楼主 |
![]() | 11 q84629462 2015-07-29 01:39:54 +08:00 楼主,我有个问题,怎么样在github上以网页形式查看15minGit.html?不想下载~ |
![]() | 13 tracyone 2015-07-29 01:45:07 +08:00 via Android vim加一些git插件足以。相信其它热爱开源,linux,cli的人也是类似的搭配。 |
![]() | 14 msg7086 2015-07-29 01:46:26 +08:00 不值得是不是我的错觉。就看到大篇幅在喷。 |
![]() | 15 Andiry 2015-07-29 01:51:39 +08:00 简单看了下内容,简直一坨翔,喷都懒得喷 |
![]() | 16 magicyu1986 2015-07-29 01:54:13 +08:00 已star |
![]() | 18 Andiry 2015-07-29 01:54:45 +08:00 另外git add是用来添加新文件的,只改已有文件的话你git add个毛啊 |
![]() | 19 boter 2015-07-29 01:56:05 +08:00 via iPad 还是感觉GUI没效率,切换一下窗口,两行代码都敲完了 |
20 neoblackcap 2015-07-29 02:06:17 +08:00 我就想问问git在处理二进制文件的时候是不是傻逼? |
21 phx13ye 2015-07-29 02:07:28 +08:00 很好, 学习一下 |
![]() | 22 Syaoran 2015-07-29 02:10:19 +08:00 via iPhone gui无爱 |
23 stevenlordiam 2015-07-29 02:42:16 +08:00 ![]() |
![]() | 24 ligyxy 2015-07-29 03:11:03 +08:00 写得挺好的 只是15分钟是噱头这事不都是最后在说的嘛 :P |
![]() | 25 LazyZhu 2015-07-29 03:25:09 +08:00 新版Git的Windows的客户端很好啊, 配合ConEmu更佳 https://github.com/git-for-windows/git/releases 旧版的: https://github.com/msysgit/msysgit/releases |
![]() | 26 ChefIsAwesome 2015-07-29 07:47:38 +08:00 via Android 不要写那么多主观的东西 |
![]() | 27 anthonyeef 2015-07-29 07:54:00 +08:00 只有我觉得吐槽的篇幅太多了吗? 另外 typo 也很多,以及使用换行来代替标点符号的做法很让人反感。已经到了影响阅读的程度。 最后是对命令行的 Git 介绍太少。不能因为作者自己使用命令行的频率小,在写文章的时候就略过这一块。 我点击了 downvote ,因为确实不合我胃口。 |
28 star |
![]() | 29 anthonyeef 2015-07-29 08:11:30 +08:00 ![]() 总结一下楼主的吐槽: [吐槽V2EX] “本来下午写了个帖子,结果V2EX,300秒之后就不能改动帖子了,不利于修改和检查错误” 在楼主原本那个帖子的回复里: “300秒后不能编辑……谁定的那么傻的 ” [吐槽 Git 的经典书籍] “抛下那些迂腐不堪的书本”“我打赌,看那些看得越久,你只会觉得Git越难用” [吐槽 Git ] “并且用过SVN的同学,还会吐槽Git设计的复杂” “虽然我不是大牛,但是我站在用户的角度,非常想吐槽,Git设计的就是很烂 ” “说点通俗点,设计的就是一坨狗屎,完全找不到规律 ” “这玩意就是 东一墙,西一墙盖起来的 我在怀疑有没有设计过! 只有Linus他自己知道,他到底有没有设计过 ” “Git设计的都这么烂 你在看他的命令行设计的 我靠 简直就是随意 ” [吐槽 Linux 社区] “要我说Linux社区宗教性十足,被追捧的大神…… 但是往往盛名之下,其实难副 ” [吐槽 Javascript ] “JS这门语言设计的最烂 ” “JS就是一坨屎” “随着越了解JS,越感觉JS设计的烂” “但是JS里没有清晰的设计逻辑 而且语法之混杂,糅杂了C,Java ...的各种语法 ” “JS和Git一样 都是没有用心设计过的产物 得过且过,功能为上的产物 ” [吐槽 Git 的 gui 客户端] “Git本身的Windows上的客户端,烂的不堪,直接忽略” “TortoiseGit这种设计烂的软件 我都懒得推荐 个人把它拉入黑名单 推荐大家也别用了 界面丑也就算了,基本上反直觉 在图形化如此发达的今天,这种软件竟然还存在 这些也就算了,反正开源软件,界面质量都不高 但是问题,这个软件刷新率不高” [吐槽术语] “术语是个头疼的东西,用来设计技术壁垒用的,其他的,我觉得一点用都没有” |
![]() | 30 Joming 2015-07-29 08:17:35 +08:00 小伙子不错,年轻有为,star |
![]() | 31 TangMonk 2015-07-29 08:23:22 +08:00 不错 |
![]() | 32 GG668v26Fd55CP5W 2015-07-29 08:44:13 +08:00 via iPhone @Andiry 别瞎喷,git add 是把修改加入暂存区,并不只是加入新文件。修改了已有文件再git add,然后git commit, 这是正常做法好吧,我很怀疑你是否手动处理过冲突 |
![]() | 33 kn007 2015-07-29 08:48:31 +08:00 我想问下,为毛我在本地准备往github丢项目,每次都要改config? 要把 https://github.com/kn007 改成 [email protected]:kn007 话说我一般是在github新建项目,git clone下来。 然后做完提交,就出现上传不上去问题,照上面改就行了。。。 |
37 ekeyme 2015-07-29 08:57:02 +08:00 非常有用的教程,已star!svn 与 git 都使用过,还是喜欢git! |
![]() | 38 Mark24 OP @anthonyeef 哈哈,被逗乐了,同学,你的关注点好奇怪 ^.^ |
![]() | 39 wolfan 2015-07-29 08:59:56 +08:00 satar~ 另外问下,那图是用什么程序作的。 |
![]() | 40 kn007 2015-07-29 09:01:24 +08:00 |
![]() | 41 Mark24 OP @bdbai 真心建议试试,Source Tree真的很简单,日常操作,gui有效率,点个两三下吧~不否认复杂场景,cli更有效,但是表示是15分钟学会git,如果真的是cli教学,未免太自不量力了,你说是吧~ |
![]() | 42 wolfan 2015-07-29 09:03:16 +08:00 ( ̄ ̄|||) 我错了…… |
![]() | 43 Mark24 OP @littlexiang 我也用Jetbrains的东西,简直超神IDE^.^,有的时候,有些场景IDE没必要,Source Tree配合编辑器更有爱~ |
![]() | 44 Mark24 OP @siteshen 昨天半夜里,Mac没有美图秀秀,一会把图片改小,现在都是Retina的屏幕。一截图,一大坨,没办法的事,图大的,确实太招摇 |
45 qinkun1234 2015-07-29 09:07:51 +08:00 |
![]() | 46 dacapoday 2015-07-29 09:12:53 +08:00 https://try.github.io/levels/1/challenges/1 这个怎么样呢,实时交互的,没什么话,敲命令,看结果就行 |
![]() | 47 sunjourney 2015-07-29 09:13:06 +08:00 敢问lz图是用什么画的? |
![]() | 48 Mark24 OP @mcfog 这个我想聊聊,楼主评判设计有自己的见地,核心的就是K.I.S.S原则(没听过的,自行百度),这个世界有偏向于K.I.S.S的,有不偏向的,楼主就是偏向于K.I.S.S原则的。同样的设计方案,同样能完成任务,符合K.I.S.S原则,加分,认为比较美。Linux/Unix社区一直以K.I.S.S原则自居,所谓Unix哲学(具体自行百度),引用几句“1.小即是美 2.让程序只做好一件事……“各种吧啦吧啦,偏偏Linux社区的出现了Emacs这种东西……自己打脸。这就是为毛说,盛名之下其实难副。至于为什么迁移到Git?因为能完成分布版本控制的,只有一个嘛,有胜于无,而且Linus还是领导者,其他的我就不多说了。就像vim,emacs之争,谁爱争谁争,反正我用Sublime Text,就是好用~Source Tree所见即所得,很赞 |
![]() | 49 Mark24 OP @sunjourney 图片来自于互联网,是自己学习的时候,攒下来的图,来源我已经忘了。如果你真想画图,Dia这个开源软件,你可以试试,商业软件好的很多,就不多赘述了 |
![]() | 50 Mark24 OP @wolfan 图片来自于互联网,是自己学习的时候,攒下来的图,来源我已经忘了。如果你真想画图,Dia这个开源软件,你可以试试,商业软件好的很多,就不多赘述了 |
53 BOYPT 2015-07-29 09:21:23 +08:00 那种 [团队] 的学习成本,远超出想象。 |
![]() | 54 Mark24 OP @msg7086 楼主特色,这个世界实在诸多不完美,软件本应该智能……太多太傻的设计,见到就想吐槽啊……我是不是传说中的吐槽星人 ^.^ |
![]() | 57 Mark24 OP @anthonyeef 哈哈,换行代替逗号,是我的癖好,看起来比较干净。这本来就是一个给小白的教程,小白可以不用看厚厚的书,也能学会Git,至于cli,我相信,用Source Tree能够加速他们理解命令,我自己就是这样子过来的,因为Source Tree所见即所得,比较接近直觉~大神勿嘲笑 |
![]() | 58 Mark24 OP @ChefIsAwesome 下次注意 |
![]() | 59 zhicheng 2015-07-29 09:27:27 +08:00 via Android 写的真棒,欢迎发到 TextArea.com 哦。 |
60 pengzj 2015-07-29 09:28:11 +08:00 好人,写的不错 |
![]() | 61 oska874 2015-07-29 09:38:32 +08:00 @anthonyeef downvote 在哪点的? |
![]() | 62 Mark24 OP 不知道Boss上不上V2EX,看到我上班时间,上论坛,不知道会不会撕了我 各位同学 我先搬砖 有空继续写 看到反馈,有人希望添加,解决冲突的内容 会写到的~ 而且有一个策略,可以尽量避免冲突~ 敬请期待 =========== PS. Git一直有一种山顶的意味存在着 因为设计的复杂,还有难懂的厚厚的手册,让所有新手望而生畏 作者不才 就偏偏要干掉这块难啃的骨头 我相信 完成这部作品,应该每个人都可以轻松使用Git了 使用Git的方式不重要(图像或命令行) 能用它投入学习工作最重要 本着实用主义+K.I.S.S原则 让Git不在是某些人的"专利" 人人皆可用Git |
![]() | 63 djyde 2015-07-29 09:39:32 +08:00 还是觉得 CLI 比 GUI 效率高。。 |
![]() | 65 malcolmyu 2015-07-29 09:40:04 +08:00 @anthonyeef 哈哈哈,楼主对于一坨狗屎有着很深沉的热爱 |
![]() | 66 Mark24 OP @djyde 对于小白,是相反的,这是写给小白的教程。CLI 效率高,图形界面还是占领世界,软件的目的,就是简化复杂。各取所需。我相信,学会Source Tree可以加深对CLI的理解,加速对CLI学习的速度。这个是关键。方式本身,不重要。GUI仅仅是脚手架,CLI大神大可不在乎,对呀呀学步的小孩却有重要意义,就这样子~ |
68 sincc 2015-07-29 09:44:42 +08:00 ![]() 首先,我看到这个 “15分钟学会xxx“的标题,就基本知道文章的质量了。 svn是我用的第一个版本控制软件,集中式的管理非常适合团队和企业。但对于分布式的开发来说,灵活度远远不够。 git 作为分布式版本控制软件,已经获得非常大的成功,看看github和gitlab吧。 其实git的功能十分丰富,安全性也非常高,只要你commit过的,只要不删除.git文件,就一定能找回来,哪怕你revert, reset,rebase过。 git能适应各种workflow,既可以作为本地版本控制,也可以作为分布式,甚至跟svn一样作为集中式版本控制(参照gitlab)。 git作为集中版本控制来用,其实其简洁程度不亚于svn, git add, git commit, git push, git pull, git diff这四条命令基本可以完成平时 90% 的工作了,而剩下 10%的复杂工作,git也能用一两条命令完成。我实在看不出这cli设计哪里烂了。 如果入门教程的话, 看这个 http://rogerdudler.github.io/git-guide/index.zh.html 会比较好。完整的教程看这里 https://git-scm.com/doc 个人觉得作为一个软件开发人员不善于利用cli,实在是失败。 另外 就跟 @Mark24 说的一样,你用你的svn,我用我的git ,谁爱争谁争。 |
69 sincc 2015-07-29 09:44:42 +08:00 首先,我看到这个 “15分钟学会xxx“的标题,就基本知道文章的质量了。 svn是我用的第一个版本控制软件,集中式的管理非常适合团队和企业。但对于分布式的开发来说,灵活度远远不够。 git 作为分布式版本控制软件,已经获得非常大的成功,看看github和gitlab吧。 其实git的功能十分丰富,安全性也非常高,只要你commit过的,只要不删除.git文件,就一定能找回来,哪怕你revert, reset,rebase过。 git能适应各种workflow,既可以作为本地版本控制,也可以作为分布式,甚至跟svn一样作为集中式版本控制(参照gitlab)。 git作为集中版本控制来用,其实其简洁程度不亚于svn, git add, git commit, git push, git pull, git diff这四条命令基本可以完成平时 90% 的工作了,而剩下 10%的复杂工作,git也能用一两条命令完成。我实在看不出这cli设计哪里烂了。 如果入门教程的话, 看这个 http://rogerdudler.github.io/git-guide/index.zh.html 会比较好。完整的教程看这里 https://git-scm.com/doc 个人觉得作为一个软件开发人员不善于利用cli,实在是失败。 另外 就跟 @Mark24 说的一样,你用你的svn,我用我的git ,谁爱争谁争。 |
![]() | 70 skylinelayla 2015-07-29 09:47:58 +08:00 赞一个 |
![]() | 71 zixincao 2015-07-29 09:49:22 +08:00 我也给个star! |
![]() | 72 jsjgjbzhang 2015-07-29 09:53:47 +08:00 楼主 mac下的sourcetree有中文版的了么 |
![]() | 73 anthonyeef 2015-07-29 09:57:54 +08:00 via Android @oska874 帖子标题左边的小箭头。 |
![]() | 74 TakanashiAzusa 2015-07-29 09:58:11 +08:00 现在star真好骗。 |
![]() | 75 Mark24 OP @jsjgjbzhang 支持的,楼主Mac,Windows都在用,都支持,设置:SourceTree菜单--工具--选项--一般--杂项--语言-->汉语 |
![]() | 76 Mark24 OP @TakanashiAzusa 作者真的很努力哎~不过个人觉得,前面都是铺垫,后面的解决冲突的策略才是重点,可是红花需要配绿叶,心灵鸡肉总要配鸡汤,还要等一阵子~ |
![]() | 77 tigerZhang 2015-07-29 10:03:32 +08:00 就楼主这种开源精神,star! |
![]() | 78 kenshinhu 2015-07-29 10:05:23 +08:00 这个不错。要是可以结合SVN一起做个对比就更加好了。 |
![]() | 79 Mark24 OP @neoblackcap Git没法追踪二进制,因为二进制都是010101,追踪了没多大意义,反正你又看不到,也不会挨个挨个改。一般都是整体替换掉。文本不一样。这是Git的局限之一。二进制文件,机器码之类的……还是找文本源码吧;图像之类的,用图像软件。对了,doc好像也是二进制……没办法,M$有那么多人要养活 |
![]() | 80 unique 2015-07-29 10:10:51 +08:00 mark |
![]() | 81 cysnap 2015-07-29 10:16:10 +08:00 |
![]() | 82 xuzhongzhou 2015-07-29 10:20:00 +08:00 写点快速入门是不错,方便初学者。但是不同意楼主文章前面的吐槽。 |
![]() | 83 kukat 2015-07-29 10:22:10 +08:00 虽然有些观点不同,但佩服楼主的分享精神 另外建议楼主注意下排版,推荐用gitbook写文章 |
![]() | 86 Mark24 OP @xuzhongzhou 这就是快速入门。哈哈,吐槽就是为了欢乐,不必在意 |
![]() | 87 cxh116 2015-07-29 10:30:26 +08:00 你在没有网络的情况下,使用svn看看? |
88 webjin 2015-07-29 10:34:22 +08:00 不错 |
![]() | 89 hxtheone 2015-07-29 10:36:27 +08:00 前面一大段吐槽,后面一大段讲SourceTree,真正讲Git的才多少东西,只能说star真好骗= = |
![]() | 90 breeswish 2015-07-29 10:40:20 +08:00 赞一下分享 对了我是 git/svn 的用户,楼主请不要代表我。 svn 上手容易,不用看手册就知道怎么玩;git 上手不容易,不看手册并不知道怎么玩,然而这并不是 git 的设计不合理git 很多操作在流程上仅仅比 svn 多出一步,却可以产生比 svn 有用得多的功能:无网络也能版本控制、分布式版本控制、可以只 commit 文件一部分等等,在我看来这就是强大功能和简单操作的一个很好例子。 |
![]() | 92 @railgun 因为开发的大部分操作,都是cli在操作,git的操作就直接用cli了,而且一般的普通命令也不繁琐,我用cli的git比GUI的速度快好几倍. |
![]() | 93 zhengkai 2015-07-29 10:48:01 +08:00 我觉得可以延长到 20 分钟,然后把 rebase 和 reflog 加进去 |
![]() | 94 Mark24 OP @breeswish Git功能没的说,很好很强大……我说他,分解的太乱,不利于学习……吐槽点在这里。为什么不分解的好点……感觉再说下去,马上就进入“ u can u up了”……匿了 举个例子,同样都是手机,一个放了100多个功能键,很好很强大……一个触摸,多点几次也能完成……你觉得哪个设计的好?我知道,说到这,应该懂了 |
96 Marfal 2015-07-29 10:54:28 +08:00 |
![]() | 97 ghostxdy 2015-07-29 11:02:31 +08:00 已star |
![]() | 98 breeswish 2015-07-29 11:06:01 +08:00 @Mark24 你这举得例子不对……首先从功能来说,你觉得 git 所设计的什么流程或功能是无用的或者不好的,应该删除或者改进呢?如果没有的话,只能说它好了 :-) 要说它分解得太乱,请至少举一个例子,来说明怎样做应该是好的。 个人觉得,git-scm 不是一个“操作手册”,所以不能以「我想快速知道 git 该怎么用」为目的来阅读它。你写的这个叫做 SourceTree 操作手册,或者说 SourceTree Getting Started…,并不能使人学会 git。 |
100 icecoffee 2015-07-29 11:22:28 +08:00 ![]() 15分钟xxx, 标题党啊。 git 还是别速成的好, 基本没希望的。 有问题多翻文档和stackoverflow |