Macaualy2 Workshop Berkeley 2017

Slides:



Advertisements
Similar presentations
Ravi Mathur Updated December 5,  ODTBX uses Git (see the ODTBX Git Tutorial) ODTBXODTBX Git Tutorial ◦ SourceForge account needed (free). SourceForge.
Advertisements

An Introduction By Sonali and Rasika.  Required for the project  Show the versions of your code in the course of development  Show versions of your.
Github. Download & install git   Git bash  Git GUI.
Hosted Git github. From an alumni (2010)  You know, the more time I spent in industry the better I've understood what a strong advocate you are for the.
Chapter 4 The Online Repository CREATE A REPO ONLINE ON GITHUB.COM.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Version control with Github August 26th, 2014 Daniel Schreij VU Cognitive Psychology departement
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
Version control Using Git Version control, using Git1.
Git (Get) it done right! Practical Applied Version Control for Drupal site developers Peter Chen - Stanford School of Engineering Technical Webmaster.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Ernst Peter Tamminga Get started with GitHub XCESS expertise center b.v. Netherlands.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
Git Fundamentals Rochelle Terman 13 January 2014.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
Intro to Git presented by Brian K. Vagnini Hosted by.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Hosted Git github. From an alumnus (2010)  You know, the more time I spent in industry the better I've understood what a strong advocate you are for.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Git How to 1. Why Git To resolve problems in lab exams (accidental deletions) Use existing Libraries with ease (Statistics and Computer) Prepare undergraduates.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
1. A new git is initialized as a remote repository JohnRemote repositoryPeter master C0 CodingWhileBlack.com PROPEL CODING
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
Information Systems and Network Engineering Laboratory II
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
GIT AND GITHUB WORKSHOP
SVN intro (review).
Version Control.
Git Practice walkthrough.
Setting up Git, GitBash, and GitHub
Setting up Git, GitBash, and GitHub
Discussion 11 Final Project / Git.
Version Control overview
Version control, using Git
ALICE-Juniors Meeting
Software Engineering for Data Scientists
Version Control with Git and GitHub
Storing, Sending, and Tracking Files Recitation 2
SU Development Forum Introduction to Git - Save your projects!
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
LECTURE 3: Software Configuration Management
The Big Picture
SIG: Open Week 1: GitHub Tim Choh.
Setting up Git, GitBash, and GitHub
Getting Started with Git and Bitbucket
Part 1: Editing and Publishing Files
Advantages Project Career Divide & Conquer Collaboration
Version control with Git Part II
Using Github.
Git CS Fall 2018.
Introduction to Git and GitHub
Git started with git: 2018 edition
GitHub and Git.
Version Control with Git and GitHub
GitHub 101 Using Github and Git for Source Control
Git Introduction.
Introduction to Git and Github
Git GitHub.
1. GitHub.
Introduction to The Git Version Control System
Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.
Presentation transcript:

Macaualy2 Workshop Berkeley 2017 GitHub Macaualy2 Workshop Berkeley 2017

Got Git? Open a terminal ataylor@ ~ which git /usr/bin/git If not: https://github.com/ Make a new account and e-mail your login to ajt@ameliajtaylor.com https://git-scm.com/downloads Install git on your computer.

Steps For Starting Existing Package? Fork Macaulay2/M2 https://github.com/Macaulay2/M2 Choose your own Repo, make changes there and then either push to the workshop repo, or put up a PR to the main repo. More on this in a moment. New Package? Clone our repo (more in a moment), and just get going, then push it to our repo. Easy!

Clone our “Master” Repository https://github.com/Macaulay2/Workshop-2017-Berkeley Click on Clone or Download --- choose HTTPS (recommended and necessary unless you have ssh keys setup) Go to a folder where you want this project to live and type: git clone https://github.com/Macaulay2/Workshop-2017-Berkeley.git

What you have Now

New Package Create your package, add, commit and push it (details in a moment) and now you can all work on it in the Workshop Repo. Consider Branching!

Existing Package You have options: git clone https://github.com/Macaulay2/M2 the copy the package of interest into your clone of the workshop repo, push it there and then branch. Fork https://github.com/Macaulay2/M2 using the fork button in the top right corner. You can then work there on your own, and put up a PR request to the main repo when you are ready, or put items in the workshop repo so others can see/work with it. DO NOT COMMIT TO MASTER FOR https://github.com/Macaulay2/M2

Git Workflow: New work in Workshop Repo New or old folder in our new Workshop repo: You moved it locally, but everyone wants to see it and branch (see next discussion). You have new work you want to commit to the main repo. Git add my_filename Git commit –m “I have a great new package” Git push origin master (make sure you are in the Workshop Repo AND that this is only to create the code you want to work on)

Git Workflow: Branches We recommend each person working on a project makes a branch (regardless of forking or new projects): git checkout –b branch-name git push origin branch-name You will now see that you are on this branch. And it exists in the remote repository so others can now check it out. You could even do this and fork into it, many options here. git fetch git checkout branch -name

Removing a Branch git push origin --delete branch_name (deletes remote branch) git branch -d branch_name (deletes local branch) This assumes you have no uncommited changes in your local branch. Use with extreme caution!!

Git Workflow: Branches I personally find the git workflow easier to manage if I have a branch where I’m the only one mucking about. I recommend, once your group has a bare minimum of a package in the Workshop Repo (e.g. rees- algebras) that you make your own feature branch (e.g. amelia-rees- algebras, or adding-new-types, or…) This is not required, just recommended and then you can do a PR with your team and merge to the group repo so others have easy access when you are ready. This keeps the merging easier.

Git Workflow: Making Changes Redeux Make some changes in a file. git add filename git commit –m “useful message about changes.” git push origin branch-name This works well when you are the only person working on a branch, which is the recommend flow.

Git Workflow: Merging Suppose you do all that you needed to for your new feature. Now you want to put that code in the group branch for everyone to use. Please do a Pull-Request. You can create a new PR online. Give a message useful to your reviewers about what you changed and assign one or two folks from your group to review. GitHub will tell you if you have conflicts. If you do, try merging the branch above into your branch and resolve the conflicts. More on this on the wiki and when it happens. Any and all changes to Master should go through a Pull Request and be approved before merging!

Git Workflow: Merging Someone made changes in their branch, merged them into the group branch and you want them in your branch git checkout your-branch git merge group-branch When ready to merge your branch into the group branch, you can use the online tools that are part of your PR or do git checkout master git merge branch_name git push origin master