This assignment will incentivize you to get familiar with the different GitHub workflow strategies for:
- integrating/merging pull requests and
- establishing traceability between commits, tasks and pull requests
Using your personal GitHub account create a public or private, empty GitHub repository called CS471WorkflowsHomeworkAssignment.
The following options should be disabled/unchecked:
Add a README fileAdd .gitignoreChoose a license
Clone this CS471-Assignments-Workflows repository.
$ git clone https://github.com/BoiseState/CS471-Assignments-Workflows.git
$ cd CS471-Assignments-WorkflowsThe contents of the main branch from the cloned repository (from Step 2) will be pushed to the repository that you created (in Step 1).
Check the existing origin remote, which should indicate the URL of the cloned repository:
$ git remote --verbose
origin https://github.com/BoiseState/CS471-Assignments-Workflows.git (fetch)
origin https://github.com/BoiseState/CS471-Assignments-Workflows.git (push)Remove the origin remote pointing to the cloned repository:
$ git remote remove originAdd a new origin remote that will point to the repository that you created (in Step 1):
$ git remote add origin https://github.com/<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git
or
$ git remote add origin git@github.com:<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git
$ git remote --verbose
origin https://github.com/<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git (fetch)
origin https://github.com/<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git (push)
or
origin git@github.com:<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git (fetch)
origin git@github.com:<GitHubUsername>/CS471WorkflowsHomeworkAssignment.git (push)Push the main branch to your newly create repository (in Step 1):
$ git push -u origin mainPush all tags to your newly create repository (in Step 1):
$ git push --tagsIn your CS471WorkflowsHomeworkAssignment repository created in Step 1, go to Issues -> New issue and create one type of each of the six issues (i.e., one user story and five tasks), in the ascending order specified.
NOTE: The GitHub issue templates have already been configured to create these issues with ease.
At the end of this step, you should have the following issues created:
| Issue ID | Issue Type | Title |
|---|---|---|
#1 |
User Story | Workflow Integrating Strategies |
#2 |
Task | Merge Integration Strategy |
#3 |
Task | Rebase Integration Strategy |
#4 |
Task | Squash with Default Message Integration Strategy |
#5 |
Task | Squash with Traceability to Task and PR in Commit Message Integration Strategy, but with Some Commits in the Branch Referencing the Task |
#6 |
Task | Squash with Traceability to Task and PR in Commit Message Integration Strategy, without Any Commits in the Branch Referencing the Task |
Read and understand the user story #1, and the tasks #2, #3, #4, #5 and #6 which are all linked to user story #1.
Step 6 - Install the WorkflowLearning GitHub App
Install the WorkflowLearning GitHub App:
-
only on your GitHub account (NOT on other organizations that you may be part of) and
-
only on your
CS471WorkflowsHomeworkAssignmentrepository (NOT on all your repositories)
Open in a new tab the Visualization of Git History wiki page and use it as a reference while completing this assignment.
This wiki page provides a blueprint of the expected repository history at each step, and allows you to see:
- how the branches are created and deleted, and
- how the commits are created, merged, rebased and squashed.
This wiki page is a workaround to the GitHub Insights -> Network feature, which unfortunately is only updated once a day (in the past it was updated in real-time).
Answer the questions in the Canvas assignment.

