CS255 - Programming Lab

Σχετικά έγγραφα
Σεμινάριο Git & GitLab. Γιώργος Τσιάτσιος Δημήτρης Κάσσος

Σεμινάριο Git & GitLab. Τάκης Παναγόπουλος Νικόλας Μπομπέτσης

Σεμινάριο Git & GitHub. Θέμης Παπαμελετίου Διονύσης Ζήνδρος

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

derivation of the Laplacian from rectangular to spherical coordinates

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

Συστήματα Διαχείρισης Βάσεων Δεδομένων

The Simply Typed Lambda Calculus

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Right Rear Door. Let's now finish the door hinge saga with the right rear door

2 Composition. Invertible Mappings

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών Χειμερινό Εξάμηνο

Block Ciphers Modes. Ramki Thurimella

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

ΑΓΓΛΙΚΑ IV. Ενότητα 6: Analysis of Greece: Your Strategic Partner in Southeast Europe. Ιφιγένεια Μαχίλη Τμήμα Οικονομικών Επιστημών

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

The challenges of non-stable predicates

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 10η: Basics of Game Theory part 2 Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Démographie spatiale/spatial Demography

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Instruction Execution Times

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ ΣΕ ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΕΘΝΩΝ ΣΧΕΣΕΩΝ & ΟΙΚΟΝΟΜΙΑΣ

Εργαστήριο 2. Εισαγωγή στο Git Versioning System

Προσωπική Aνάπτυξη. Ενότητα 2: Διαπραγμάτευση. Juan Carlos Martínez Director of Projects Development Department

SOAP API. Table of Contents

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Advanced Subsidiary Unit 1: Understanding and Written Response

Σεμινάριο Git & GitHub Ημέρα 2

C.S. 430 Assignment 6, Sample Solutions

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

Προσωπική Aνάπτυξη. Ενότητα 4: Συνεργασία. Juan Carlos Martínez Director of Projects Development Department

Business English. Ενότητα # 9: Financial Planning. Ευαγγελία Κουτσογιάννη Τμήμα Διοίκησης Επιχειρήσεων

Finite Field Problems: Solutions

Fractional Colorings and Zykov Products of graphs

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

the total number of electrons passing through the lamp.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

Αρχιτεκτονική Υπολογιστών

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Section 8.3 Trigonometric Equations

The Nottingham eprints service makes this work by researchers of the University of Nottingham available open access under the following conditions.

Strain gauge and rosettes

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

EE512: Error Control Coding

ΑΓΓΛΙΚΑ Ι. Ενότητα 7α: Impact of the Internet on Economic Education. Ζωή Κανταρίδου Τμήμα Εφαρμοσμένης Πληροφορικής

[1] P Q. Fig. 3.1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

Εργαλεία Ανάπτυξης Κώδικα ΕΛ/ΛΑΚ. Απόστολος Βόγκλης Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 25/06/2014

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

Μηχανική Μάθηση Hypothesis Testing

τατιςτική ςτην Εκπαίδευςη II

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Math 6 SL Probability Distributions Practice Test Mark Scheme

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών. Εθνικό Μετσόβιο Πολυτεχνείο. Thales Workshop, 1-3 July 2015.

Version Control Systems Mercurial SCM. Μανώλης Κιαγιάς

Η ΨΥΧΙΑΤΡΙΚΗ - ΨΥΧΟΛΟΓΙΚΗ ΠΡΑΓΜΑΤΟΓΝΩΜΟΣΥΝΗ ΣΤΗΝ ΠΟΙΝΙΚΗ ΔΙΚΗ

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

Συντακτικές λειτουργίες

ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ ΣΕ ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΕΘΝΩΝ ΣΧΕΣΕΩΝ & ΟΙΚΟΝΟΜΙΑΣ

CYTA Cloud Server Set Up Instructions

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Ξενόγλωσση Τεχνική Ορολογία

Επιβλέπουσα Καθηγήτρια: ΣΟΦΙΑ ΑΡΑΒΟΥ ΠΑΠΑΔΑΤΟΥ

European Constitutional Law

Example Sheet 3 Solutions

Congruence Classes of Invertible Matrices of Order 3 over F 2

Τμήμα Πολιτικών και Δομικών Έργων

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3)

Partial Trace and Partial Transpose

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Homework 3 Solutions

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

4.6 Autoregressive Moving Average Model ARMA(1,1)

