githubschool / turbo-butter

Let's learn about Git and GitHub
https://githubschool.github.io/turbo-butter/
MIT License
0 stars 0 forks source link

Parking Lot #7

Open whatupfoo opened 4 years ago

whatupfoo commented 4 years ago

Post any questions you may have here during the training.

Topics

rkzm commented 4 years ago

:wave: @rwnfoo here is a list of example repositories with READMEs. The wikis are also really nice ❀️

Examples

snowplow/snowplow An example of a readme with flow diagrams and project status tags thinkaurelius/titan An example of a downloadable release d3/d3 An example with document navigation Netflix/Hystrix/wiki Complex wiki drawings

harrison-pham commented 4 years ago

Some members on my team are curious on the different Merge options. What's the difference between Merge, Squash and Merge, Rebase and Merge?

Could you also explain about Reset and Cherry-pick?

richard-morris commented 4 years ago

How does one have a more structured issue management process that is guided and controlled by the system?

Here is a typical issue handling example.

Let's assume there are the following roles and responsibilities:

An issue is created with the following attributes:

Use Case:

  1. Tech support Bob: assists customer. finds a misspelling in instrument screen dialog.
  2. Tech support Bob: creates issue #767 with the required and optional information leaving assignee automatic
  3. Administrator Alice: assigns issue #767 to UI developer Felicia with estimated work
  4. Developer Felicia: investigates checks out appropriate source tag, branches, investigates and resolves issue, tests locally, commits fix, assigns Test Engineer Alex to test.
  5. CI system builds test release from branch
  6. Test Engineer Alex: sets up test environments and tests that issue has been resolved and marks as fixed
  7. Test Engineer Alex: assigns issue back to Felicia who submits a pull request for merging as appropriate
  8. Developer Felicia: submits a pull request into master or branch as appropriate. Assigns issue back to Alex.
  9. CI builds release package
  10. Test Engineer Alex: tests release build to confirm issue is resolved
  11. Test Engineer Alex: closes issue
whatupfoo commented 4 years ago

Some members on my team are curious on the different Merge options. What's the difference between Merge, Squash and Merge, Rebase and Merge?

Could you also explain about Reset and Cherry-pick?

@harrison-pham - πŸ—’οΈ We took this offline. I love this discussion and if time allows, I'd love to go into it with developers who are already comfortable with git.

How does one have a more structured issue management process that is guided and controlled by the system?

@richard-morris - Great question and thanks for sharing this in detail. Ideally, it'd be great if we can spend time going through a workflow consultation, with white boarding sessions and everything. But what I can do here is provide some high level, rough ideas:

⚠️ The actions listed here are just suggested ones, I have not tested some of them. If third-party actions are not allowed, you can certainly build your own. Also, I wouldn't say this is the way to go, just some ideas on how your workflow translates to GitHub Features. We should definitely refine it.

I hope this helps! πŸ˜ƒ

richard-morris commented 4 years ago

Thanks Rowena. I followed some of the guides you reference above and experimented around a bit.

The issue tracking use case I presented above is just an example and not formal nor part of Thermo Fisher processes. I wanted to get a sense of how the built-in GitHub issue tracking functionality could work.

The issue templates seem to be guides which do not enforce required fields, abilities of a given user based on their role, etc. Because there would be such a diverse audience using the tool, more rigorous enforcement would provide for consistency and adhering to documented processes.

On another note, somewhat strangely when I attempt to preview this comment the Preview tab says: Error rendering preview