background preloader

GIT

Facebook Twitter

10 things I hate about Git « Steve Bennett blogs. Git is the source code version control system that is rapidly becoming the standard for open source projects.

10 things I hate about Git « Steve Bennett blogs

It has a powerful distributed model which allows advanced users to do tricky things with branches, and rewriting history. What a pity that it’s so hard to learn, has such an unpleasant command line interface, and treats its users with such utter contempt. 1. Complex information model The information model is complicated – and you need to know all of it. 2. The command line syntax is completely arbitrary and inconsistent. The most spectacular example of this is the command “git am”, which as far as I can tell, is something Linus hacked up and forced into the main codebase to solve a problem he was having one night. 3.

The man pages are one almighty “fuck you”. Git-push – Update remote refs along with associated objects Here’s a description for humans: git-push – Upload changes from your local repository into a remote repository Update, another example: (thanks cgd) 4. 5. 6. 7. 8. 9. EGit/Git For Eclipse Users. This post is aimed at those who have been using Eclipse for a while, and probably have been using either the baked-in CVS or external SVN providers to store their source code.

EGit/Git For Eclipse Users

The content of the post is about Git: what it means to you, as an Eclipse user, and specifically, how it affects how you obtain or work with projects from Eclipse.org. This post is not about the relative merits of Git over CVS/SVN, or of Git versus other distributed version control systems (DVCS) like Mercurial (Hg). Other sites can give those flavours if needed. Once you understand the conceptual differences between CVS/SVN and Git, and then subsequently start to use Git, you may find it very difficult to go back. You should really start to experiment only if you think you're going to migrate in the near future, because using Git is like watching TV in colour: once you've discovered it, it's really difficult to go back to black & white.

Eclipse/EGit (Windows, Linux, Mac) This page outlines how to use Git with the Eclipse IDE.

Eclipse/EGit (Windows, Linux, Mac)

It assumes you have a basic knowledge of Git and know the basics of how to use Eclipse, and assumes you have both Eclipse and Git installed. This page just covers what you need to do to get Eclipse working with Git for Drupal.org projects. There is some more general information on setting up Eclipse at Configuring Eclipse. On this page: Note: Not all the sections of this page have been written yet... progress is being tracked at Setting up Eclipse There is also some more basic and general information on setting up Eclipse at Configuring Eclipse. Make a directory/folder on your computer to hold your Git repositories. Importing a Drupal Project If you are not the maintainer of a project, you can import the project into your Eclipse workspace for read-only access to the repository.

Importing a Drupal project for read-only access The basic steps are: More details are at and here are some Drupal-specific notes: Creating a Patch Applying a patch. Branching example. Hitler uses git. Version control - Git for beginners: The definitive practical guide. Documentation. Documentation Reference Reference Manual The official and comprehensive man pages that are included in the Git package itself.

Documentation

Quick reference guides: GitHub Cheat Sheet | Visual Git Cheat Sheet Book Pro Git The entire Pro Git book written by Scott Chacon and Ben Straub is available to read online for free. Videos See all videos → External Links The External Links section is a curated, ever-evolving collection of tutorials, books, videos, and other Git resources. Diff Between Mercurial and Git.

Mercurial, Subversion, and Wesley Snipes. People keep asking me why I don't talk more about Mercurial in this series of blog entries.

Mercurial, Subversion, and Wesley Snipes

There's a simple answer to that question: Mercurial isn't very interesting. Wait, that didn't come out quite right. Let me try again: Git is Wesley Snipes. Mercurial is Denzel Washington Hmm, that probably needs further explanation. I am the founder of a version control software company. As part of that effort, I have undertaken an exploration of the DVCS world. The one where I gripe about Git's index The one where I whine about the way Git allows developers to rearrange the DAG The one where it looks like I am against DAG-based version control but I'm really not The one where I fuss about DVCSes that try to act like centralized tools The one where I complain that DVCSes have a lousy story when it comes to bug-tracking The one where I lament that I want to like Darcs but I can't The one where I speculate cluelessly about why Git is so fast.

What are the basic clearcase concepts every developer should know. Gitextensions - Git Extensions is the only graphical user interface for Git that allows you control Git without using the commandline. It comes with a manual and video tutorials to get you started quickly. Xcode 4 User Guide: Managing Versions of Your Project.