http://happycasts.net/episodes/34 git 是一台时间机器,我们可以让 git-reset 带我们回到从前,后悔从未如此简单。
以上都是压缩后的实实在在的时间,实际过程会分散在 2~4 个工作日内,不过过程中会读到很多相关还有不相关的文章,快乐的很。
录制的时候很多错误,有时会停下来想几分钟,有时会把录好的一小段 cut 了重录,所以会用 3 个小时,哈哈,笨啊
#5 楼 @happypeter 我觉得你做的视频非常的好。 这个关于 git reset 的视频 我正在看,一共是 17 分钟, 我觉得,时间如果在 10 分钟以内的话,效果会更好。
真可谓 分享 10 分钟 幕后 10 天功 啊!
非常感谢你的分享。
#8 楼 @happypeter git reset
我一直在用
soft
和 hard
我都经常使用,
不过我从来没用过 mixed
也头一次听说。
我还没有仔细研究,
不过我隐约的感觉,我的确有这种需求。
@happypeter 我看视频的时候,发现你使用了以下两样东西:
1 ./gitconfig 我对 gitconfig 的了解, 仅仅限于 user.name user.email, 非常希望, 你今后能和我们分享一下.gitconfig 的使用技巧
2 tig 我看到你在很多 git 视频中都使用了 tig, 于是我也在 ubuntu 中装了一个, 我发现 tig 的确很不错,似乎甚至可以用来做 code review。
非常希望,今后你能分享,你经常使用的小工具和小技巧。
为了减少你的工作量, 我想,甚至你都无需做一个视频, 你只要列出你经常使用的小工具的名字以及用途, 我们可以自己去 google 和研究。
非常感谢!
#14 楼 @ery git-config is on my TODO list now, thx for your feedback.
Tig is cool in that it works right in the terminal, before I used gitk and suffered a lot from the flashes switching to GUI.
And Yes like anybody of us, I use all kinds of small tools for the job, but I do think people's interest varies, it's hard to put up a list that is not a big mess
Any awesome tool I really love, I will put up a new happycast for everybody, and requests are always welcomed.
#17 楼 @happypeter 太客气了,我也是想认识些国内的同行,有机会合作就最好了,可以多交流。认识国内作开发的不多,以前在北京见过几个做 Ruby 的,但好像都不在这儿。
#19 楼 @happypeter 欢迎欢迎!
你的付费已经处理好了。我们的付费过程用的是 Stripe, 我认为是所有现在 payment gateway 里面做的最好的。有什么觉得不太对的么?
还有,确认 email 收到了吧?
#21 楼 @happypeter 谢谢反馈意见。我想是因为页面布局没有做好,我们开始的时候想试试 Liquid Layout 但感觉并不是很理想,准备换成 Responsive 的。看起来页面就没那么空了。
#12 楼 @fsword #9 楼 @ery #1 楼 @lgn21st #22 楼 @knwang
我想给楼上各位分享的是,除了 reset ,其实还有一个很有用的命令:checkout, 功能很类似 reset.
好吧,你们一定以为我在忽悠:
但是:git checkout 44abd17
我觉得不见得每个人都这样用吧。
如果你仅仅是希望恢复之前某个版本的某个文件,或者仅仅是希望自己手动比较两个版本的某个文件,这是一个很快捷而且感觉更保险的方式
.
具体效果可以找一个 SHA1 值 checkout 去试试。任何时候,你都可以通过 checkout 回原来的分支,来取消原来所做的任何更改。
好吧,我承认,我回复这个帖子的初衷是:连我自己都觉得 checkout 这样的用法很奇怪。
还是那句话:大多数人应该都是用 checkout 来 切换到 分支 或者 co 出 index 的内容的吧 ?
这个很容易能看懂,但是我很怀疑,真的很多人这样用吗?
没有,就是随便讨论下。
其实 checkout 和 reset 太像了 (我记得男人里说:checkout 就是用 reset 来实现的), 你在#24 楼 说的几乎是我所了解的 co 和 re 的唯一的差别了。
有时候想在之前的某个 commit 之上创建实验性分支,与其先想分支的名字,然后创建并且换到分支,再 reset --hard 到那个状态,不如 直接 co 到 那个 分支,想怎么改怎么改,改的差不多,觉得有留下的必要,然后 co -b 到一个新的分支。
至少在这种场景下,co 比 reset 的效果要好。而且,还有个好处,就是你说的,他不会让你 index 里面的东西丢失,因为 index 如果有东西,co 是不会成功的。这样也更安全。
强烈建议 @zw963 同学读下这篇文章后写篇总结 :) http://git-scm.com/2011/07/11/reset.html
太长了,还是 E 文,有空再看,哈。
不过那个标题很好:local-branching-on-the-cheap
我觉得还应该加个副标题:local-commit-on-the-cheap-too
我计划养成个习惯,写三行代码就提交个 commit, 记录下自己的思路。
#38 楼 @happypeter 明白,我的习惯是,只要我新写的代码能够通过 test 我就 commit,我喜欢频繁的 commit。当然,最后也会合成一个大的 commit。