There are a lot of different ways to reference a specific commit in Git. This lesson takes a look at the various ways in which you can navigate through the history of a project by cloning the Drupal core repository from Drupal.org and looking at its contents. We'll learn about pointers to each commit, or what Git refers to as a Treeish, and how we can use those as parameters to different commands.
Release Day: A Git Crash Course
Blog postThis week we continue with out Introduction to Git series by diving in and getting a crash course on using Git. We're going to start off by creating our first repository, adding a file to it, making changes, and then seeing how to get Git tracking our work. The other videos this week will dive deeper into looking at your Git history, moving around with that history, and reviewing the changes you've made over time.
Once again, our team will be at DrupalCon, this time in lovely Portland, and providing workshops on the day before the conference officially kicks off (Monday, May 20th). We're happy to say that we will be involved with two different workshops: Plan, Build, Launch: Real-World Drupal and the Performance and Scalability Dream Team.
This tutorial takes a look at removing files from your version control system. It's generally not enough to just delete the file in the file system you also need to tell Git that it's been removed and make a commit with that information.
New Series: Introduction to Git
Blog postThis week we're kicking off a new series, Introduction to Git, that will teach you to use the Git distributed version control system (DVCS) for source code management (SCM). Git is the version control system used for Drupal core and contributed module development, as well as projects like the Linux kernel, Ruby on Rails, Android, and many, many others. This is an in-depth series that starts with the basics of version control, establishes some terminology, and a base line workflow, then continues to build on that by going beyond the basics of the various Git commands to make the most out of your tools.
In this lesson we take a look at the methods available to install Git on different operating systems including Windows, Mac OS, and Linux and how to ensure that you're environment is properly setup to start using Git. Then we walk through the installation on Mac OS and finally we'll cover how to invoke Git from the command line and set some basic configuration options like telling Git who we are.
- Know where to go to download the latest verion of Git
- Be able to install Git on your operating system of choice.
- Be able to verify that Git is indeed running in your environment.
- Do some Git configuration with
`git config`, ~/.gitconfig
Additional resources
Download Git Drupal Ladder: Install Git lesson (installs Git on Windows instead of Mac)
This is an in-depth course that starts with the basics of version control, establishes some terminology, and a base line workflow, then continues to build on that by going beyond the basics of the various Git commands to make the most out of your tools.
This tutorial takes a look at the various resources that are available for getting help with Git including the built-in manual/help pages and examples as well as other documentation that we've found to be useful while learning how to use Git.
In this tutorial we'll explain some of the basic tenets of version control systems. We'll define Git terminology like repositories, branches, checkouts, and commits, and provide you with a baseline set of concepts that we can build on throughout the course.
Introduction to Git
CourseRelease Day: More Module Monday Lessons
Blog postLast week we introduced a new group of videos, based on the Lullabot Module Monday articles. This week, we present three more for your enjoyment. In this batch of module goodies we look at making things easier for site editors, setting up a theme style guide right inside the site, how to perform a password reset for all of the users on your site (though we hope you never have to!).
In this Lullabot Module Monday lesson, we take a look at the Style Guide module. Comparing Drupal themes is tough: the screenshots they provide are often based on heavily tweaked sites with plenty of slider blocks, tweaked media attachments, and other just-so content. Figuring out the "basics" — how a given theme styles core HTML elements and recurring Drupal interface patterns — can be tough! Fortunately, the Style Guide module can help.
Additional resources
In this Lullabot Module Monday lesson we are introduced to the Publish Button module. It's a simple problem, but a serious one. You've put your content editors in front of Drupal for the first time, and they can understand the node form without any problems. They understand taxonomy terms, grok menus and node references… but they get nervous when it's time to save their work. "Will... will this be published as soon as I click 'save?'" Normally, there's no good way to make the distinction between saving and publishing a piece of content explicit. Site builders can set a content type to be unpublished by default, then give editors the broad "administer nodes" permission, but that's clumsy solution that forces editors to dig for what should be a simple action: publishing or unpublishing a post. That's where the Publish Button module comes in.
Additional resources
In this Lullabot Module Monday article, we learn about the Mass Password Reset module. It's a question we all ask ourselves: What would I do if my site or server was compromised? Security professionals have loads of checklists to follow, and experienced server administrators drill for those moments. As we saw when Twitter.com was compromised by hackers, "Reset everyone's passwords, right away!" is almost always one of the important steps. If you run a Drupal site, that particular step can be frustrating. Resetting user passwords one by one is incredibly time consuming, and there's no way to do it for everyone in one fell swoop. At least, there wasn't until the release of the Mass Password Reset module.
Additional resources
An American Drupaler in London
Blog postI recently had the pleasure of traveling to London to attend DrupalCamp London. There, Joe Shindelar and I taught a one-day Introduction to Drupal workshop. The class was great and the attendees actively participated, as they were very interested in what Drupal has to offer.
In this Lullabot Module Monday lesson we take a look at the Backup and Migrate module. Few things are more terrifying than the realization that a server hiccup has wiped out a web site, or a hasty change deployed to the live site has nuked important content. Fortunately, there's a module that can help. Backup and Migrate offers site builders a host of options for manually and automatically backing up their sites' databases, and integrates with third-party backup services, to boot!
Additional resources
In this Lullabot Module Monday lesson we look at the Word Link module. It's a simple problem, but a tricky one: How can you ensure that special words and phrases, like your company's name or certain trademarks, are always linked to an appropriate web site when they're used in the text of an article? The easy answer is Word Link module: it lets you set up a custom glossary of terms that should be turned into links whenever the appear in text.
Additional resources
In this Lullabot Module Monday lesson we walk through the useful Menu Position module. It's a word that can strike fear into the heart of the bravest site builder: Breadcrumbs. Manage them well, and you'll give visitors a helpful visual indicator of where they're at in your site. Miss a detail, and the weird inconsistencies will be more confusing than no breadcrumbs at all. The challenges stem from Drupal's "flat hierarchy" -- by default, almost all pages (including every node you create) live just beneath the home page itself in an undifferentiated pool of content. All of the visual cues it sends to visitors (breadcrumb trails, highlighted parent items in the navigation menus, and so on) start with that assumption until you override them. That's where the Menu Position module helps out. It lets you set up simple rules that tell Drupal where each node type should go in the site's hierarchy, then handles all of the frustrating details automatically.
Additional resources
Lullabot Module Monday in Videos!
Blog postFor the last two years Lullabot has been writing up a post about a new contributed module every week, in a series called Module Monday. We have almost 100 modules introduced in simple, concise articles. Here at Drupalize.Me we are going to start creating video versions of these Lullabot Module Monday articles so you can have a visual walkthrough of using these modules, in addition to the written overview that the articles provide.
We're excited to share and invite you to our upcoming workshop: Git With It, an introduction to Git at MinneWebCon on April 16th. MinneWebCon is a 2-day, grassroots, knowledge-sharing conference in Minneapolis, Minnesota, that unites web lovers from every industry.