EDIT: As pointed out, the question was "How do I git pull a dev branch" which has been partially demonstrated in the other answers. Yet, a key second part of any answer must include a translation of the Drupal -dev naming convention. Simply because it does not appear using the commands
$git branch or
$git tag while
-dev clearly is evident in the "Development releases" table on a module's main page. This is my attempt to clarify this with a reasoned, but in no sense authoritative, definition:
There is a sense -dev is equivalent to rough draft in the familiar metaphor of writing. An article describes setting up "your own Git repository viewer" on a local repository (for developers who prefer to not host in the cloud),
"You can choose either the latest stable version or the master version, but keep in mind the master version may have bugs since developers are actively working on it." PHPMaster
Now we have a definitive statement describing a convention for active development on the "master version". And here is the principal issue I've been working on in this post: relating a convention (developer convention, programming best practice, or The Drupal Way) to the operation and use of the git application.
Now, you'll have to bear with me for a moment as I digress. In my novice git-ucation, I wasn't sure if "master" was also a naming convention of developers or built into the git application itself. And here I turned to a site search at the maintainers site, git-scm.com, to find this gem:
"In the default case that is automatically written by a
git remote add command, Git fetches all the references under refs/heads/ on the server and writes them to refs/remotes/origin/ locally. So, if there is a master branch on the server, you can access the log of that branch locally..." git-scm
if there is a master branch? That does not suggest "every" git repository has a "master". Fortunately this mystery was quickly solved by creating my own test repository and a subsequent search at Stackoverflow confirms this is technically true, a new git repository without any commits does not have a master branch:
"Now, the reason you wouldn't have a master branch even after doing a git init is that there are no commits: when you create your first commit, you will then have a master branch." stackoverflow: "fatal: Not a valid object name: 'master'"
Its a strange example to find at the maintainers site, adding a remote repository without any commits, but in the Land of Oz customization to the nth degree is a known hazzard.
Now, returning the helpful advise I've received to this point. Kiamlaluno points out,
"A Drupal development snapshot is created from a git branch, while a Drupal release is created from a git tag." Instead of git tag try with git branch."
And yet, still won't say what I'm about to say. Now its finally possible to understand the
-dev branch in Drupal as the "development snapshot" created from the "master" branch of the git branch hosted at Drupal.org. The
-dev branch label is not present in the branch command output unless you put it there yourself in your local cloned repository. This I've also tested, recently, because I found it useful to label my current working brach different than the remote master branch of the same name.
I chose to use the git versions and use git to make my own
-dev branch of a few modules to troubleshoot the interaction of Views and Draggableviews modules, because. as Kiamlaluno points out, the tar and gzip files in the "Development releases" table are snapshots. Thus, by reason they are always older than the master branch.
In another curious event, here is a definition of snapshot from a Wikipedia Disambiguation Page,
Snapshot: "A view of a source code repository as it was at a particular time for the purpose of revision control in software development." Wikipedia
Its ironic to find this definition for "source code repository" not in an wiki-article, or at wiktionary, but tucked away in a disambiguation page. Not ironic because the definition should be tucked away in a remote location, rather this brings to mind a printing term widow, which does have its own wiki-article page and wictionary entry, unlike git's 'master branch', or Drupal's '-dev branch' (at the time of this missive).