A Brief Introduction to the Command Line and Git
|
|
|
- Rosemary Lambert
- 9 years ago
- Views:
Transcription
1 A Brief Introduction to the Command Line and Git Most of this material was taken from the Software Carpentry website and their excellent bootcamp. More detailed explanations of what I discuss in these notes can be found at: 1
2 1 What you need 1. Git and the bash shell: For windows users, go to preview exe. This will provide you with both Git and Bash in the Git Bash program. For Mac users the bash shell is already installed, so go to to download Git. 2. An account at GitHub: 3. The GitHub GUI: or 4. A text editor, although this shouldn t be a problem as the default text editor will do nicely (Nano on Mac and Notepad on Windows.) 2 The Shell and Terminal We can interact with a computer in many different ways. Most of us use windows, icons and mice. But these technologies didn t become widespread until the 1980s. Before this, computer users interacted using command-line interfaces as opposed to the graphical user interfaces (GUIs) that are so common today. While GUIs allow for easier and more intuitive navigation of an operating system and its most common tasks (word processing, , moving files etc.), command-line operations can be very powerful tools when we would like to perform more complex tasks. Let s first address the confusing jargon. You will often hear terms line command-line interface, kernel, console, command prompt, command shell, terminal, terminal emulator etc. being used interchangeably. There is a historical reason for each separate term but nowadays the distinction between each is blurred and many have become synonymous with each other. For now, let s stick with shell and terminal, which have a clear distinction. A shell is a computer program like any other. But its primary purpose is to read commands and run other programs, rather than to perform tasks/calculations itself. The most popular shell is Bash. Bash is the default shell on most modern implementations of the Unix operating system (such as Linux and Mac OS X), and in most packages that provide Unix-like tools for Windows. We interact with the shell through a command-line interface or terminal. We do so by entering commands as text input and then pressing enter. The terminal reads the text input, interprets the commands and sends instructions to the shell, which then executes the appropriate operating system functions. Once the commands are carried out, the shell communicates this with the terminal which then prints its output. We then type another command, and so on until the user logs off. This structure is often referred to as REPL (read-evaluate-print loop). Using a shell feels like programming and can be intimidating for beginners. Users are required to know the names of the commands and the syntax of the language that is interpreted. Commands are often only a couple of characters long, their names are frequently cryptic, and their output is lines of text rather than something visual like a graph. However, the shell allows us to combine existing tools in powerful ways with only a few keystrokes. In addition, the command line is often the easiest way to interact with remote machines. As clusters and cloud computing become more popular for scientific data crunching, being able to drive them is becoming a necessary skill.
3 3 Getting started with the Terminal The command prompt is a sequence of one or more characters in the terminal to indicate its readiness to accept commands. The command prompt can vary between machines, but usually ends with a $ or % character. Experienced users find it useful to customize the command prompt, but we ll stick with the default here. To begin, type whoami into the terminal. $ whoami hautahikingi $ The command s output is the ID of the current user. When we type whoami, the shell finds a program called whoami, runs that program, displays that program s output (your username), then displays a new prompt to tell us that it is ready for more commands. Now let s try the following. $ pwd / Users / hautahikingi This stands for print working directory. When you first login, your current working directory is your home directory. Your home directory has the same name as your username, and it is where your personal files and subdirectories are saved. To find out what is in your home directory, type $ ls Desktop Dropbox Pictures Documents essay. txt Downloads Movies ls prints the names of the files and directories in the current directory in alphabetical order, arranged neatly into columns. A number of commands have extra options or features which we can call through the use of a flag. A flag is usually a dash followed by a single letter, such as -v. For example, $: ls -l total 8 drwx hautahikingi staff 1802 Jul 21 22: 34 Desktop drwxr - xr - x + 21 hautahikingi staff 714 Jul 8 13: 25 Documents drwx hautahikingi staff Aug 5 11: 07 Downloads drwx @ 14 hautahikingi staff 476 Aug 5 09: 09 Dropbox drwx hautahikingi staff 340 Jul 23 18: 42 Movies drwx hautahikingi staff 782 Jul 22 23: 59 Pictures -rw -r--r-- 1 hautahikingi staff 30 Aug 4 22:44 essay. txt drwxr - xr - x 2 hautahikingi staff 68 Aug 4 22: 45 thisdirectoryhasa.. The -l flag on the ls command is short for long format and it displays a more detailed listing of the files within the current working directory, including file size and date last modified. Note that there is a space between ls and -l: without it, the shell thinks we re trying to run a command called ls-l, which doesn t exist.
4 Another example of a flag is $ ls -F Desktop / Dropbox / Pictures / Documents / essay. txt Downloads / Movies / which tells ls to add a trailing / to the names of directories. Here, we can see that /Users/hautahikingi contains six sub-directories. Plain old files like essay.txt do not have trailing slashes. There are a ton of online manuals that tell you which options a particular command can take, and how each option modifies the behavior of the command. 3.1 File and Directory Navigation The UNIX file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is called the root directory (which is the leading slash in /Users/hautahikingi). Figure 1: UNIX File Hierarchy In the diagram above, we see that the home directory of carol contains two sub-directories - physics and english. The full path to the file mypoem.doc is /Users/carol/english/myPoem.doc. We know that our current working directory /Users/hautahikingi is stored inside Users because Users is the first part of its name. Similarly, we know that Users is stored inside the root directory / because its name begins with /. Notice that there are two meanings for the / character. When it appears at the front of a file or directory name, it refers to the root directory. When it appears inside a name, it s just a separator. We can use cd followed by a directory name to change our working directory. cd stands for change directory, which changes the shell s idea of what directory we are in. In the example above, we can type $ cd / users / carol / physics cd doesn t print anything, but if we run pwd after it, we can confirm that the current working directory is physics. $ pwd / users / carol / physics If we run ls without parameters now, it lists the contents of /users/carol/physics
5 $ ls proj. txt foobar We do not have to type the full path to the directory. Instead, we can use relative path references. When cd is followed by a folder path that does not begin with the root directory (/), it assumes that you are first referencing the current working directory. In the above example, because we were located in /users/carol/ we only needed to type $ cd physics We also do not have to type the entire name of a directory. Tab Completion is very handy in situations where the filename is long. Pressing tab asks the terminal to guess what you are trying to type. For example, if we are located in /Users/carol/ and type $ cd ph and then press tab, the shell automatically completes the physics directory name for us. If, however, there was another directory called philosophy. The user would need to type cd phy before pressing tab. 3.2 Creating stuff Let s now make a subdirectory called my thesis which we will work in for this course. I m going to choose to put it in my Dropbox folder. $ cd Dropbox $ mkdir my_ thesis $ cd my_ thesis $ pwd / Users / hautahikingi / Dropbox / my_thesis Here, I navigated to the Dropbox folder, made the my thesis directory, and then navigated into the newly created directory. Let s now create a new file called draft.txt using a text editor. $ nano introduction. txt I am using nano here because it is the default text editor on a Mac and it is very easy to use. The equivalent on a Windows machine would be Notepad. It s a good idea to become familiar with a more powerful text editor such as Emacs, Vim, SublimeText and Notepad++. Let s type in a few lines of text.
6 In nano, use Control-X to quit the editor and return to the shell. Make sure you save in the process. We can check the changes we ve made to a particular file by using the cat command. The output of this can get pretty long if we make a lot of changes. $ cat introduction. txt We were wanderers from the beginning. You obviously don t need to create files using the command line. You can do it all the usual way as well. Imagine I just typed up some matlab code which I saved into the my thesis folder as code.m. Now lets look at: $: ls code. m introduction. txt We have barely scratched the surface when it comes to things we can do with the terminal command line. There are a ton of online tutorials and textbooks. But for now, we have what we need to move onto Git.
7 4 Version Control with Git Version control is better than mailing files back and forth because: Nothing that is committed to version control is ever lost. This means it can be used like the undo feature in an editor, and since all old versions of files are saved it s always possible to go back in time to see exactly who wrote what on a particular day, or what version of a program was used to generate a particular set of results. It keeps a record of who made what changes when, so that if people have questions later on, they know who to ask. It s hard (but not impossible) to accidentally overlook or overwrite someone s changes: the version control system automatically notifies users whenever there s a conflict between one person s work and another s. Git is one of many version control systems. It is more complex than some alternatives, but it is widely used, both because it s easy to set up and because of a hosting site called GitHub, which we will get to later. 4.1 Set Up After downloading Git, an easy way to check if it is installed and working properly is $ git help On our first time with Git on a new machine, we need to do a few things. Name, , clor, editor $ git config -- global user. name " " $ git config -- global user. " hrk55@ cornell. edu " $ git config -- global color. ui " auto " $ git config -- global core. editor " nano " Navigate to the my thesis folder that we created earlier $ cd my_ thesis and tell git to make it a repository. A repository is a storage area where a version control system stores old revisions of files and information about who changed what, when. $ git init Initialized empty Git repository in / Users / hautahikingi / my_ thesis /. git / Let s take a look at our new directory $ ls code. m introduction. txt It looks like nothing has changed. But ls does not, in fact, list all the files in the directory, but only those ones whose name does not begin with a dot (.) Files beginning with a dot (.) are known as hidden files and usually contain important program configuration information. They are hidden because you should not change them unless you are very familiar with UNIX. The init command created a hidden directory, and we can see it by using the -a flag $ ls -a code. m. git introduction. txt
8 Git stores information about the project in this special.git sub-directory. If deleted, we lose the project s entire history. An important command is git status. Initial commit Untracked files : ( use " git add < file >..." to include in what will be committed ) code.m introduction. txt nothing added to commit but untracked files present ( use " git add " to track ) While meaningless to a first time user, the output contains a lot of useful information. First of all, it states that we are located on the master branch (more on this later). The Initial commit message states that we are yet to make a commit. The Untracked files message means that there are files in the directory that Git is not keeping track of. We tell Git that it should do so using git add: $ git add code. m introduction. txt and now we check the status again Initial commit Changes to be committed : ( use " git rm -- cached <file >..." to unstage ) new file : code.m new file : introduction. txt This tells us that Git knows that it needs to keep track of the files code.m and introduction.txt. But it has not yet recorded the changes. To do this we need to commit. $ git commit - m " First draft introduction and code " [ master ( root - commit ) 1 ec0eef ] First draft introduction and code 2 files changed, 8 insertions (+) create mode code. m create mode introduction. txt Git takes everything we have told it to save by using git add and stores a copy permanently inside the special.git directory. This permanent copy has a short identifier 1ec0eef. We use the -m flag to record a comment that will help us remember later on what we did and why. If we just run git commit without the -m option, Git will launch the text editor that you chose at at the start (nano in our case) so that we can write a longer message. Now let s check the status again
9 nothing to commit, working directory clean This is the nice clean message that tells us everything is up to date and committed. It s a good idea to leave the repository in this state before moving onto other work or leaving the office for the weekend. 4.2 Tracking Changes to Files Now suppose that after a relaxing weekend, we want to launch back into work. I ve created a latex file called template.tex. $ ls code. m template. aux template. pdf template. tex draft. txt template. log template. synctex.gz We can see that my particular latex compiler created a number of auxiliary files. Checking the status of the repository gives Untracked files : ( use " git add < file >..." to include in what will be committed ) template. aux template. log template. pdf template. synctex.gz template. tex nothing added to commit but untracked files present ( use " git add " to track ) This tells us that there are new files that have been created which Git has not been instructed to keep a track of. I don t particularly care about the auxiliary latex files so putting them under version control would be a waste of disk space. What s worse, having them all listed could distract us from changes that actually matter, so let s tell Git to ignore them. We do this by creating a file in the root directory of our project called.gitignore. $ nano. gitignore
10 We ve told Git to ignore any file whose name ends in.aux,.log and.gz. Once we have created this file, the output of git status is much cleaner: Untracked files : ( use " git add < file >..." to include in what will be committed ). gitignore template. pdf template. tex nothing added to commit but untracked files present ( use " git add " to track ) The only thing Git notices now is the newly-created.gitignore file. You might think we wouldn t want to track it, but everyone we re sharing our repository with will probably want to ignore the same things that we re ignoring. Now let s make one more edit to our code.m file and check the status again. Changes not staged for commit : ( use " git add < file >..." to update what will be committed ) ( use " git checkout -- < file >..." to discard changes in working directory ) modified : code.m Untracked files : ( use " git add < file >..." to include in what will be committed ). gitignore template. pdf template. tex
11 no changes added to commit ( use " git add " and / or " git commit - a") As well as the issue with the latex file in the previous status check, git also tells us that the code.m file has been modified. Let s now add and commit these changes. $ git add code. m template. tex template. pdf. gitignore Changes to be committed : ( use " git reset HEAD <file >..." to unstage ) modified : code.m new file : template. tex $ git commit - m " New latex file and change to code. m" [ master 170 ae6f ] New latex file and change to code. m 4 files changed, 49 insertions (+) create mode gitignore create mode template. pdf create mode template. tex and checking the status... nothing to commit, working directory clean... we re back to a clean sheet. 4.3 The Git Cycle We should now be able to see the basic structure of how Git works. Once a directory is set up as a Git repository using git init, any change that we make to that directory is noted by Git. The workflow is then as follows: 1. Modify/create new folders and files. 2. Stage these changes ready to commit by using git add. 3. Commit the changes using git commit which permanently saves the current version of that repository.
12 5 GitHub: Taking Version Control Online Version control really comes into its own when we begin to collaborate with other people. In practice, groups like to use a central hub/cloud stored on the web rather than on someone s laptop so that all collaborators can easily access the repository. Git is so popular because of websites like Github and BitBucket which make collaboration so easy. Login to your profile page on GitHub. Click on the icon in the top right corner to create a new repository called my thesis. If you wish, you can enter a description but this is not necessary. You can also choose the privacy settings of your repository. Public repositories allow any Github user to access your files. A student account receives 5 free private repositories. Clicking the green button creates a repository on the Github website. As soon as the repository is created, GitHub displays a page with a URL and some information on how to configure your local repository.
13 Remember, our local repository still contains our earlier work, but the remote repository on GitHub doesn t contain any files yet. The next step is to connect the two repositories. We do this by making the GitHub repository a remote for the local repository. The home page of the repository on GitHub includes the string we need to identify it. Since we have already created a repository on our local computer, we are interested in the instructions in the second box. Making sure we are in the my thesis directory locally... $ git remote add origin https :// github. com / hautahikingi / my_ thesis. git This command tells git to add a remote named origin at the url thesis.git. origin is a nickname we ve assigned to the particular remote repository. We could have called it anything but origin is the most common choice. We can check that the command worked by typing $ git remote - v origin https :// github. com / hautahikingi / my_thesis. git ( fetch ) origin https :// github. com / hautahikingi / my_thesis. git ( push ) which lists all remote repositories. The -v flag is short for verbose which tells git to show the remote url as well as the nickname. Note that so far all we have done is set up a remote repository and linked it to our local repository. But if we take a look at our remote repository, it is still empty. We fix this by pushing the changes from our local repository to the repository on GitHub $ git push origin master It will sometimes ask for your username and password Username for https :// github. com : hautahikingi Password for https :// hautahikingi@ github. com : When you are typing in your password the cursor won t move. Don t panic just type it out and press enter. Counting objects : 10, done. Delta compression using up to 4 threads. Compressing objects : 100\% (8/8), done. Writing objects : 100\% ( 10/ 10), KiB 0 bytes / s, done. Total 10 ( delta 1), reused 0 ( delta 0)
14 To https :// github. com / hautahikingi / my_thesis. git * [ new branch ] master - > master Branch master set up to track remote branch master from origin. Our local and remote repositories are now synced. Let s now look at the website. We can see the files reflected in it. If we go to the graphs tab on the right of the GitHub page, we can take a look at the network. This gives a visual representation of the evolution of the repository. Each commit is represented by a node in the graph. There are two nodes here because we have performed two commits. Note that even though we have only pushed our local copy to the remote repository once, GitHub shows each commit that has occured. This is one of the main advantages of Git over other version control systems such as Subversion, which only records commits that are made directly to the remote repository. So for example, in subversion, there would only be one node in this tree. This is what people mean when they speak of centralized vs distributed version control. A more complicated network map looks like...
15 We can pull changes from the remote repository to the local one as well: $ git pull origin master From https :// github. com / hautahikingi / my_thesis * branch master - > FETCH_ HEAD Already up -to - date. Pulling has no effect in this case because the two repositories are already synchronized. If someone else had pushed some changes to the repository on GitHub, though, this command would download them to our local repository. Let s now do a tricky exercise. We can simulate working with a collaborator using another copy of the repository on our local machine. To do this, cd to another directory on your computer. Instead of creating a new repository here with git init, we will clone the existing repository from GitHub. $ cd / Users / hautahikingi / Dropbox / temporary $ git clone https :// github. com / hautahikingi / my_thesis. git Cloning into my_thesis... remote : Counting objects : 10, done. remote : Compressing objects : 100\% (7/7), done. remote : Total 10 ( delta 1), reused 10 ( delta 1) Unpacking objects : 100\% ( 10/ 10), done. Checking connectivity... done. Here, I navigated to a new folder called temporary. I then created a fresh local copy of a remote repository. (We did it in /temporary or some other directory so that we don t overwrite our existing my thesis directory.) Our computer now has two copies of the repository. One in /Users/hautahikingi/Dropbox/temporary and one in /Users/hautahikingi/Dropbox/. Let s make a change to the copy in /temporary/my thesis: $ nano introduction. txt $ cat introduction. txt We were wanderers from the beginning. We knew every stand of tree for a hundred miles. and now let s add and commit $ git add introduction. txt $ git commit - m " Added a second line to introduction. txt "
16 and checking the status.. Your branch is ahead of origin / master by 1 commit. ( use " git push " to publish your local commits ) nothing to commit, working directory clean This message tells us that we have committed all changes, but that we have not yet pushed these changes to the remote repository on Github. Again, this can only be done on distributed version control systems. Let s now push the change to Github $ git push origin master Counting objects : 5, done. Delta compression using up to 4 threads. Compressing objects : 100\% (3/3), done. Writing objects : 100\% (3/3), 345 bytes 0 bytes / s, done. Total 3 ( delta 1), reused 0 ( delta 0) To https :// github. com / hautahikingi / my_thesis. git 170 ae6f..3 cafe3a master - > master Checking the status... Your branch is up - to - date with origin / master. nothing to commit, working directory clean This tells us that we have committed all changes, and that this is also reflected in the remote repository. The network map also confirms this... We can now download changes into the original repository on our machine: $ cd / Users / hautahikingi / Dropbox / my_thesis $ git pull origin master so that both our local repositories are now in sync with the remote repository. In practice, we would probably never have two copies of the same remote repository on our laptop at once. Instead, one of those copies would be on our laptop, and the other on a lab machine, or on someone else s computer. Pushing and pulling changes gives us a reliable way to share work between different people and machines
17 5.1 The GitHub GUI There are now a number of fantastic GUIs which work well with Github. Let s take a quick look at the GUI created by Github itself. When we first launch the GUI we want to tell it to add our local repository from the menu. After then selecting the repository in the left-hand menu, the right hand pane shows a range of information about that repository contained in four separate panels. The changes panel shows the changes made within the repository which are yet to be committed. It effectively shows the same information as typing git status in the command line. As you can see, we have nothing untracked or changed since the last commit. The history panel allows us to select each commit, and investigate what changes were made since the last commit. For a far more comprehensive coverage of the topics covered in this mini-course, please refer to the Software carpentry website mentioned at the beginning of these notes.
Introduction to Git. Markus Kötter [email protected]. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter [email protected] Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
Using Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
MATLAB & Git Versioning: The Very Basics
1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:
Version 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
Git Basics. Christopher Simpkins [email protected]. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins [email protected] Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
Version Control with Subversion and Xcode
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
Command Line - Part 1
Command Line - Part 1 STAT 133 Gaston Sanchez Department of Statistics, UC Berkeley gastonsanchez.com github.com/gastonstat Course web: gastonsanchez.com/teaching/stat133 GUIs 2 Graphical User Interfaces
Version Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
FEEG6002 - Applied Programming 3 - Version Control and Git II
FEEG6002 - Applied Programming 3 - Version Control and Git II Sam Sinayoko 2015-10-16 1 / 26 Outline Learning outcomes Working with a single repository (review) Working with multiple versions of a repository
Introduction to the UNIX Operating System and Open Windows Desktop Environment
Introduction to the UNIX Operating System and Open Windows Desktop Environment Welcome to the Unix world! And welcome to the Unity300. As you may have already noticed, there are three Sun Microsystems
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories Mac OS by bertram lyons senior consultant avpreserve AVPreserve Media Archiving & Data Management Consultants
Git - Working with Remote Repositories
Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync
CEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
MATLAB @ Work. MATLAB Source Control Using Git
MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can
Running your first Linux Program
Running your first Linux Program This document describes how edit, compile, link, and run your first linux program using: - Gnome a nice graphical user interface desktop that runs on top of X- Windows
CS 2112 Lab: Version Control
29 September 1 October, 2014 Version Control What is Version Control? You re emailing your project back and forth with your partner. An hour before the deadline, you and your partner both find different
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System
A Crash Course in OS X D. Riley and M. Allen
Objectives A Crash Course in OS X D. Riley and M. Allen To learn some of the basics of the OS X operating system - including the use of the login panel, system menus, the file browser, the desktop, and
Introducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
Linux Overview. Local facilities. Linux commands. The vi (gvim) editor
Linux Overview Local facilities Linux commands The vi (gvim) editor MobiLan This system consists of a number of laptop computers (Windows) connected to a wireless Local Area Network. You need to be careful
CS 103 Lab Linux and Virtual Machines
1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation
Unity Version Control
Unity Version Control with BitBucket.org and SourceTree BLACKISH - last updated: April 2013 http://blog.blackish.at http://blackish-games.com! Table of Contents Setup! 3 Join an existing repository! 4
Help. F-Secure Online Backup
Help F-Secure Online Backup F-Secure Online Backup Help... 3 Introduction... 3 What is F-Secure Online Backup?... 3 How does the program work?... 3 Using the service for the first time... 3 Activating
Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE
Source Code Management for Continuous Integration and Deployment Version 1.0 Copyright 2013, 2014 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed,
Tutorial Guide to the IS Unix Service
Tutorial Guide to the IS Unix Service The aim of this guide is to help people to start using the facilities available on the Unix and Linux servers managed by Information Services. It refers in particular
University of Toronto
1 University of Toronto APS 105 Computer Fundamentals A Tutorial about UNIX Basics Fall 2011 I. INTRODUCTION This document serves as your introduction to the computers we will be using in this course.
Getting Started Guide
Getting Started Guide Mulberry Internet Email/Calendar Client Version 4.0 Cyrus Daboo Pittsburgh PA USA mailto:[email protected] http://www.mulberrymail.com/ Information in this document is subject
PORTAL ADMINISTRATION
1 Portal Administration User s Guide PORTAL ADMINISTRATION GUIDE Page 1 2 Portal Administration User s Guide Table of Contents Introduction...5 Core Portal Framework Concepts...5 Key Items...5 Layouts...5
Lab Exercise Part II: Git: A distributed version control system
Lunds tekniska högskola Datavetenskap, Nov 25, 2013 EDA260 Programvaruutveckling i grupp projekt Labb 2 (part II: Git): Labbhandledning Checked on Git versions: 1.8.1.2 Lab Exercise Part II: Git: A distributed
Unix the Bare Minimum
Unix the Bare Minimum Norman Matloff September 27, 2005 c 2001-2005, N.S. Matloff Contents 1 Purpose 2 2 Shells 2 3 Files and Directories 4 3.1 Creating Directories.......................................
owncloud Configuration and Usage Guide
owncloud Configuration and Usage Guide This guide will assist you with configuring and using YSUʼs Cloud Data storage solution (owncloud). The setup instructions will include how to navigate the web interface,
Getting Started Guide
Getting Started Guide Mulberry IMAP Internet Mail Client Versions 3.0 & 3.1 Cyrusoft International, Inc. Suite 780 The Design Center 5001 Baum Blvd. Pittsburgh PA 15213 USA Tel: +1 412 605 0499 Fax: +1
Lab 1 Beginning C Program
Lab 1 Beginning C Program Overview This lab covers the basics of compiling a basic C application program from a command line. Basic functions including printf() and scanf() are used. Simple command line
Unix Guide. Logo Reproduction. School of Computing & Information Systems. Colours red and black on white backgroun
Logo Reproduction Colours red and black on white backgroun School of Computing & Information Systems Unix Guide Mono positive black on white background 2013 Mono negative white only out of any colou 2
RingCentral for Desktop. UK User Guide
RingCentral for Desktop UK User Guide RingCentral for Desktop Table of Contents Table of Contents 3 Welcome 4 Download and install the app 5 Log in to RingCentral for Desktop 6 Getting Familiar with RingCentral
ASUS WebStorage Client-based for Windows [Advanced] User Manual
ASUS WebStorage Client-based for Windows [Advanced] User Manual 1 Welcome to ASUS WebStorage, your personal cloud space Our function panel will help you better understand ASUS WebStorage services. The
Version control with GIT
AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips
So you want to create an Email a Friend action
So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;
The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC
Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate
CSIL MiniCourses. Introduction To Unix (I) John Lekberg Sean Hogan Cannon Matthews Graham Smith. Updated on: 2015-10-14
CSIL MiniCourses Introduction To Unix (I) John Lekberg Sean Hogan Cannon Matthews Graham Smith Updated on: 2015-10-14 What s a Unix? 2 Now what? 2 Your Home Directory and Other Things 2 Making a New Directory
BlueJ Teamwork Tutorial
BlueJ Teamwork Tutorial Version 2.0 for BlueJ Version 2.5.0 (and 2.2.x) Bruce Quig, Davin McCall School of Engineering & IT, Deakin University Contents 1 OVERVIEW... 3 2 SETTING UP A REPOSITORY... 3 3
Introduction to Operating Systems
Introduction to Operating Systems It is important that you familiarize yourself with Windows and Linux in preparation for this course. The exercises in this book assume a basic knowledge of both of these
CLC Server Command Line Tools USER MANUAL
CLC Server Command Line Tools USER MANUAL Manual for CLC Server Command Line Tools 2.5 Windows, Mac OS X and Linux September 4, 2015 This software is for research purposes only. QIAGEN Aarhus A/S Silkeborgvej
Lab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
The Einstein Depot server
The Einstein Depot server Have you ever needed a way to transfer large files to colleagues? Or allow a colleague to send large files to you? Do you need to transfer files that are too big to be sent as
Librarian. Integrating Secure Workflow and Revision Control into Your Production Environment WHITE PAPER
Librarian Integrating Secure Workflow and Revision Control into Your Production Environment WHITE PAPER Contents Overview 3 File Storage and Management 4 The Library 4 Folders, Files and File History 4
Content Author's Reference and Cookbook
Sitecore CMS 6.5 Content Author's Reference and Cookbook Rev. 110621 Sitecore CMS 6.5 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
Version Control Using Subversion. Version Control Using Subversion 1 / 27
Version Control Using Subversion Version Control Using Subversion 1 / 27 What Is Version Control? Version control is also known as revision control. Version control is provided by a version control system
Using GitHub for Rally Apps (Mac Version)
Using GitHub for Rally Apps (Mac Version) SOURCE DOCUMENT (must have a rallydev.com email address to access and edit) Introduction Rally has a working relationship with GitHub to enable customer collaboration
How to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
Hadoop Basics with InfoSphere BigInsights
An IBM Proof of Technology Hadoop Basics with InfoSphere BigInsights Part: 1 Exploring Hadoop Distributed File System An IBM Proof of Technology Catalog Number Copyright IBM Corporation, 2013 US Government
Derived from Chris Cannam's original at, https://code.soundsoftware.ac.uk/projects/easyhg/wiki/sc2012bootcamppl an.
Version Control Key Points ========================== Mike Jackson, The Software Sustainability Institute. This work is licensed under the Creative Commons Attribution License. Copyright (c) Software Carpentry
How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS. Lynne W Fielding, GISP Town of Westwood
How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS Lynne W Fielding, GISP Town of Westwood PDF maps are a very handy way to share your information with the public as well
Command-Line Operations : The Shell. Don't fear the command line...
Command-Line Operations : The Shell Don't fear the command line... Shell Graphical User Interface (GUI) Graphical User Interface : displays to interact with the computer - Open and manipulate files and
Editing Files on Remote File Systems
Terminal Intro (Vol 2) Paul E. Johnson 1 2 1 Department of Political Science 2 Center for Research Methods and Data Analysis, University of Kansas 2015 Outline 1 Editing Without a Mouse! Emacs nano vi
Frequently Asked Questions
Frequently Asked Questions Share Drive Frequently Asked Questions Table of Contents How do I change my password?... How do I reset my password if I forgot it?... How do I share files/folders with Groups
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories Windows by bertram lyons senior consultant avpreserve AVPreserve Media Archiving & Data Management Consultants
NASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
900612 ESP -- SURF Center : ESP GUI Users Guide
900612 ESP -- SURF Center : ESP GUI Users Guide This page last changed on Oct 31, 2011 by kgomes. This is a quick sequence of steps to get the user up and running with the ESP GUI application. When you
Version Control Script
Version Control Script Mike Jackson, The Software Sustainability Institute Things you should do are written in bold. Suggested dialog is in normal text. Command- line excerpts and code fragments are in
Using Microsoft Azure for Students
Using Microsoft Azure for Students Dive into Azure through Microsoft Imagine s free new offer and learn how to develop and deploy to the cloud, at no cost! To take advantage of Microsoft s cloud development
Recommended File System Ownership and Privileges
FOR MAGENTO COMMUNITY EDITION Whenever a patch is released to fix an issue in the code, a notice is sent directly to your Admin Inbox. If the update is security related, the incoming message is colorcoded
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Cloud Server powered by Mac OS X. Getting Started Guide. Cloud Server. powered by Mac OS X. AKJZNAzsqknsxxkjnsjx Getting Started Guide Page 1
Getting Started Guide Cloud Server powered by Mac OS X Getting Started Guide Page 1 Getting Started Guide: Cloud Server powered by Mac OS X Version 1.0 (02.16.10) Copyright 2010 GoDaddy.com Software, Inc.
Getting Started with WebSite Tonight
Getting Started with WebSite Tonight WebSite Tonight Getting Started Guide Version 3.0 (12.2010) Copyright 2010. All rights reserved. Distribution of this work or derivative of this work is prohibited
Introduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Lab 1: Introduction to C, ASCII ART and the Linux Command Line Environment
.i.-' `-. i..' `/ \' _`.,-../ o o \.' ` ( / \ ) \\\ (_.'.'"`.`._) /// \\`._(..: :..)_.'// \`. \.:-:. /.'/ `-i-->..
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your
CPE111 COMPUTER EXPLORATION
CPE111 COMPUTER EXPLORATION BUILDING A WEB SERVER ASSIGNMENT You will create your own web application on your local web server in your newly installed Ubuntu Desktop on Oracle VM VirtualBox. This is a
Introduction to Source Control ---
Introduction to Source Control --- Overview Whether your software project is large or small, it is highly recommended that you use source control as early as possible in the lifecycle of your project.
Setting up a local working copy with SVN, MAMP and rsync. Agentic - 2009
Setting up a local working copy with SVN, MAMP and rsync Agentic - 2009 Get MAMP You can download MAMP for MAC at this address : http://www.mamp.info/en/downloads/index.html Install MAMP in your APPLICATION
How To Build An Intranet In Sensesnet.Com
Sense/Net 6 Evaluation Guide How to build a simple list-based Intranet? Contents 1 Basic principles... 4 1.1 Workspaces... 4 1.2 Lists... 4 1.3 Check-out/Check-in... 5 1.4 Version control... 5 1.5 Simple
PuTTY/Cygwin Tutorial. By Ben Meister Written for CS 23, Winter 2007
PuTTY/Cygwin Tutorial By Ben Meister Written for CS 23, Winter 2007 This tutorial will show you how to set up and use PuTTY to connect to CS Department computers using SSH, and how to install and use the
Getting Started with Command Prompts
Getting Started with Command Prompts Updated March, 2013 Some courses such as TeenCoder : Java Programming will ask the student to perform tasks from a command prompt (Windows) or Terminal window (Mac
CMS Training Manual. A brief overview of your website s content management system (CMS) with screenshots. CMS Manual
Training A brief overview of your website s content management system () with screenshots. 1 Contents Logging In:...3 Dashboard:...4 Page List / Search Filter:...5 Common Icons:...6 Adding a New Page:...7
1 Basic commands. 2 Terminology. CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger
CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger 1 Basic commands This section describes a list of commonly used commands that are available on the EECS UNIX systems. Most commands are executed by
An Introduction To The Web File Manager
An Introduction To The Web File Manager When clients need to use a Web browser to access your FTP site, use the Web File Manager to provide a more reliable, consistent, and inviting interface. Popular
1 Download & Installation... 4. 1 Usernames and... Passwords
Contents I Table of Contents Part I Document Overview 2 Part II Document Details 3 Part III EventSentry Setup 4 1 Download & Installation... 4 Part IV Configuration 4 1 Usernames and... Passwords 5 2 Network...
Git, GitHub & Web Hosting Workshop
Git, GitHub & Web Hosting Workshop WTM Hamburg Git, GitHub & Web Hosting Documentation During our Workshops we re going to develop parts of our WTM Hamburg Website together. At this point, we ll continue
TortoiseGIT / GIT Tutorial: Hosting a dedicated server with auto commit periodically on Windows 7 and Windows 8
TortoiseGIT / GIT Tutorial: Hosting a dedicated server with auto commit periodically on Windows 7 and Windows 8 Abstract This is a tutorial on how to host a dedicated gaming server on Windows 7 and Windows
Setting Up Dreamweaver for FTP and Site Management
518 442-3608 Setting Up Dreamweaver for FTP and Site Management This document explains how to set up Dreamweaver CS5.5 so that you can transfer your files to a hosting server. The information is applicable
ithenticate User Manual
ithenticate User Manual Updated November 20, 2009 Contents Introduction 4 New Users 4 Logging In 4 Resetting Your Password 5 Changing Your Password or Username 6 The ithenticate Account Homepage 7 Main
Version Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
Using SVN to Manage Source RTL
Using SVN to Manage Source RTL CS250 Tutorial 1 (Version 083010a) August 30, 2010 Yunsup Lee In this tutorial you will gain experience using the Subversion (SVN) to manage your source RTL and code. You
Two Best Practices for Scientific Computing
Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,
Tutorial: Assigning Prelogin Criteria to Policies
CHAPTER 4 This tutorial provides an overview of the CSD configuration sequence. The configuration chapters that follow provide detailed instructions on the attributes. The sections are as follows: Overview
TOAD and SubVersion - A Quick How To. Norman Dunbar of Dunbar IT Consultants Ltd.
TOAD and Subversion Introduction This file gives details of how to get your scripts, packages and so on under version control using SubVersion. Specifically I use TortoiseSVN as my GUI of choice - it integrates
Adobe Dreamweaver CC 14 Tutorial
Adobe Dreamweaver CC 14 Tutorial GETTING STARTED This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site
Site Maintenance Using Dreamweaver
Site Maintenance Using Dreamweaver As you know, it is possible to transfer the files that make up your web site from your local computer to the remote server using FTP (file transfer protocol) or some
Editing Locally and Using SFTP: the FileZilla-Sublime-Terminal Flow
Editing Locally and Using SFTP: the FileZilla-Sublime-Terminal Flow Matthew Salim, 20 May 2016 This guide focuses on effective and efficient offline editing on Sublime Text. The key is to use SFTP for
Setting up Radmind For an OSX Public Lab
Setting up Radmind For an OSX Public Lab Radmind consists of a set of about ten Unix Commands installed on both the client and server machines. A GUI application, called Radmind Assistant, provides a simplified
D2L: An introduction to CONTENT University of Wisconsin-Parkside
D2L: An introduction to CONTENT University of Wisconsin-Parkside FOR FACULTY: What is CONTENT? The Content and Course Builder tools both allow you to organize materials in D2L. Content lets you and your
ithenticate User Manual
ithenticate User Manual Version: 2.0.2 Updated March 16, 2012 Contents Introduction 4 New Users 4 Logging In 4 Resetting Your Password 5 Changing Your Password or Username 6 The ithenticate Account Homepage
