On-premise source code management for Git that's secure, fast, and enterprise
grade. Create and manage repositories, integrate with JIRA for end to end
traceability, set up fine-grained permissions, collaborate on code and instantly
scale with high performance.
Why Stash?
1. GIT AT SCALE
Stash supports your growing Git repositories within the safety of your firewall.
With the Data Center deployment option, Stash grows with you as your team or
work load grow bigger. It is designed to cluster multiple active servers and
increase capacity for concurrent users without sacrificing performance.
Instantly scale by adding new nodes for extra builds without downtime and
maintain confidence in performance as usage grows.
2. Code review
Code collaboration and code reviews
Code reviews make for better code quality. Stash offers lightweight code reviews
via pull requests, making this best practice easy for developers to incorporate.
In-line comments on diffs get your team talking early and often, with no time
wasted identifying code changes. And when you connect Stash to JIRA or Bamboo,
pull requests become an instant dashboard with the status of related issues and
build results baked right in.
3. JIRA Integration
Traceability across issues and source
Associating issues with code changes is a key component for troubleshooting,
reporting, and compliance. Connect Stash to JIRA for complete traceability of
your team's development cycle.
Whether tracking bug, refactoring old code or just getting up to speed, teams
can quickly reference branches, commits and pull requests from the JIRA
development panel.
4. Branches and Forks
Branching and forking workflows
Git allows teams to choose how they want to collaborate on projects. Common
practices have emerged using branch-based and fork-based workflows, and Stash
works for both.
Forks are great for contractors, large teams, or pure experimentation, and we
even keep your forks up to date with the fork synchronization. If branches are
more your style, move seamlessly from branch creation to merge with the help of
the branching model.
5. Administration
Enterprise-grade security and administration
Whether you're a small business or a Fortune 500 company, Stash's user
management and permissions are flexible enough to cater to your environment.
Add users and groups, and delegate fine-grained permissions right from the UI.
Manage users and groups with Stash's internal directory, a JIRA crowd server, or
your internal LDAP. And keep team collaboration productive with four levels of
permissions – global, project, repository, and branch.
Workflow
1. Workflow
Upgrade your development workflow
Stop fretting over the small stuff, and spend time being a developer. Now, the
once-tedious aspects of coding are a thing of the past.
Atlassian tools integrate better than ever, with best practices baked right in
to guide you through the development flow. They work together to get you from
issue creation to coding to merging effortlessly. For a fully integrated dev
workflow solution, check out Git Essentials.
2. Branch Creation
Create a branch from JIRA
Turn a JIRA issue into high-quality code in just seconds. One-click branching
from issues guides your team quickly and easily through the software development
workflow.
Stash suggests branch names and origins based on details from the JIRA issue. No
more time wasted trying to map an issue key, title, and type to the new branch’s
settings. Have a new branch that fits perfectly with your team’s coding
standards ready to go in seconds.
3. JIRA issues
Resolve JIRA issues in seconds
Stash gives you the full context of a code change by making JIRA issues
accessible from inside pull requests when you include the JIRA issue keys in
your commit messages. View the title, description, and status of any related
issues without ever leaving Stash.
JIRA also gives you the power to automatically move issues from one status to
the next based on activity in your Stash repo. Branch created? Move the issue to
"In Progress". Pull request merged? Move it to "Done". Mix and match our
collection of repository triggers and issue statuses for a new level of workflow
automation.
4. Git + CI
No more build concerns
Never worry about applying continuous integration to your branch again. Stash
integrates with Bamboo to automatically apply CI to new branches based on what’s
running against master. Builds on any branch can be triggered by incoming
pushes, with no webhooks or special repo configuration required.
Once your builds are in place, stay updated on their status on the branch
listing screen, or inside a pull request. Stash + Bamboo puts build information
right at your fingertips.
5. Git client
Free Git client for Mac or Windows
Simplify Git for your team. Connect Stash with SourceTree – a free Git client
for Mac or Windows – to learn and use Git from a simple user interface.
From Stash, clone a branch via SourceTree, with the branch already checked out
and ready for edits. Commit, clone, push, pull, merge, and more are all just a
click away.
Pull requests
1. Code Review
Lightweight code review
Bump up your code quality with regular code reviews. Stash offers lightweight
code review via pull requests, which encourage peer review and gets teams
talking about their code.
Commenting on code in line (and in context) prompts contributors to review their
work and make changes. If changes are made while a pull request is still open,
Stash will recognize that and alert reviewers. More collaboration means better
code quality!
2. Approvals
Approval process
Pull requests are visible to all team members, but the approvals can be limited
to a globally set number of reviewers.
Multiple team members can be selected to review a pull request, delegating the
approval to key stakeholders. Stash notifies all reviewers by email, so everyone
stays in the loop.
3. Permissions
Per-branch permissions
Branch permissions let you select a "gatekeeper" who is responsible for ensuring
that the code going into production has been tested and reviewed. Stash notifies
the gatekeepers of new changes, and they decide whether the code is ready to be
merged.
Branch permissions also provide additional control over who can accept the pull
request and perform the merge.
4. Conditions
Pull requests conditions
Stash allows you to enforce certain quality requirements and ensure they are met
before a pull request can be merged.
Set per-repository checks to control when a pull request can be merged. Whether
you require a minimum number of reviewers approving a request or a green build,
pull requests cannot be merged if the required conditions have not been met.
5. Merging
Automatic merges
Bugs can sometimes appear in multiple releases before being detected. With
automatic merging, Stash uses the branching model to identify any changes made
to an older release and merged to newer release branches.
Concerned about conflicts? The automatic merge process will create a pull
request and notify you of the conflict. Keep your code up to date with automatic
cascading merges.