CERNStudyGroup / cernstudygroup.github.io

https://cernstudygroup.github.io
Other
20 stars 9 forks source link

Intro to version control, git and GitHub (/GitLab) #58

Open RaoOfPhysics opened 7 years ago

RaoOfPhysics commented 7 years ago

Anyone want to teach this? @ibab, @tpmccauley, @jacquerie?

RaoOfPhysics commented 7 years ago

Looks like most people are familiar with git and GitHub (#22), so this may not be worth doing.

tpmccauley commented 7 years ago

I would not consider myself qualified. I am interested in attending to learn more though!

RaoOfPhysics commented 7 years ago

Paging @tiborsimko!

adavidzh commented 7 years ago

I think a pedestrian guide to CI at CERN might be interesting. I.e., not just version control.

ibab commented 7 years ago

I'm moving to CERN next week, so I'll be able to do these kinds of sessions in the future :)

If everyone is already familiar with git, I could do some semi-advanced things like add -p, rebase -i and so on. I could also show how to use the hub command line tool that allows you to do some Github things using a git-like command line interface. This greatly speeds up things like checking out someone's pull request.

@adavidzh: I've played around with using Gitlab runners with the CERN Gitlab instance, so I'd be able to show how to set up an OpenStack instance for Gitlab CI. (But not much more beyond that).

RaoOfPhysics commented 7 years ago

@adavidzh: Can you create a separate issue for CI?

@ibab: Yay! See you at CERN next week! I think a semi-advanced lesson would be very welcome. :) Is next week to soon?

RaoOfPhysics commented 7 years ago

@ibab: Up for this tomorrow? :D

ibab commented 7 years ago

Nope, can't make it this week. :(

On Thu, Oct 20, 2016, 13:15 RaoOfPhysics notifications@github.com wrote:

@ibab https://github.com/ibab: Up for this tomorrow? :D

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/CERNStudyGroup/cernstudygroup.github.io/issues/58#issuecomment-255077908, or mute the thread https://github.com/notifications/unsubscribe-auth/AA2Wo7ies75X4fOakBUoTNa4lS5NrOVyks5q101KgaJpZM4KRJuq .

RaoOfPhysics commented 7 years ago

@ibab: No worries. Let me know what day/time suits you. It doesn't have to be on a Friday evening. I think @stklik wants to attend https://github.com/CERNStudyGroup/cernstudygroup.github.io/issues/59 but can't make Fridays.

stklik commented 7 years ago

@RaoOfPhysics basically I'm out every Friday... (that's the day that I'm at uni).

@ibab Not sure I've anything more to add, but I've done some playing around with Docker + Gitlab-CI + CERN Gitlab-CI auto building of Docker images + ... (before docker.cern.ch was deprecated)

tiborsimko commented 7 years ago

Paging @tiborsimko!

Sorry @RaoOfPhysics I didn't notice your ping before... busy times. Anyway I think @ibab volunteered to take care of this intro now.

Speaking of somewhat more advaned usage of git, it may be good to cover also efficient integration with code editors (e.g. Emacs Magit) and how it can improve interactive rebasing, blaming, bisecting, etc.

Touching various merging strategies and rerere could be fun too 😄

Git shortcuts and aliases are also useful, e.g. try this one for nicely formatted commit history:

$ grep ka ~/.gitconfig 
    ka = log --graph --decorate --pretty=format:'%C(blue)%d%Creset %C(yellow)%h%Creset %s, %C(bold green)%an%Creset, %C(green)%cd%Creset' --date=relative --all

so this one for "local branch information":

$ grep lbi ~/.gitconfig 
    lbi = !"git for-each-ref --format='%(committerdate:short) %(refname)' --sort=committerdate refs/heads/*$1*"

Speaking of GitHub CLI tools, I quite like ghi for working with issues, labels and friends.

(...just some random musings in between two things....)

RaoOfPhysics commented 7 years ago

@tiborsimko: I believe @ibab is off to greener pastures soon! Not sure when, though. If he's not around, would you be up for this? We'll have to do it in the new year, I presume, and not on a Friday (for @stklik).