Assalamu `alaikum wr. wb.

LESSON 14 (ΜΑΘΗΜΑ ΔΕΚΑΤΕΣΣΕΡΑ) REF : 202/057/34-ADV. 18 February 2014

(C) 2010 Pearson Education, Inc. All rights reserved.

Calculating the propagation delay of coaxial cable

European Human Rights Law

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ST5224: Advanced Statistical Theory II

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ CS255 - Programming Lab Ενότητα: Tutorials Άγγελος Μπίλας Τμήμα Επιστήμης Υπολογιστών

Tutorial 5 Git Git is a distributed version control system. Version control systems allow developers to track the development of their process and be able to revert changes or go back in time. Terminology Repositories With git there is no need for a single central repository. Local Users can create local repositories with git init. Additionally using git clone users may create local clones (copies) of remote repositories. Remote Remote repositories are special clones that are hosted in a remote server or even in a different directory on the filesystem. The idea is to have multiple local clones where users keep track of their own work and when it gets to a functional stage they pushit to the remote repository so that other users can view/get it. Note however that there is no restriction on the number of remote repositories one can use. One might want to use various remote repositories for redundancy. Workspace Workspace is where a user acts, it is essentially the local directory where a repository was cloned. Index Index, as it names denotes, is the mechanism that keeps track of the (local) changes. When a user changes something in his workspace he needs to commit it to update the index. 2

Stage area Something between the workspace and the index. It is more like a temporary state that reflects what the user is planning to put in the index. Unstaged changes Changes (i.e. modifications, additions, deletions of files) in the workspace that have not been added for commission to the index. Staged files Files that are modified or new in the workspace and have been added for commission to the index. Stash Stash is a special place where users may temporarily push changes that they don't want to add to the index. They may later pop those changes. It is essentially a buffer holding various changes that for some reason the user does not want to index. Commands Creating a repository git clone path_or_link/to/git/repository Clones a remote repository. e.g. git clone https://github.com/zakkak/rendezvous.git git init Creates a new empty (local) repository in the current directory. Handling local state (the workspace) git status Shows the status of the workspace. It lists any unstaged and staged changes. git diff Shows the changes to the tracked files. Tracked files are these files that have been staged at least once in the lifetime of the repository. git add file Adds file to the stage area. 3

git add. Stages all current changes. git add -p file Starts staging changes in interactive mode and asks the user which changes to stage. git rm file Removes file from the workspace and stages its removal. git commit Commits any staged changes to the index. git commit -a Commits all changes to the index. It is essentially a shortcut for git add. && git commit. git commit -m "My message" Commits any staged changes to the index and adds the commit message "My message". git commit --amend It allows users to modify the commit message or add some extra changes to the last commit. Note that it is not safe to amend commits that have been already pushed to a remote repository. History git log Presents the commit logs. git log -p <file> Presents the changes to file by each commit in the history. git log --graph Presents commit logs with more than one branches in a visually appealing manner. git blame <file> Shows which user changed last each line of the file. Branching Branches are a very good way to have different versions of the same project in a repository. For example if you want to try a new feature you can create an new branch and implement that feature in it. If you are happy with your new feature you can then merge that branch to the master branch. git branch -a 4

Lists available branches git checkout <branch> Changes the the working branch in the workspace. git branch <new branch> Creates a new branch from the current index. git checkout <old branch> -b <new branch> Creates a new branch from an old one. git branch -d <branch> Deletes a local branch. Remote management git remote Lists all available remotes git remote show <name> Lists details about the remote name. git remote add <name> <url> Adds a new remote named name with url url. git remote remove <name> Removes remote name. git push Pushes (i.e. uploads) any updates of the index to the default remote repository git push <remote> <branch> Pushes (i.e. uploads) any updates of the index to the branch of remote. git fetch Fetches (i.e. downloads) any updates of the index from the default remote repository. git fetch <remote> <branch> Fetches (i.e. downloads) any updates of the index from branch of remote. git pull Pulls (i.e. downloads and merges) any updates of the index from a remote repository. git pull <remote> <branch> 5

Pulls (i.e. downloads and merges) any updates of the index from branch of remote. git branch -dr <remote/branch> Deletes a branch from remote. Tags git tag <name> Creates tag name. git tag <name> -m "My message" Creates tag name and attached message "My message" to it. git tag Lists all available tags. git tag -n Lists all available tags along with the attached messages. git push --tags Push tags to the default remote repository. git merge git merge <branch> Merges branch to the current index. git merge --abort Aborts merge. git add <resolved> Stages resolved and changes its state from conflicting. git rm <resolved> Stages resolved for removal and changes its state from conflicting. git mergetool Use a merge tool to resolve conflicts. Undo/Revert git checkout <file> 6

Drops any changes of file and restores it to the last staged state. git checkout HEAD <file> Drops any changes of file and restores it to the HEAD state in the index. git revert <commit> Reverts/undos the changes performed by commit. Creates a new commit that reflects this revert. git reset HEAD Unstages any changes but preserves them in the workspace. git reset <commit> Moves the index HEAD to commit preserving any changes since that commit in the workspace as unstaged. git reset --hard HEAD Drops all changes and restores the workspace to the HEAD state in the index. git reset --hard <commit> Drops all changes and restores the workspace to commit and moves the index HEAD to it. Should not be used to move HEAD before pushed commits, in that case you should use git revert. Online interactive tutorial There is also available an interactive tutorial here Authored by: Foivos S. Zakkak 7

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons και ειδικότερα Αναφορά Μη εμπορική Χρήση Όχι Παράγωγο Έργο 3.0 Ελλάδα (Attribution Non Commercial Non-derivatives 3.0 Greece) Εξαιρείται από την ως άνω άδεια υλικό που περιλαμβάνεται στις διαφάνειες του μαθήματος, και υπόκειται σε άλλου τύπου άδεια χρήσης. Η άδεια χρήσης στην οποία υπόκειται το υλικό αυτό αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 8