A bit of clarification regarding workflows

My team is new to bitbucket and infact we are using Git for very first time. I am following the Git Flow that is integrated in Source Tree and want to clarify a few things about common terms.

1. First , if I have created my repository , and want my team-members to join it , should I ask them to clone it or fork it so that they get updated with whatever changes I'm pushing to remote.

2.I know they will need to pull changes , but will both methods provide notifications to them for newer content? Also there is an option to Checkout Branch in bitbucket website. How are these 3 different?

3.Is there any method so that they do not work on whole repository and just on 'develop' branch?

4. Now I have 3 roles in my team( A, B and C) . A= admin , that is me. B= developers , they should be able to push changes and pull changes. And C should be able to pull changes , but on pushing , A should get notified before commiting those changes. How to achieve this?

1 answer

Let's start with number 4, which also answers 1.

The main difference between forking and cloning relates to contributing changes. I would recommend that you have your developers (B) clone, which will allow them to push their changes directly to the main bitbucket repository. Role C should fork, which means that they will push changes to a forked repository, then will initiate a "Pull Request", which is basically a notification for you to review their changes and , if accepted, pull them from the fork into the main repository.

Question 2: Regardless of what software you use on the client side, an end user will be able to see that there are remote changes to pull after issuing a "Fetch" command. Some GUIs (like SourceTree) have an option to automatically fetch periodically.

Question 3: There is not a simple way to limit which branches your developers work on.

Before answering any other questions (especially pull vs checkout), I strongly recommend you read some of the excellent Git documentation. Many behaviors of Git/Mercurial seem counterintuitive if you don't understand the model. Try the Git Book (freely available online at that link) for starters. Especially make sure you read section 1.1 and chapters 2 and 3, keeping in mind that all of SourceTree's operations (except a few of the extended integrations) are directly translated to git commands.

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

2,030 views 1 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you