Interested in the latest Stash release? Check out What’s New »
Chocolate rain, rage face, double rainbow. Great memes spread like wildfire. One minute you’re unaware, the next you’re singing some Korean song you barely understand and dancing like a horse. DVCS (distributed version control) is by no means a meme (it’s definitely not going away), but it’s spreading with the same effect.
Git’s flexibility is one of its greatest strengths and one of the main reasons it’s hotter than Gangnam Style. Today, the open source community, start-ups and even large enterprises alike are racing to enable developers and teams to work faster with a distributed code base. Git is all about creating new repositories, sharing that code with your team, and rolling it all together into a cohesive project.
Adoption of Git comes with its challenges. As projects grow, so do the number of contributors, repositories and feature branches developers are working on. With all these moving parts, Enterprise teams need a central way to manage this distributed and growing code base. Developers should be writing code, not dealing with the overhead of how to work with their teams (merging, etc).
And that’s where Stash comes in. Stash gives teams a central way to manage all distributed source. Stash is the one place developers can find the latest official version of a project, and the one place managers can control access and permissions so they know for certain the right users have the right access to code.
Imagine all the flexibility of Git with the control needed in the Enterprise. That’s Stash 2.0. The three “big deal” new additions to Stash 2.0 are branch permissions, @mention notifications and improved collaboration around code, but there’s plenty of other stuff in the box to get excited about.
Take control with Branch Permissions
By enabling developers to create, merge and delete branches at will, using Git can feel like living in the Wild West, especially for tech leads and release engineers. Stash’s big new feature, Branch Permissions, puts the reins back in your hands so you can control the chaos a little (or a lot). Per-branch “write” permissions for individuals and groups ensure that stable branches remain stable, and development branches foster collaboration. It’s a whole new level of Enterprise security. Git gives you the power, Stash gives you the control!
Enforce your workflows
Some development workflows require that specific developers oversee merges into the master or release branches, while other developers work on bug-fix and feature branches. Branch Permissions let you turn this “gentlemen’s agreement” into a seamless, enforceable process, reducing confusion and time wasted backing out changes that were merged in prematurely.
- Rules and regulations: companies in regulated industries like finance and health care can ensure regulatory compliance around version control
- Contractors: restrict external developers to certain branches to easily review their commits before integration into production code
- ‘Blessed’ branches: new and junior team members can be granted access to release and deploy branches as soon as they’re up to speedFor organizations migrating to Git, Branch Permissions can act as “guard rails” during the transition:
- Avoid accidental pushes: newbies who are still learning the complexity of Git can avoid the “oh s—” moment
- Educate your team: putting rules of the road in place teaches your team the right way to do things
Enhance pull requests
Branch Permissions let you select a “gatekeeper”, typically a senior developer, who is responsible for ensuring that all the code going into production has been properly tested and reviewed. No matter what the experience of your other developers and any externally developed code, everything is vetted before it’s integrated into your product. Stable and high quality code for the win! By giving access to critical branches only to the gatekeepers, all other developers can use pull requests to notify the gatekeepers of new changes. These gatekeepers are then responsible for reviewing, if and when, the code is ready to be merged to the stable branch.
Utilize pattern matching
Branch Permissions allow you to specify a pattern that is matched against branches and tags being pushed to Stash. This allows you to restrict pushes to multiple branches without the overhead of configuring them individually. Establishing naming conventions based on roles or functional area (ie, “contractor_” or “userauth_”) makes it even easier to set and standardize permissions throughout your organization.
Add context to code conversations
Pull requests are Stash’s key social feature for helping developers share and communicate about their code. With this light-weight peer review integrated into the development process, comments become the mechanism to fuel discussion and spur change. Stash 2.0 introduces two new features that take code collaboration in Stash to new heights.
Include casual contributors with @mentions
Pull requests and commenting bring code discussions into Stash. With @mentions, you can casually bring members of your team into any code discussion. Simply type in “@” + their user name as part of a comment and they will receive a notification that they have been mentioned as part of a pull request conversation. From there, the discussion continues inside of Stash and is available for everyone to view.
It’s all about having the right people in the conversation, at the right time. Want input from a Product Manager or Architect who isn’t a reviewer on the pull request? @mention them so they can lend their expertise. It’s a non-intrusive way to widen the discussion on specific threads of conversation, exactly when specific individuals are needed.
Bring clarity to comments with Markdown
Providing context and emphasizing key points are important when having written discussions around your code. Stash now gives you a boost with support for markdown in comments and descriptions. Bring your words to life and get your point across quickly.
- Emphasize parts of your comment or create lists to bring your points across
- Share links to requirements and issues related to the feature you are implementing
- Provide code examples, formatted just like in your IDE
- Include screenshots into the discussion for any UI focused features
Markdown is also rendered in the email notifications participants receive when a comment is made. No matter where a participant reads the discussion its full meaning is conveyed.
Simplify your Git Repository Management today
New to Stash? Start a free trial today and get up and running in a matter of minutes.
Already using Stash? Your upgrade to 2.0 is waiting for you. Check out our full release notes to get started.