TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

10 things I hate about Git

28 点作者 fogus大约 13 年前

8 条评论

YuriNiyazov大约 13 年前
Git is a generic management tool for a directed acyclic graph, applied to version control. Once you internalize that, everything falls into place, trivially.
评论 #3681460 未加载
MattJ100大约 13 年前
11. Github.<p>Don't get me wrong - Github is an excellent site, well built and very useful. However there is a rapidly growing trend of people taking Github as the <i>only</i> place open-source software can live, while I choose to host my own repositories. Github is becoming the Facebook of open-source.<p>Am I the only person who feels this way?
评论 #3681052 未加载
drcode大约 13 年前
It seems like no matter how much time I spend trying to learn git and its commands I still continue to only understand a tiny sliver of them. The rest I figure out by browsing random stackoverflow questions as the need arises.
评论 #3680459 未加载
评论 #3680273 未加载
mattbriggs大约 13 年前
I don't understand why people equate rebase with lying. I work on a team of 12 devs, and pre rebase workflow, gitk sort of looked like a rainbow due to it showing the actual interactions of each developers branch at the chronological time it happened. It was so complex that git bisect often couldn't find bad commits unless you used it a specific way. Basically it made the history next to useless. Post rebase, we see branch work serially, which makes it easy to find a bad commit, and obvious to see the transformations of the main branch of code.<p>I think people who complain about this fall into one of three camps:<p>1 - Are not using a topic branch workflow, and don't understand the hell that wreaks in history 2 - Are doing fast forward merges to merge branches back into the mainline, which makes it hard to see the points that development finished and the merge actually happened. 3 - Are rebasing long lived branches<p>It is just such a common complaint, and I have yet to hear of any down side that actually makes sense to me as someone who has a fair understanding of git
评论 #3681677 未加载
cgd大约 13 年前
Surprised to not see git-rebase cited in #3.<p>&#62; git-rebase - Forward-port local commits to the updated upstream head<p>I avoided rebasing for the longest time because of that. If it had just said "puts your stuff in front of their stuff" it would've been a lot less intimidating.
prodigal_erik大约 13 年前
My pet peeve has always been the staging area. It encourages partial commits which couldn't have been tested because they never actually existed in the filesystem.<p>I <i>like</i> rewriting history, though. If I commit A then B, then realize A was wrong, I test and commit a fix then autosquash it so my history goes A' then B. Historical commits which didn't work are worse than useless, and if someone branched from them, the sooner we all figure it out and fix it the better. And the ugly truth will still be there in the reflog for a month.
评论 #3682827 未加载
评论 #3681675 未加载
TheFuture大约 13 年前
It seems like there's a huge opportunity for big software player to develop a git clone that is understandable and has a great UI. I'm thinking of Microsoft. Build the thing right into VS, it becomes the new standard for business source code management.<p>Everyone talks up git, but few every seem to actually use it, or use it to its full potential. And I agree that this has a lot to do with a crappy interface.<p>If git is truly the next great step in source code management, shouldn't it be easy to use? Isn't that kinda the definition of great software? You shouldn't have to be a linux command-line cowboy to have to use and understand git.
评论 #3681650 未加载
评论 #3681931 未加载
评论 #3681547 未加载
评论 #3680722 未加载
评论 #3681043 未加载
评论 #3681249 未加载
user2459大约 13 年前
You don't hate git, you hate that you have to use it. And that in order to use it you have to get smarter. Smarter about computers, and smarter about managing your code.<p>But don't be discouraged, git really is simple. It's dead simple. The command line syntax is super annoying, i'll give you that, but the underlying tech is a collection of simple concepts that meld into a complex powerful tool.<p>The first thing you need to do, is to stop thinking of git in terms of github. Git is designed to be a decentralized vcs, and you really need to think/learn about what that means. It's crucial. The prevalence of github means that most people will never even use it in a non centralized way, and while incredibly convenient, it undermines the learning process just a little.<p>The next thing you need to do, is just read progit -&#62; <a href="http://progit.org/book/" rel="nofollow">http://progit.org/book/</a> . In fact that's really the first thing you should do. Stop thinking you can pick up git through osmosis and just read the damn book. At least by then if you still hate it you'll have more poignant issues to touch on.
评论 #3683337 未加载