Git Together: Collaborative Coding and Source Code ...

3 downloads 0 Views 2MB Size Report
Oct 5, 2017 - Get Comfortable with Git CLI. ❖ Push Early and Often. ❖ Don't Commit, Merge master. ❖ Don't Panic. ❖ Review Code. ❖ Collaborate on Issues.
Git Together: Collaborative Coding and Source Code Management via Git and GitLab Gabriel Tocci 05-OCT-2017 @ 11:15am - 12:15pm Session ID # 352

Session Format  60 minute time slot  Q&A  Git and Gitlab Expertise  Can you see REAL good?  gabrieltocci.com/slides

CoHEsion Summit

2

Avoid difficult pitfalls via version control CoHEsion Summit

3

Different implementations  TFS, CVS, SVN, SharePoint, Mercurial, Git  Migration Tools  Centralized vs. Decentralized Repositories

2017 Stack Overflow Developer Survey

CoHEsion Summit

5

Git Concepts  Repository (repo)  A project/directory tracked by Git • $ git init

 Adding files to a repo • $ git add *.js

Remote repos • $ git remote add origin https://git.etsu.edu/user/repo.git • $ git clone https://git.etsu.edu/user/repo.git

Commit  Saving a version or snapshot • $ git commit –m “Allow parts of term parameter”

 Branch  A working copy of the repo • $ git branch my-local-branch • $ git checkout –b its-1234-sfrnslc origin/its-1234-sfrnslc

Repositories

CoHEsion Summit

7

Remote Repositories

CoHEsion Summit

8

Commits

$ git commit -am “WIP” --amend $ git push -f

CoHEsion Summit

10

on (master) $ git branch feature

CoHEsion Summit

11

on (master) $ git merge feature

CoHEsion Summit

12

Branching Strategy for a Large Team/Project

Branching @ ETSU

CoHEsion Summit

14

ETSU Branching

CoHEsion Summit

15

on (feature) $ git rebase master

CoHEsion Summit

16

$ git bisect run

CoHEsion Summit

17

$ git bisect run

CoHEsion Summit

18

Golden rule of git

CoHEsion Summit

19

Git Tools  Git CLI  bash /gitbash / WSL  .bashrc  .git-completion  .gitconfig  GUI tools  sourcetree  gitkraken  visual studio / code

CoHEsion Summit

20

GitLab - Working Together  Host remote Git repositories  Github, BitBucket, gitolite, etc.  Open Source  Hosted on-premises @ git.etsu.edu  Only accessible on-campus  SSH or HTTPS  Security Model  Users, Roles, Privs

ETSU Project/Repo Groups

CoHEsion Summit

22

GitLab Features  Core Git Functions  Issue Management  Developer Collaboration  Project Documentation  Snippets  Notifications  Team Activity  Source Code Search  CI/CD

Market Share

CoHEsion Summit

24

Banner Modifications / Development Repo

CoHEsion Summit

25

GitLab Commit View

Continuous Integration / Deployment

CoHEsion Summit

27

ETSU Dev Workflow

Programming Request

 Create  Approve  Assign

Issue

 Create  Link  Assign

Merge Request

 Create  Branch

Branch

Merge Request

Programming Request

 Develop  Assign  Complete  QA  Code Review  Merge  Assign

CoHEsion Summit

28

Programming Request

CoHEsion Summit

29

Git Issue

CoHEsion Summit

30

Merge Request

CoHEsion Summit

31

Summary  Get Comfortable with Git CLI  Push Early and Often  Don’t Commit, Merge master  Don’t Panic  Review Code  Collaborate on Issues

CoHEsion Summit

32

Whats Next?  Management Analytics  Issue Boards  GitPrime  Increase Usage of CI/CD

CoHEsion Summit

33

Questions?

CoHEsion Summit

34

 Session# 359  Replacing Pro*C in Jobsub With Ruby  Wednesday @ 10:00 AM - 11:00 AM by Ian Dillon

 Session# 703  Avoiding DegreeWorks Localization Pitfalls: Programming Practices  Wednesday @ 11:15am - 12:15pm by Gabriel Tocci

 Session# 352  Git Together: Collaborative Coding and Source Code Management via Git and GitLab  Thursday @ 11:15am - 12:15pm by Gabriel Tocci

 Session# 358  Running Ellucian Middleware in Docker  Thursday @ 1:30pm - 2:30pm by Ian Dillon

 Session# 357  Building Declarative Cloud Infrastructure with Terraform  Thursday @ 3:00pm – 4:00pm by Ian Dillon

CoHEsion Summit

35

Resources  https://git-scm.com/book/en/v2  https://www.gitignore.io/  Gitignore Webapp

 https://gist.github.com/PurpleBooth/109311bb0361f32d87a2  Readme Example

 Developer Survey URL’s https://insights.stackoverflow.com/survey/2017 https://blog.bitrise.io/state-of-app-development-2016

 www.gabrieltocci.com/slides

CoHEsion Summit

36