Modern Project Management - Iowa State...
Transcript of Modern Project Management - Iowa State...
![Page 1: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/1.jpg)
Modern Project Management
Brendan Bartels
![Page 2: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/2.jpg)
Why do we care?• Makes your team more efficient
• Makes your journey less stressful
• Makes your successes more accessible
![Page 3: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/3.jpg)
You Need To Manage• Tasks
• Communication Channels
• Files
![Page 4: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/4.jpg)
You Need To Manage• Tasks
• Communication Channels
• Files
![Page 5: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/5.jpg)
You Need To Manage• Tasks
• Communication Channels
• Files
![Page 6: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/6.jpg)
• Tool that allows you to track file changes over time
• Like a diary
• https://git-scm.com/
What is Git?
![Page 7: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/7.jpg)
• A web application that allows you to• integrate with Git• organize tasks• track work• document changes• in the process you get a rich record of all your work • (for free)
• https://about.gitlab.com/
What is Gitlab?
![Page 8: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/8.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 9: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/9.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 10: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/10.jpg)
Managing Tasks• Why do you have to care?
• You will not agree on the tasks that need to be done
• People who don’t know the tasks won’t work well
• If you don’t complete the tasks, you don’t succeed
![Page 11: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/11.jpg)
Managing Tasks• How do we manage tasks?
• Agree on the tasks
• This is the responsibility of the team leader
• Write the tasks down
• Make the tasks easily accessible to everyone on the team
![Page 12: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/12.jpg)
Managing Tasks• What tools should we use?
• Trello is good, but…
• Use Gitlab Issues
• Tasks correlate nicely with Gitlab Issues
• Gitlab also has a Trello-like board to render Issues as cards
![Page 13: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/13.jpg)
![Page 14: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/14.jpg)
![Page 15: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/15.jpg)
![Page 16: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/16.jpg)
Managing Tasks• Examples:
• https://git.ece.iastate.edu/danc/MicroCART/boards?=
![Page 17: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/17.jpg)
Managing Tasks FAQ
• How do I add pictures/code/links to my Gitlab Issues?
• All Gitlab posts support Markdown, which is a simple language you can use to format your posts, make links, and insert pictures (and even videos).• https://docs.gitlab.com/ee/user/markdown.html
![Page 18: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/18.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 19: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/19.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 20: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/20.jpg)
Managing Communication Channels
• Why do we care?
• You will experience setbacks in your project if you lose technical details of your project
• You will lose technical details if you use the wrong communication channel
![Page 21: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/21.jpg)
Managing Communication Channels
• What communication channels should we use?
• When you aren’t talking about project tasks, use something that prioritizes speed.
• You’ll probably use Slack.
• When you are talking about project tasks, use something that makes it easy to find those details later.
![Page 22: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/22.jpg)
Managing Communication Channels
“The event horizon of the Slack black hole”
![Page 23: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/23.jpg)
Managing Communication Channels
• Use Gitlab issues when talking about project tasks:
• Post questions on relevant Issue threads
• Post updates on relevant Issue threads
• “Mention” any team members that you want to contribute the conversation• @netid
![Page 24: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/24.jpg)
“mention” team members that you want to join the discussion
in any post, and they will get an email notification
![Page 25: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/25.jpg)
• Other Examples:
• https://git.ece.iastate.edu/danc/MicroCART/issues/1
• https://github.com/jOOQ/jOOQ/issues/2536
Managing Communication Channels
![Page 26: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/26.jpg)
• A concession:
• Slack is easier to use than discussion boards for technical conversations that need to happen quickly
• Just copy and paste the discussion into a relevant Issue thread when the conversation is finished
Managing Communication Channels
![Page 27: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/27.jpg)
This text was copied from a
Slack conversation
![Page 28: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/28.jpg)
• A word of caution
• Don’t overuse private communication channels
Managing Communication Channels
![Page 29: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/29.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 30: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/30.jpg)
How To Manage• Tasks
• Communication Channels
• Files
![Page 31: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/31.jpg)
Managing Files• Why do we care?
• People need to be able to make changes locally (important for software changes), so we need a strategy to coordinate distributed changes
• People need to be able to find files, so we need as few locations to store files as possible
![Page 32: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/32.jpg)
Managing Files• How to best manage digital assets?
• For files that require real-time collaboration
• Use Google Docs OR Cybox + Office 365 integration
• For everything else
• Use Git + Branch-Review-Merge workflow
![Page 33: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/33.jpg)
Managing Files• Managing “everything else”
• Use Git
• Use a Branch-Review-Merge workflow
![Page 34: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/34.jpg)
Managing Files• Managing “everything else”
• Use Git
• Use a Branch-Review-Merge workflow
![Page 35: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/35.jpg)
• Git is a timeline of snapshots
• snapshots = commits
• timeline = branch
Intro to Git
Initial commit
Add README
Implement framework for…
https://git.ece.iastate.edu/danc/MicroCART/blob/master/documentation/how_to_use_git.md#how-do-i-make-changes
![Page 36: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/36.jpg)
To start tracking a project with git, enter the directory and use the “git init” command
![Page 37: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/37.jpg)
Hint: Use “git status” to get a hint about what you should do
![Page 38: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/38.jpg)
![Page 39: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/39.jpg)
[85762b0] Initial commit
master
![Page 40: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/40.jpg)
[85762b0] Initial commit
master
![Page 41: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/41.jpg)
[85762b0] Initial commit
master
![Page 42: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/42.jpg)
[85762b0] Initial commit
master
![Page 43: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/43.jpg)
master
[85762b0] Initial commit
![Page 44: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/44.jpg)
master
[85762b0] Initial commit
[d0f2f54] Replace greeting with question
![Page 45: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/45.jpg)
[85762b0] Initial commit
[d0f2f54] Replace greeting with question
master
![Page 46: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/46.jpg)
master
[85762b0] Initial commit
[d0f2f54] Replace greeting with question
• Use “git help” to learn about commands and get help on those specific commands.
![Page 47: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/47.jpg)
master
Local Computer Remote Host
[85762b0]
[d0f2f54]
• Now we need to get your local changes to the central remote host for the team
![Page 48: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/48.jpg)
[85762b0]
[d0f2f54]
master
Local Computer Remote Host
[85762b0]
master
[d0f2f54]
![Page 49: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/49.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
[85762b0]
master
Local Computer Remote Host
master
[d0f2f54]
• Let’s say someone else added a commit to the remote host, such that your local copy is obsolete
![Page 50: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/50.jpg)
[85762b0] [85762b0]
[d0f2f54] [d0f2f54]
[bbf92ad] [bbf92ad]
Local Computer Remote Host
master master
![Page 51: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/51.jpg)
Intro to Git FAQ
• What should I put in my commit message?
• A commit message is typically composed of a header and (sometimes) a body. The header is typically 50 characters or less, and the body is a couple lines down having variable length.
• It’s typically advised to use an imperative tone in the header, such as “change this” or “add this” as opposed to “changed this” or “added this.”
• How often should I commit?
• Commit the smallest stable change
• Or prefix an unstable commit with “wip: ” (work in progress)
![Page 52: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/52.jpg)
Managing Files• Suggestion
• Use Git
• Use a Branch-Review-Merge workflow
![Page 53: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/53.jpg)
Managing Files• Suggestion
• Use Git
• Use a Branch-Review-Merge workflow
![Page 54: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/54.jpg)
Branch-Review-Merge Workflow
• Motivation
• Traditional workflows involve everyone making changes to a central branch/trunk
• Not Great
• Changes are delicate because everyone is working on the stable branch
• Changes are often made without notice, which can lead to team member confusion
![Page 55: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/55.jpg)
Branch-Review-Merge Workflow
• Big Idea:
1. Create your own personal branch (copy of master)• This gives you a safe environment to make your
changes
2. When finished, create a merge request for your branch• This gives your teammates a chance to review your
code and offer feedback before changes become final
3. After approval, merge your changes into master• And then delete your personal branch
![Page 56: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/56.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
• Create a new branch that is a copy of master
![Page 57: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/57.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[8e656ec]
![Page 58: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/58.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[8e656ec]
• Recall the state of our remote host
![Page 59: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/59.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[8e656ec] [8e656ec]
![Page 60: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/60.jpg)
Branch-Review-Merge Workflow
• Now that we have your branch on the remote host, open a Merge Request for your branch to be merged into master
![Page 61: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/61.jpg)
“mention” team members that you want to review your changes in the description of your merge
request, so that they get an email
![Page 62: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/62.jpg)
![Page 63: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/63.jpg)
Branch-Review-Merge Workflow
Branch-Review-Merge Workflow
• Use the inline code comments to give specific feedback on changes
![Page 64: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/64.jpg)
Branch-Review-Merge Workflow
Branch-Review-Merge Workflow
• When your teammates have reviewed and approved your code, merge it!
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[8e656ec] [8e656ec]
![Page 65: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/65.jpg)
Branch-Review-Merge Workflow
Branch-Review-Merge Workflow
• When your teammates have reviewed and approved your code, merge it!
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[8e656ec] [8e656ec] [8e656ec]
[f17ce0c]
![Page 66: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/66.jpg)
Branch-Review-Merge Workflow
Branch-Review-Merge Workflow
• When your teammates have reviewed and approved your code, merge it!
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[8e656ec] [8e656ec]
[f17ce0c]
![Page 67: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/67.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
improve-comments
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[8e656ec] [8e656ec]
[f17ce0c]
[8e656ec]
[f17ce0c]
![Page 68: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/68.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[8e656ec]
[f17ce0c]
[8e656ec]
[f17ce0c]
![Page 69: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/69.jpg)
[85762b0]
[d0f2f54]
[bbf92ad]
master
Local Computer
[85762b0]
[d0f2f54]
[bbf92ad]
master
Remote Host
[8e656ec]
[f17ce0c]
[8e656ec]
[f17ce0c]
![Page 70: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/70.jpg)
Branch-Review-Merge Workflow
• Other Examples:
• https://git.ece.iastate.edu/danc/MicroCART/merge_requests/11
![Page 71: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/71.jpg)
• What about merge conflicts?
Branch-Review-Merge Workflow
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
![Page 72: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/72.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[0d46dbf]
![Page 73: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/73.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[0d46dbf]
![Page 74: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/74.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[0d46dbf]
![Page 75: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/75.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[0d46dbf]
![Page 76: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/76.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[e98ad66]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[0d46dbf]
![Page 77: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/77.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[f17ce0c]
[e98ad66]
hello-earth
[e98ad66]
• Git will likely open a text-editor (vim) for the commit• Use “:q” to just quit and use the commit message as is
[1e52485]
![Page 78: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/78.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[f17ce0c]
[0d46dbf]
hello-earth
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
![Page 79: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/79.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[f17ce0c]
[0d46dbf]
hello-earth
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
![Page 80: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/80.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[f17ce0c]
[0d46dbf]
hello-earth
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
[3a24661]
![Page 81: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/81.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
[3a24661]
![Page 82: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/82.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[f17ce0c]
[0d46dbf]
hello-earth
[e98ad66]
[1e52485]
[e98ad66]
[1e52485]
[0d46dbf]
[e98ad66]
[1e52485]
[3a24661] [3a24661]
![Page 83: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/83.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[e98ad66]
[1e52485]
[0d46dbf]
[e98ad66]
[1e52485]
[3a24661] [3a24661]
![Page 84: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/84.jpg)
[f17ce0c]
master
Local Computer
[f17ce0c]
[0d46dbf]
master
Remote Host
[e98ad66]
[1e52485]
[0d46dbf]
[e98ad66]
[1e52485]
[3a24661] [3a24661]
![Page 85: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/85.jpg)
• What about files generated by software? (not directly written by you)
• Still use Git, but keep in mind the diffs will be unmanageable, don’t bother examining them
• Resolve merge conflicts with “git checkout —ours” or “git checkout —theirs”• (This essentially ignores all of one team member’s
changes, so it is best to avoid this scenario. Coordinate with your teammates so that only one person is ever working on binary files at a time.)
Branch-Review-Merge Workflow FAQ
![Page 86: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/86.jpg)
Managing Files• BONUS
• For tutorials, how-to’s, or orientational documents, write these documents as Markdown files, and then gitlab will render these as web pages for you
• Markdown is a very simple and natural syntax
• It’s quite easy to add links, pictures, code snippets
• Gitlab’s Markdown Reference:• https://docs.gitlab.com/ee/user/markdown.html
![Page 87: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/87.jpg)
![Page 88: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/88.jpg)
Demo
![Page 89: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/89.jpg)
Review How to Manage• Tasks• Define and track tasks with Gitlab Issues
• Communication Channels• Use Gitlab issue threads whenever you are talking
about tasks
• Files• Use Git and Gitlab Merge Requests• Use Markdown to turn files into web pages on Gitlab
![Page 90: Modern Project Management - Iowa State Universityseniord.ece.iastate.edu/resources/Bar18A.pdfBranch-Review-Merge Workflow • Big Idea: 1. Create your own personal branch (copy of](https://reader034.fdocuments.in/reader034/viewer/2022042110/5e8aaf29d3b8da1dc2135c16/html5/thumbnails/90.jpg)
Questions?