We are looking for an AngularJS/NodeJS developer who is mightily proficient with git merges and squashes to assist with merging our multiple development branches together on an ongoing basis. Our merging process follows a standard procedure as outlined below. These steps will need to be performed on the server machine to which we will provide you SSH access:
# For each branch origin/dev0 origin/dev1 origin dev2
git fetch && git checkout origin/dev0 && git checkout -b feature && git rebase -i $(git merge-base HEAD origin/dev) # This will rebase the current branch interactively back to the point where this branch diverged from origin/dev. Pick the latest commit and squash all other commits (there are probably dozens).
git checkout dev && git merge feature --no-ff # this merges the feature/development branch into the main trunk. Sometimes this step yields conflicts which will need to be resolved.
### Before Proceeding###
# We need to check all lines of code impacted by this change, understand their implication, and test the results through the development site dev.website.com. Run the following code to see the changes:
git diff HEAD~
# Commit the changes and push to the remote repo (i.e. Bitbucket).
git commit -m "Describe the changes."
git push origin
# Remove the feature branch
git branch -D feature
### ^^^ REPEAT FOR EACH OF 3 DEVELOPMENT BRANCHES ^^^ ###
### If all tests are complete and the development site is operating as expected then:
# A: Merge the results into the production/master branch.
git checkout origin/master && git merge dev --no-ff && git push origin master && git checkout dev
# B: Reset all development folders (which are located on the same machine/server) to the new commit at origin/dev
cd ../folder0 && git reset --hard origin/dev && git push -f
cd ../folder1 && git reset --hard origin/dev && git push -f
cd ../folder2 && git reset --hard origin/dev && git push -f
# C: Pull the changes into the production server/folder.
# From the working directory of the production server:
We are looking for a bid to repeat this process twice per week for 4 weeks. That's 8 times. Presently, the process requires about 1 hour to complete, including resolving merge conflicts and testing the changes from each branch. We expect to pay approximately $120 and expect to see no bugs related to the merging process.
Continuation of the agreement is subject to satisfactory performance.