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, empty GitHub repository called CS471WorkflowsHomeworkAssignment
.
The following options should be disabled/unchecked:
Add a README file
Add .gitignore
Choose a license
Why make the repository public?
🥱 tl;dr: it will allow you to visualize the repository history and branches (see visualization example).
Feel free to delete the repository (or make it private) once you complete the assignment.
Creating a public repository will allow you to visualize your repository history and see all the branches, which is a feature that will be extremely useful in this assignment.
However, this repository insights feature:
- is not available for personal private repositories,
- but it is available for personal public repositories (or for personal private repositories with a Team subscription, which you may not have).
Clone this CS471-Assignments-Workflows repository.
$ git clone https://github.com/BoiseState/CS471-Assignments-Workflows.git
$ cd CS471-Assignments-Workflows
The contents of master
branch of the cloned repository (from Step 2
) will be pushed 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 origin
Add 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 master
branch to your newly create repository (in Step 1
):
$ git push -u origin master
Push all tags to your newly create repository (in Step 1
):
$ git push --tags
In 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
CS471WorkflowsHomeworkAssignment
repository (NOT on all your repositories)
Answer the questions in the Canvas assignment.