Slide 1

Slide 1 text

GitHub Pro Tips 2018-09-01 Big MiniConf

Slide 2

Slide 2 text

yuichielectric Yuichi Tanaka Inside Solutions Engineer

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

https://octodex.github.com/

Slide 6

Slide 6 text

What is necessary to succeed in software development?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Writing code is not the only way to contribute.

Slide 10

Slide 10 text

GitHub collaborative tips • Issues • Pull Requests • Projects

Slide 11

Slide 11 text

Issues

Slide 12

Slide 12 text

Open issue first • Share your ideas/thoughts • Get feedback from your team members earlier

Slide 13

Slide 13 text

Use task lists

Slide 14

Slide 14 text

Use task lists

Slide 15

Slide 15 text

Create issue templates

Slide 16

Slide 16 text

Create issue templates

Slide 17

Slide 17 text

Keep issues small • Focus on one topic • Large issue often contains several topics • Divide large issues and lock conversation

Slide 18

Slide 18 text

Lock conversation

Slide 19

Slide 19 text

Master search syntax is:issue Only issues text in:title Issues with “text” in their title user:octocat Issues owned by @octocat state:open Open issues assignee:octocat Issues that is assigned to @octocat mentions:octocat Issues that mention @octocat commenter:octocat Issues which have a comment by @octocat https://help.github.com/articles/understanding-the-search-syntax/ https://help.github.com/articles/searching-issues-and-pull-requests/

Slide 20

Slide 20 text

Use table

Slide 21

Slide 21 text

Use table

Slide 22

Slide 22 text

Use table

Slide 23

Slide 23 text

Pull Requests

Slide 24

Slide 24 text

Create pull request early • Get feedback from your team members and tools • Specify it is a work-in-progress (WIP) • Prefix title with [WIP] or use a WIP label

Slide 25

Slide 25 text

Pull Request template

Slide 26

Slide 26 text

Close issues using keywords

Slide 27

Slide 27 text

Co author

Slide 28

Slide 28 text

Jump to method/function

Slide 29

Slide 29 text

Jump to method/function

Slide 30

Slide 30 text

Projects

Slide 31

Slide 31 text

Projects

Slide 32

Slide 32 text

Progress bar

Slide 33

Slide 33 text

Automation

Slide 34

Slide 34 text

More automation

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

module.exports = app => { app.on('issues.opened', async context => { // `context` extracts information from the event, // which can be passed to GitHub API calls. const params = context.issue({body: 'Hello World!'}) // Post a comment on the issue return context.github.issues.createComment(params) }) } Probot

Slide 38

Slide 38 text

GitHub API • provides programmatic access to GitHub features and data • https://developer.github.com/

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

Keep track of GitHub

Slide 41

Slide 41 text

Changelog https://blog.github.com/changelog/

Slide 42

Slide 42 text

GitHub Learning Lab https://lab.github.com/

Slide 43

Slide 43 text

GitHub Learning Lab

Slide 44

Slide 44 text

GitHub Community https://github.community/

Slide 45

Slide 45 text

No content