Branching - Forking Workflow
Thoughts for Forking workflow branching from fork:
Ideas taken from : https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow
Branching in the Forking Workflow
Clone your fork
git clone https://user@bitbucket.org/user/repo.git
Add the remote
git remote add upstream https://bitbucket.org/maintainer/repo
Working on the branch and pushing changes
git checkout -b some-feature # Edit some code git commit -a -m "Add first draft of some feature"
Fast forward merge
git pull upstream master
Making a pull request
git push origin feature-branch
More details on Clone Fork:
Make sure you have already forked:
git ls-remote repo:${str_User}/${str_Repo}
if error then
Fork is not available - got to repo url and press fork
else
Fork is good
Make sure there is a local clone
if ! -d git_dir/${str_User}/${str_Repo} then
git clone
else
There is already a local cloneCheck the remote upstream
if git remote -v | grep -q "^upstream.*$StrUpstreamOrg}/${str_Repo}.git.*(push)" then
git remote is ok
else
git remote add upstream https://gitrepo/${str_UpstreamOrg}${str_Repo}
git remote -v | grep -q "^upstream.*${str_UpstreamOrg}/${str_Repo}.git.*(push)" || Error "Something is wrong - maybe need git remote remove upstream and start againMake sure there isnt already a branch of that name
if git branch | grep ${str_BranchName} then
Warning Branch already exixts
maybe fast forward changes from upstream
maybe git checkout master / git fetch upstream / git pull upstream master / git push origin ${str_BranchName}
git checkout ${str_BranchName}
else
git checkout -b ${str_BranchName}