Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick
|
|
- Marylou Fields
- 5 years ago
- Views:
Transcription
1 Composer and Drupal CIDUG Meeting December 13, 2018 John Rearick
2 * Similar to other dependency managers such as: yum, apt, brew, macports, npm, pip, etc. * Helps manage dependency hell. * Lots of dependencies * Not only project dependencies, but also versions of projects as well * Long chains of dependency - A requires B requires C requires. * Not 100% solution, but makes it managable. Composer "Dependency manager for PHP"
3 PHP is a much larger community than Drupal. With the basis in Symfony Drupal 8 is really getting off the Drupal Island. In order to more easily use the solutions the rest of the PHP community has come up with, Drupal decided that playing nicely was required. So we now use composer. Circular work. Composer has made Drupal development easier, and Drupal has made composer nicer for the benefit of other PHP projects. Get off the Drupal island
4 Building a Drupal Website Normally think about building a drupal website so we start with Drupal. Then we add things to that.
5 Building a PHP Website with Drupal as a dependency However, we re really building a PHP project that uses Drupal. So our website s first dependency is Drupal itself. This allows us to only have our own code in the repository and we don t have to keep track so much with Drupal or any other dependencies
6 Get and install Composer Globally copy commands from getcomposer.org/download/ mv composer.phar /usr/local/bin/composer Add /Users/username/.composer/vendor/bin to your PATH Update composer with composer self-update
7 Start a project with drupal-composer/drupal-project Kickstart a plain Drupal project with composer: composer create-project drupal-composer/ drupal-project:8.x-dev some-dir --stability dev --no-interaction composer - the composer command, installed globally create-project - creates a folder with all the files we expect drupal-composer/drupal-project:8.x-dev drupal-composer - org drupal-project - project/repo name :8.x-dev - defined version. (this is not the drupal version, this is the drupalproject version) some-dir - Whatever directory you want this to create stability dev - Just go with it. no-interaction - Please don t bother asking questions, just go with defaults. Thanks
8 to find the command Replace some-dir with mysite Let s Build
9 Where does it get code from? Packagist is a Repository or database of PHP projects. Configured by default with composer. Not a git repository (necessarily) Similar to something like the subscription channels in RHEL
10 Where does it get code from? packages.drupal.org Other repositories are available for composer. Usually one per project or look at Satis, an open source repository generator composer/satis Your own private repositories!
11 WARNING Projects from public repositories, such as Packagist, may not be relied upon. Project could be pulled off GitHub SCM Repository could get compromised Use trusted repositories and projects Examples: * left-pad in npm was pulled when the owner had a disagreement of philosophy and removed all of their own projects from the repository. NPM had to restore the left-pad project after builds broke. * event-stream in NPM (again). Commit access was given to someone unvetted and added bitcoin code to the project, which, in turn got deployed to numerous websites npm_repo_bitcoin_stealer/ * drupal.org code is pretty well reviewed and there is a policy for managing projects in the Drupal repository
12 Check out the build log from composer and what we got in finder Done Building?
13 click to zoom
14 notice: we have a.gitignore, but not a.git folder. This isn t a git repo. Yet notice: composer.json notice: composer.lock notice: web folder.
15 Composer.json * simple json file * Don t usually need to edit this by hand. Please use the composer commands if you can * Starts with basic information * Note the lack of comma on the last time of a list. Always catches me off guard * composer validate to check your composer.json for errors * be in the root of the directory (though it has gotten smarter about that recently)
16 * Repositories are the repositories we talked about earlier. * Not always git repositories * Can define a git repo for a single private project if needed * here we see the Drupal 8 project repository maintained by the DA
17 * Here we see the project s dependencies. * format of org/project * Note: cweagans/composer-patches * Semantic Verstioning Major.Minor.Patch. * Major - breaking changes. remove deprecated functions (Drupal 9) * Minor - New features. Generally shouldn t break anything, but you know how that goes * Patch - quick bug fixes that can t wait for a minor release or security updates usually * Noticing the ^ has some meaning, we ll get to that in a bit * Fuzzy version dependency. You can define a range of versions. * add these dependencies with the command line. We ll get to that. * composer has a concept of a dev version so you can add dependencies when in development mode. (I haven t really used this yet) * perhaps can be used with something like devel module or features module
18 * Extra stuff can be added to enhance composer or configure other plugins. * Here we can see that we re configuring patch level to -p2 so that patches can be applied in the web folder * Patches can be defined here too thanks to the composer-patches requirement we had earlier (we can cover that if you want later) *
19 * Installer paths define where code should go. * by default code ends up in the the /vendor/org/project folder * Drupal needs modules, themes, profiles, core, and drush commands installed in a specific place * type is defined in a project s composer.json at the top.
20 * Drupal Scaffold is a plugin written for this composer project so that files like index.php,.htaccess, etc get placed properly * Here we see a configuration to move the.editorconfig and.gitattributes files to the root of the project instead of the web folder * When updating drupal core check the git diff to review any possible changes you may have made to these files. * You can configure drupal-scaffold to ignore certain files by default as well. We have.htaccess ignored because shibboleth config
21 Composer.lock * Don t edit this file manually! * Is used to build out all the files as defined in composer.json * locks the specific version of dependency code. * sort of like a cache
22 Composer.lock Merge Conflict It s easy to get conflicts in this file when two people update the lock file. I found to be a good strategy to manage those conflicts.
23 .gitignore next slide to zoom in
24 .gitignore * We don t have a git repo yet. But it has suggestions for what to put in.gitignore. * Notice we don t commit core, contrib, or libraries! * These files are all managed by composer and brought in. So, there really isn t any need to track these files.
25 fiddle stuff mkdir -p config/sync Set up Drupal
26 Install Modules composer require drupal/token
27 Define Versions Same as before. composer require drupal/token:^1.5 ^ Latest stable version according to semver ~ Allows only last digit to go up Other constraints such as * < > work too. getcomposer.org/doc/articles/versions.md#nextsignificant-release-operators
28 Other Examples composer require drupal/token:^1.5' composer require 'drupal/simple_fb_connect:~3.0' composer require 'drupal/ctools:3.0.0-alpha26' * Token 8.x-1.5 to 8.x-1.n * simple_fb_connect 8.x-3.0 to 3.n * ~ and ^ mean almost the same thing in Drupal land for now, because semver translates by adding an extra.0 at the end of the versions. * ctools specifically 8.x-3.0-alpha26 * token 8.x-1.x-dev composer require 'drupal/token:1.x-dev'
29 * composer require drupal/token * See the change in composer.json * composer.lock also updated Install token
30 Updating Modules * `composer update` without anything will update everything. Be careful! * --with-dependencies is important because we want to update any dependencies as required usually. composer update drupal/token --with-dependencies
31 Updating Drupal Core composer update drupal/core webflo/drupal-corerequire-dev symfony/* --with-dependencies * Go to the composer project page and look at the readme for recommended steps: * Git diff any changes to confirm stuff. Especially for scaffold files that you modified like.htaccess *
32 Git * git init * git add. * git commit -m inital commit * Install another module drupal/redirect * observe changes only in composer.json and composer.lock * take a gander at the diff * clone a new copy * cd.. * mkdir other * cd other/ * git clone../some-dir/. * realize there is no vendor, core, or nothing in modules directory! * Let s bring it all back in. * composer install * reads the composer.lock file and fetches all the stuff and puts them in place * git status shows no changes * see our files are there! * oh hey, where s redirect? (we didn t commit it ) * got back to ~/Sites/some-dir * git add. * git commit -m adding redirect module * cd.. * cd other * git pull * composer install to get us the redirect module YAY
33 Deployment * composer install as part of your deployment is fine composer install can be a bit of a resource hog, and some may not want that running on production. Use a build server or something to create an artifact to deploy
34 Artifact Adds complexity to the build/deployment process Adds production code auditing. Reduces resources required for production servers. * There s a lot of moving parts to keep track of. Need a place to make the build and move the files * Code on the production server can be committed to a repo and it s easier to see if files were changed, with git or some such. * composer building requires a lot of memory to run and can be resource intensive. Better to offload that to once in a while on circleci or something ephemeral and cheap than needing to run an Amazon Larger that spends most of its time idle. or trying to figure out how to scale containers.
35 Artifact 1. Deploy to a build server 2. build server runs composer install 3. rsync or commit/push/pull the code files to a production server * Build server something like circleci or travis, can be configured to work on web hooks, for automatic deployment * Build server does the hard work of building everything * Build server will need to have access to commit or trigger a deployment with Tower or something. Keys can be added to the build server in an encrypted store * Could be rsync, a separate git repo or even a branch on the original repo * Using git, be sure that the.gitignore doesn t ignore the important files like vendor, core, modules, etc
36 Private Repositories * Remember, not git repo, package repo We can t use a public repository like Packagist Private/proprietary code on private git repo Doesn t make sense to share with the world
37 Private Repositories Private Packagist Open source project Requires infrastructure to build and host * Made by the people who made composer * It s a PHP project that can be installed and managed with composer (of course) * Has a build process that needs to run any time there s an update to any project * Build process is usually done on cron every few minutes * I haven t done this, but to looks pretty easy to set up
38 Private Repositories Project specific repo A project can also be a repository Easy to setup * A couple lines in the project s composer.json * can be hosted on any git repository * Bringing into project you need to define both a repo and project requirement. * If your org has a lot of private projects, can be hard to manage since there s not central place Cumbersome if you have too many
39 Set up project repo * See * Name matches github path * description is nice * type is drupal-module to make sure it goes into modules/contrib/ drush_example * Perhaps this can be changed to org-module or something and update the base project composer.json to handle it * repositories. Define itself with type git and url * a composer type is used for other repositories like drupal.org, satis. Added here in case this module wants to define dependencies itself * Go back to our local composer.json * { * "type": "git", * "url": "git@github.com:jrearick/drush_example.git" * }, * composer validate * Ignore warning about lock file for now, see that the file is valid * "jrearick/drush_example": master", * master means master branch. Always get the master. You can probably define tags here with semver? * composer validate * See warning about trying to avoid unbound version constraints. * composer update jrearick/drush_example * composer validate should no longer warn about outdated composer.lock (avoided updating everything else ) * git diff to see the composer.lock changes * cd web/modules/contrib/drush_example to see the code is there * cd back to the project root and commit
40 Patch Management * The killer app for composer * With the super fast development of Drupal 8 and Drupal 8 modules, it s nice to be able to get patches and manage them composer can download and apply patches for you!
41 * we have an issue * Have a patch on comment 80 * Copy raw patch link Patch Management / patch * edit composer.json *, * "patches": { * "drupal/core": { * " Patches states for ajax fields": " * } * } * composer validate * composer update drupal/core * local patches can be applied too, instead of a url give a path patches/ my_custom.patch * when patches don t apply, get you notified in update process.
42 Composer Resources The quick install: Using composer to manage a Drupal project: composer.lock resolving merge conflict: solving-conflicts-in-composer-lock/ Satis composer repository generator: satis Tips for Managing Drupal 8 projects with composer:
Composer Best Practices Nils Private Packagist
Composer Best Practices 2018 Private Packagist https://packagist.com 2018? Delete your lock files 2018? Delete your lock files Composer Ecosystem Reality Update 2018 Best Practices? Deployment Improving
More informationBuild & Launch Tools (BLT) Automating best practices for enterprise sites
Build & Launch Tools (BLT) Automating best practices for enterprise sites Who are you? Matthew Grasmick @grasmash on Drupal.org, twitter, etc. Acquia Professional Services, 4yrs Drupalist, 9yrs Maintainer
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationComposer for Absolute Beginners. Alison Jo McCauley Drupal Developer, Cornell University
& l a up Dr Composer for Absolute Beginners Alison Jo McCauley Drupal Developer, Cornell University What is Composer? Composer is a (command-line) tool for dependency management in PHP. With composer,
More informationDrupal & Composer Matthew Grasmick & Jeff Geerling
Drupal & Composer Matthew Grasmick & Jeff Geerling Speakers Matthew Grasmick @grasmash Jeff Geerling @geerlingguy Acquian BLT maintainer 10+ years of Drupal Acquian Drupal VM maintainer Agenda Composer
More informationSoftware Development I
6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even
More informationGit. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes
Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global
More informationUsing GitHub to Share with SparkFun a
Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing
More informationVersion control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison
Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin
More informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationCONFIGURATION AS DEPENDENCY. Managing Drupal 8 Configuration with Git and Composer
CONFIGURATION AS DEPENDENCY Managing Drupal 8 Configuration with Git and Composer ERICH BEYRENT Senior Drupal Developer at BioRAFT Working with Drupal since 2004 Drupal: https://drupal.org/u/ebeyrent Twitter:
More informationRevision control. INF5750/ Lecture 2 (Part I)
Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same
More informationUsing git to download and update BOUT++
ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running
More informationCOMPOSER IN DRUPAL WORLD
#drupaldevdays / Composer in Drupal World / @derhasi COMPOSER IN DRUPAL WORLD Johannes Haseitl - @derhasi ME Johannes Haseitl @derhasi everywhere Maintainer of Master, Search API Override,... CEO of undpaul
More informationAVOIDING THE GIT OF DESPAIR
AVOIDING THE GIT OF DESPAIR EMMA JANE HOGBIN WESTBY SITE BUILDING TRACK @EMMAJANEHW http://drupal.org/user/1773 Avoiding The Git of Despair @emmajanehw http://drupal.org/user/1773 www.gitforteams.com Back
More informationIntroduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum
Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...
More informationCommon Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18
Common Git Commands Git Crash Course Teon Banek theongugl@gmail.com April 7, 2016 Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Outline 1 Introduction About Git Setup 2 Basic Usage Trees Branches
More informationPHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON. Alexander Lichter June 27, 2017
PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON Alexander Lichter June 27, 2017 Content of this lesson 1. Recap 2. Composer 3. JSON 4. Collections (next lesson) 1 Recap Recap Recap Recap
More informationgit commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b
Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit
More informationGit Basi, workflow e concetti avanzati (pt2)
Git Basi, workflow e concetti avanzati (pt2) Andrea Fornaia, Ph.D. Department of Mathema.cs and Computer Science University of Catania Viale A.Doria, 6-95125 Catania Italy fornaia@dmi.unict.it hfp://www.cs.unict.it/~fornaia/
More informationGit. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015
Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone
More informationAn introduction to git
An introduction to git Olivier Berger olivier.berger@telecom-sudparis.eu 2012-12-06 Adapted from "git concepts simplified" by Sitaram Chamarty, sitaramc@gmail.com http://sitaramc.github.com/gcs/ 1 / 52
More information2 Initialize a git repository on your machine, add a README file, commit and push
BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal
More informationHow to version control like a pro: a roadmap to your reproducible & collaborative research
How to version control like a pro: a roadmap to your reproducible & collaborative research The material in this tutorial is inspired by & adapted from the Software Carpentry lesson on version control &
More informationVersion Control for Fun and Profit
Version Control for Fun and Profit Chris Brady Heather Ratcliffe The Angry Penguin, used under creative commons licence from Swantje Hess and Jannis Pohlmann. Warwick RSE 30/11/2017 Version control 30/11/2017
More informationgit Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:
Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: git --help Get common commands and help git --help How to use git
More informationCPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management
CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control
More informationCESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic
CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic - basics Matthäus Zloch GESIS Outline for this session Git introduction and some theory Git command basics (plus some little advanced)
More informationIntro to Github. Jessica Young
Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub
More informationprojecto Documentation
projecto Documentation Release 0.0.1 Projecto Team September 08, 2014 Contents 1 Part I: Projecto Overview 3 1.1 Features.................................................. 3 1.2 Project Layout..............................................
More informationSoftware Development. Using GIT. Pr. Olivier Gruber. Laboratoire d'informatique de Grenoble Université de Grenoble-Alpes
Software Development 1 Using GIT Pr. Olivier Gruber olivier.gruber@imag.fr Laboratoire d'informatique de Grenoble Université de Grenoble-Alpes Overview 2 What is GIT Keeping histories of the evolution
More informationCS 520: VCS and Git. Intermediate Topics Ben Kushigian
CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards
More informationThe Old World. Have you ever had to collaborate on a project by
What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone
More informationIntroduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018
Introduction to Git Database Systems DataLab, CS, NTHU Spring, 2018 1 Outline Version control system Git basics Git branch Remote repository 2 Outline Version control system Git basics Git branch Remote
More informationBldr.io Documentation
Bldr.io Documentation Release 0.0.2 Aaron Scherer February 10, 2017 Contents 1 Content 5 1.1 Installation................................................ 5 1.2 Usage...................................................
More informationKTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -
KTH Royal Institute of Technology SEMINAR 2-29 March 2017 Simone Stefani - sstefani@kth.se WHAT IS THIS SEMINAR ABOUT Branching Merging and rebasing Git team workflows Pull requests and forks WHAT IS THIS
More informationA L A TEX-oriented intro to Git
A L A TEX-oriented intro to Git the tex part is in the interactive demo not in the slides Danielle Amethyst Brake 22 October - 26 November, 2018 ICERM Semester on Nonlinear Algebra Inter-week collaboration
More informationTools. SWE 432, Fall Design and Implementation of Software for the Web
Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much
More informationGetting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...
Table of Contents Getting the files for the first time...2 Making Changes, Commiting them and Pull Requests:...5 Update your repository from the upstream master...8 Making a new branch (for leads, do this
More informationWorking in Teams CS 520 Theory and Practice of Software Engineering Fall 2018
Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Version Control September 18, 2018 Thursday (September 20) First in-class exercise On using git (today is a prelude with useful
More informationGit. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015
Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git
More informationGit & Github Fundamental by Rajesh Kumar.
Git & Github Fundamental by Rajesh Kumar About me Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz www.scmgalaxy.com 2 What is git Manage your source code versions Who should use Git Anyone
More informationWithout further ado, let s go over and have a look at what I ve come up with.
JIRA Integration Transcript VLL Hi, my name is Jonathan Wilson and I m the service management practitioner with NHS Digital based in the United Kingdom. NHS Digital is the provider of services to the National
More informationGit Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP
Git Guide Meher Krishna Patel Created on : Octorber, 2017 Last updated : October, 2018 More documents are freely available at PythonDSP Table of contents Table of contents i 1 Commands Summary 1 2 Git
More informationPython Project Documentation
Python Project Documentation Release 1.0 Tim Diels Jan 10, 2018 Contents 1 Simple project structure 3 1.1 Code repository usage.......................................... 3 1.2 Versioning................................................
More informationFor Starters: Creating CU Bear, a Drupal 8 Starter Kit
For Starters: Creating CU Bear, a Drupal 8 Starter Kit Alison McCauley Anthony Adinolfi Nazrin Tingstrom CIT/Custom Development Team, Cornell University Background / Goals / Needs Why bother with any of
More informationGit, the magical version control
Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.
More informationCreated by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017
Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017 Detailed herein is a step by step process (and explanation) of how to prepare a project to be deployed to Amazon
More informationAssumptions. GIT Commands. OS Commands
Many of the world s largest dev teams have adopted Git and it s not hard to see why It can handle small and large projects easily It has a tiny footprint It outclasses other version control tools It s
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each
More informationVersioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git
Versioning with git Moritz August 13.03.2017 Git/Bash/Python-Course for MPE 1 Agenda What s git and why is it good? The general concept of git It s a graph! What is a commit? The different levels Remote
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Version Control with Git Paul Pauca March 27 SE Theory: Version Control Systems Link to video lectures (Soft Dev Proc part 1 of 3) Watch these short videos
More informationLinux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017
Linux System Management with Puppet, Gitlab, and R10k Scott Nolin, SSEC Technical Computing 22 June 2017 Introduction I am here to talk about how we do Linux configuration management at the Space Science
More informationGit! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter!
Git! Fundamentals IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter! IT Communications 1 What is Version Control? Version Control System (VCS)!
More informationGit AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.
Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I
More informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationEECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014
EECS 470 Lab 4 Version Control System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 31 st January, 2014 (University of Michigan) Lab 4:
More informationGit AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.
Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I
More informationTM DevOps Use Case. 2017TechMinfy All Rights Reserved
Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4
More informationUnifer Documentation. Release V1.0. Matthew S
Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................
More informationInstalling and Using Docker Toolbox for Mac OSX and Windows
Installing and Using Docker Toolbox for Mac OSX and Windows One of the most compelling reasons to run Docker on your local machine is the speed at which you can deploy and build lab environments. As a
More informationUSING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY
USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY AGENDA Version control overview Introduction and basics of Git Advanced Git features Collaboration Automation
More informationChapter 5. Version Control: Git
Chapter 5 Version Control: Git The Replication Crisis continues to heat up discussion across social science. Hence principled researchers want to make their work easy to replicate and reputable journals
More informationOutline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure Structure Branches 3 Using git Setting
More informationWhat is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;
What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the
More informationVersion control with Git.
1 Version control with Git http://git-scm.com/book/en/ Basic Intro to Git We will: Discuss how Git differs from Subversion Discuss the basic Git model Pull/clone files from a repository on github Edit
More informationTips on how to set up a GitHub account:
Tips on how to set up a GitHub account: 1. Go to the website https://github.com/, you will see the following page: Figure 1: The GitHub main webpage (before you create an account and sign in) Then choose
More informationVersion Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now
A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.
More informationHandel-CodePipeline Documentation
Handel-CodePipeline Documentation Release 0.0.6 David Woodruff Dec 11, 2017 Getting Started 1 Introduction 3 2 Installation 5 3 Tutorial 7 4 Using Handel-CodePipeline 11 5 Handel-CodePipeline File 13
More informationGit Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at
Git Workbook Self-Study Guide to Git Lorna Mitchell This book is for sale at http://leanpub.com/gitworkbook This version was published on 2018-01-15 This is a Leanpub book. Leanpub empowers authors and
More informationgit-flow Documentation
git-flow Documentation Release 1.0 Johan Cwiklinski Jul 14, 2017 Contents 1 Presentation 3 1.1 Conventions............................................... 4 1.2 Pre-requisites...............................................
More informationHow to be a git. Dominic Mitchell
How to be a git Dominic Mitchell Git! It s new! Everybody s talking about it! What is it? Distributed Version Control Why Git? Fast Local Toolkit Widely used Github Toolkit lets other people build tools
More informationHow to git with proper etiquette
How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use
More information[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France
[Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly
More informationSubmitting your Work using GIT
Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points
More informationGit. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) Nils Moschüring PhD Student (LMU), Git 1 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure
More informationDEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM GIT WITH MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY
DEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM WITH GIT MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY WHO DOESN T USE VERSION CONTROL? VERSION CONTROL WHO? OH BOY. WHY YOU NEED VERSION CONTROL GIT GIT WHY GIT
More informationScaffold Documentation
Scaffold Documentation Release 1.1 Alin Eugen Deac Oct 29, 2017 Contents 1 Contents 3 1.1 How to Install.............................................. 3 1.2 Install Scaffolds.............................................
More informationb. Developing multiple versions of a software project in parallel
Multiple-Choice Questions: 1. Which of these terms best describes Git? a. Integrated Development Environment b. Distributed Version Control System c. Issue Tracking System d. Web-Based Repository Hosting
More informationKivy Designer Documentation
Kivy Designer Documentation Release 0.9 Kivy October 02, 2016 Contents 1 Installation 3 1.1 Prerequisites............................................... 3 1.2 Installation................................................
More informationCon guration Management
Con guration Management Theory and practice Andrea Pescetti andrea@nuvole.org Fabian Bircher fabian@nuvole.org Antonio De Marco antonio@nuvole.org web: nuvole.org twitter: @nuvoleweb Our Distributed Team
More informationGit for Version Control
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from http://git-scm.com/book/en/ http://www.cs.washington.edu/403/ About
More informationGIT : BEST PRACTICES GUIDE BY ERIC PIDOUX DOWNLOAD EBOOK : GIT : BEST PRACTICES GUIDE BY ERIC PIDOUX PDF
Read Online and Download Ebook GIT : BEST PRACTICES GUIDE BY ERIC PIDOUX DOWNLOAD EBOOK : GIT : BEST PRACTICES GUIDE BY ERIC PIDOUX PDF Click link bellow and free register to download ebook: GIT : BEST
More informationSingularity CRI User Documentation
Singularity CRI User Documentation Release 1.0 Sylabs Apr 02, 2019 CONTENTS 1 Installation 1 1.1 Overview................................................. 1 1.2 Before you begin.............................................
More informationPHP Composer 9 Benefits of Using a Binary Repository Manager
PHP Composer 9 Benefits of Using a Binary Repository Manager White Paper Copyright 2017 JFrog Ltd. March 2017 www.jfrog.com Executive Summary PHP development has become one of the most popular platforms
More informationOverview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub
Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub
More informationGIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7
GIT VERSION CONTROL TUTORIAL William Wu w@qed.ai 2014 October 7 ABOUT ME Scientific Computing Specialist background: math, cs, ee interests: machine learning, DSP, imaging, data viz, cloud work: various
More informationGit for Subversion users
Git for Subversion users Zend webinar, 23-02-2012 Stefan who? Stefan who? Freelancer: Ingewikkeld Stefan who? Freelancer: Ingewikkeld Symfony Community Manager Stefan who? Freelancer: Ingewikkeld Symfony
More informationSample Spark Web-App. Overview. Prerequisites
Sample Spark Web-App Overview Follow along with these instructions using the sample Guessing Game project provided to you. This guide will walk you through setting up your workspace, compiling and running
More informationGit version control with Eclipse (EGit) Tutorial
Git version control with Eclipse (EGit) Tutorial 출처 : Lars Vogel http://www.vogella.com/tutorials/eclipsegit/article.html Lars Vogel Version 3.6 Copyright 2009, 2010, 2011, 2012, 2013, 2014 Lars Vogel
More informationLiquibase Version Control For Your Schema. Nathan Voxland April 3,
Liquibase Version Control For Your Schema Nathan Voxland April 3, 2014 nathan@liquibase.org @nvoxland Agenda 2 Why Liquibase Standard Usage Tips and Tricks Q&A Why Liquibase? 3 You would never develop
More informationLab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU
Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in
More informationManaging Dependencies and Runtime Security. ActiveState Deminar
ActiveState Deminar About ActiveState Track-record: 97% of Fortune 1000, 20+ years open source Polyglot: 5 languages - Python, Perl, Tcl, Go, Ruby Runtime Focus: concept to development to production Welcome
More informationFrom Commits to Collaboration: A Git Tutorial for Social Scientists
From Commits to Collaboration: A Git Tutorial for Social Scientists Paul Sangrey, University of Pennsylvania December 12, 2017 The Replication Crisis continues to heat up discussion across social science.
More informationTutorial 2 GitHub Tutorial
TCSS 360: Software Development Institute of Technology and Quality Assurance Techniques University of Washington Tacoma Winter 2017 http://faculty.washington.edu/wlloyd/courses/tcss360 Tutorial 2 GitHub
More informationAbout CVS. 1 Version Control - what is it? why is it useful?
About CVS CVS stands for Concurrent Version Control. It s free, open-source software used by multiple developers to share code, keep track of changes, and keep different versions of a project. it can be
More informationJenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC
Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported
More informationGIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson
GIT TUTORIAL Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson SCM SOFTWARE CONFIGURATION MANAGEMENT SOURCE CODE MANAGEMENT Generic term for the ability to manage multiple
More informationFebruary 2 nd Jean Parpaillon
Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2 Kerrighed
More informationKeep Track of Your Passwords Easily
Keep Track of Your Passwords Easily K 100 / 1 The Useful Free Program that Means You ll Never Forget a Password Again These days, everything you do seems to involve a username, a password or a reference
More information