Quantcast
Channel: Atlassian Blog
Viewing all articles
Browse latest Browse all 95

Untangled development with Git Essentials – webinar recap

$
0
0

Untangle development with Git EssentialsLast week we gathered up several hundred of our fellow software makers and talked about four development practices you can use to keep from getting your wires crossed: feature branching, continuous integration, pull requests, and information radiators. These are practices that teams at Atlassian have been really successful with, and–to the surprise of exactly nobody–we’ve baked support for them into the Git Essentials solution.

ICYMI

In case you missed it, here are the key points we covered:

  1. Feature branching confines work-in-progress to development branches, where broken tests and half-finished implementation can’t disrupt other developers’ work. Stash and Bitbucket (our Git repository managers for on-premises and in the cloud, respectively) make it easy to get a bird’s-eye view of all the branches in your repo, control access to them, and link repo activity back to JIRA.
  2. Skimp on continuous integration at your own risk! Proving out code on your branch before merging upstream is critical for keeping your team productive. And with Bamboo, you’ll not only get CI applied to your branches automatically, you can automate incremental merges each time your branch builds so that final merge upstream is a piece of cake. (Mmmmm, caaaaaaaake…)
  3. The days of crowding around someone’s monitor to conduct peer code reviews are over thanks to pull requests. This gating step, so named because you are requesting that the code on your branch be pulled into another branch, seamlessly integrates code review into the development workflow. Stash and Bitbucket have all the ‘extras’ like diffs, in-line comments, build results, and an activity stream that turns your pull request into a dashboard for code quality.
  4. Did you get that memo? What memo? There is no memo! Because, in addition to being the world’s most powerful and flexible issue tracker, JIRA is also a world-class information radiator. The agile boards show everyone in the company what your team is working on, and issues themselves show detailed information about development progress: branches created, code changes committed, build results, pull requests, and deployment status.

Appetized?

That’s just a taste. If you’re hungry for the whole meal, watch the webinar recording right here:

Bonus Q & A

Viewers asked loads of great questions! We weren’t able to answer them all before time ran out, so I grabbed a few juicy ones for a Q & A bonus round.

Q: Are there any anti-patterns we should be aware of when using SourceTree in conjunction with Stash?

A: Well, you’ve stumped us with this one–congratulations! We can’t think of any anti-patterns, counter-indications, or general quirkiness associated with using Stash + SourceTree. Our only word of caution is to be mindful about resetting or rebasing your branch, or in laymen’s terms, “re-writing history”. Git’s documentation on The Perils of Rebasing lays it out pretty nicely. This advice applies to working with Git in general, but we wanted to call it out here because SourceTree makes Git operations so trivial–including reset and rebase.

Q: Stash lets you set rules around merging pull requests (like “At least two people must approve”)–is that also available in Bitbucket?

A: As of now, that feature is exclusive to Stash. (And when I say “exclusive”, I mean “so exclusive that you won’t find it in any other Git management tool on the market”.) We intend to make these rules available in Bitbucket someday, but it’s far enough down the road that I don’t have a specific timeframe for you.

Q: With continuous integration and feature development, do you typically spin up a brand new website for user testing validation to get sign-off prior to committing to dev branch or master?

A: Awesome question. Our dev teams typically commit code to their feature branches and run CI there. Then, when they’ve got a green build and implementation is far enough along that they want to see it live, they deploy that branch build to a test environment. Some teams use Puppet to spin up and tear down test environments on the fly, while others have one or two persistent environments that they sort of share amongst the team members. After validating the work on a test environment, they create a pull request and get their branch merged up to master. 

Q: Is there a way to create a stable development environment where artists and sound designers also commit big files on a project? Do you have any opinions about Perforce and Git co-existing together for these kind of projects (such as video games)? 

A: You can take the “heterogeneous version control systems” approach, as you mentioned. Or if you want to go with just Git, check out the git-annexgit-media, and git-fat projects. They are designed for exactly this sort of thing!

Get on track with Git Essentials

Untangled software development and its four key practices don’t rely on great tooling–but great tooling certainly helps! Browse through the Git Essentials tour to see how Atlassian tools can help your team smooth out the road to release day.

Untangle me!

Can’t get enough Git? Check out our tutorials site and sign up for the Git Insiders newsletter!

The post Untangled development with Git Essentials – webinar recap appeared first on Atlassian Blogs.


Viewing all articles
Browse latest Browse all 95

Trending Articles