ED
Miniprogramació del Curs 2018-19
Google Classroom per entregar tasques (codi curs: twyf7g )
Recursos:
Tot lo que vos fa falta ho teniu a aquest Blog. També podeu consultar:
Material del mòdul al IOC (Institut Obert de Catalunya)
-----------------------------------------------------------------------
UNITATS DIDÀCTIQUES:
Visita la Web de SL
exercicis SL
pràctica SL
Nota: canvia al registre "empleat" el camp "esborrat" a tipus logico.
ENTREGA DE LA PRÀCTICA al Moodle
Exemples programes fets:
- Exemple amb colors
- Factorial
- Exemple fitxers
- Tenis
- Manolo's attack
Exemple exercici a fer amb SL:
Donat el següent codi, completar les subrutines :
a) llistaNotes()
b) mostraNotesMitjes()
c) cercaPerDNI()
solució
2.- UML
L'UML o Llenguatge Unificat de Modelat (Unified Modeling Language, Llenguatge de Modelat Unificat) és un llenguatge de modelat de sistemes de software, és el més conegut i utilitzat en l'actualitat, està suportat per l'OMG (Object Management Grup). És un llenguatge gràfic per visualitzar, especificar, construir i documentar un sistema. L'UML ofereix un estàndard per descriure un sistema (model), incloent aspectes conceptuals tals com els processos de negoci i funcions del sistema, i aspectes concrets com expressions de llenguatges de programació, esquemes de bases de dades i components reutilitzables.
Descripció d'un departament d'informàtica
Errors al especificar un programari:
Exemple d' especificació d'aaplicació del Camí de Cavalls per alumnes (només a classe amb professor)
material UML (pàgina del Blog amb tot el material)
Pràctica 2n Trimestre: especificar en UML el programari per una Biblioteca
especificació antiga del software per controlar una Biblioteca
descripció pràctica
descripció Anglès (opcionalment es pot fer en Anglès, +1 punt)
Entrega a Google Classroom
3.- IDEs: Entorns de Desenvolupament Integrats
Son eines informàtiques per al desenvolupament de programari de manera còmoda i ràpida. Així doncs és un entorn de desenvolupament que agrupa diferents funcions en un sol programa, habitualment: editor de codi, compilador, depurador i un programa de disseny d'interfície gràfica.
El principal avantatge és que facilita la tasca del programador mentre que l'inconvenient més important és que pot provocar mals hàbits a l'hora de programar o provocar errors que a priori començant de zero no es produirien.
Eclipse
Informació Eclipse
Tutorial Eclipse
Més material complementari d'Eclipse al Moodle
Hello world in Java with Eclipse:
Altres Entorns de Desenvolupament integrats:
NetBeans
IntelliJ
Activitat IDEs:
sol.lució (profe)
Execici Persones: descripció
codi persones
Resum funcionalitats d'Eclipse (feina en grup-classe)
Editar entre tots el document anterior i possar tot lo que vos sembli útil.
Ho anireu completant durant el curs. Emprar com a punt de partida lo que explica al document "Tutorial Eclipse". Les dues primeres estan fetes com exemple.
4.- Enginyeria del Software i proves :
4.1.- Document sobre Qualitat del Software
4.2.- Contesta les següents preguntes sobre Qualitat del Software
Standard de Qualitat ISO 9001 per desenvolupament de Software: ISO 9000-3
Teacher's solution
4.3 1.- Veure el document sobre Software Engineering
Google Classroom per entregar tasques (codi curs: twyf7g )
PISSARRA COMPARTIDA
Tot lo que vos fa falta ho teniu a aquest Blog. També podeu consultar:
Material del mòdul al IOC (Institut Obert de Catalunya)
-----------------------------------------------------------------------
UNITATS DIDÀCTIQUES:
1.- SL:
es un llenguatge de programació molt pedagògic, amb entorn de
desenvolupament i manual en Castellà que permet editar i executar
algorismes. Està basat en el llenguatge C i va ser desenvolupat a
una universitat.
Emprarem el material i entorn de SL per fer una introducció a la programació estructurada.
Visita la Web de SL
exercicis SL
pràctica SL
Nota: canvia al registre "empleat" el camp "esborrat" a tipus logico.
ENTREGA DE LA PRÀCTICA al Moodle
Exemples programes fets:
- Exemple amb colors
- Factorial
- Exemple fitxers
- Tenis
- Manolo's attack
Exemple exercici a fer amb SL:
Donat el següent codi, completar les subrutines :
a) llistaNotes()
b) mostraNotesMitjes()
c) cercaPerDNI()
solució
2.- UML
L'UML o Llenguatge Unificat de Modelat (Unified Modeling Language, Llenguatge de Modelat Unificat) és un llenguatge de modelat de sistemes de software, és el més conegut i utilitzat en l'actualitat, està suportat per l'OMG (Object Management Grup). És un llenguatge gràfic per visualitzar, especificar, construir i documentar un sistema. L'UML ofereix un estàndard per descriure un sistema (model), incloent aspectes conceptuals tals com els processos de negoci i funcions del sistema, i aspectes concrets com expressions de llenguatges de programació, esquemes de bases de dades i components reutilitzables.
Descripció d'un departament d'informàtica
Errors al especificar un programari:
Exemple d' especificació d'aaplicació del Camí de Cavalls per alumnes (només a classe amb professor)
material UML (pàgina del Blog amb tot el material)
Pràctica 2n Trimestre: especificar en UML el programari per una Biblioteca
especificació antiga del software per controlar una Biblioteca
descripció pràctica
descripció Anglès (opcionalment es pot fer en Anglès, +1 punt)
Entrega a Google Classroom
3.- IDEs: Entorns de Desenvolupament Integrats
Son eines informàtiques per al desenvolupament de programari de manera còmoda i ràpida. Així doncs és un entorn de desenvolupament que agrupa diferents funcions en un sol programa, habitualment: editor de codi, compilador, depurador i un programa de disseny d'interfície gràfica.
El principal avantatge és que facilita la tasca del programador mentre que l'inconvenient més important és que pot provocar mals hàbits a l'hora de programar o provocar errors que a priori començant de zero no es produirien.
Eclipse
Informació Eclipse
Tutorial Eclipse
Més material complementari d'Eclipse al Moodle
Hello world in Java with Eclipse:
Altres Entorns de Desenvolupament integrats:
NetBeans
IntelliJ
Activitat IDEs:
sol.lució (profe)
Execici Persones: descripció
codi persones
Resum funcionalitats d'Eclipse (feina en grup-classe)
Editar entre tots el document anterior i possar tot lo que vos sembli útil.
Ho anireu completant durant el curs. Emprar com a punt de partida lo que explica al document "Tutorial Eclipse". Les dues primeres estan fetes com exemple.
4.- Enginyeria del Software i proves :
4.1.- Document sobre Qualitat del Software
4.2.- Contesta les següents preguntes sobre Qualitat del Software
Standard de Qualitat ISO 9001 per desenvolupament de Software: ISO 9000-3
Teacher's solution
4.3 1.- Veure el document sobre Software Engineering
4.3.2 - Vídeo: Scrum vs model en cascada
4.4.- Testeig de Programes (teoría)
Ex1: Codi a on trobar els errors: Escola
sortida correcte quan tot aclarit NO veure fins que el professor doni permís
sol (profe only)
Es pot estimar els erros no trobats a un programa?
Sí es pot:
Multipliquem en creu i:
Proves unitàries o JUnit, en Java:
Ex2: Codi amb errors: Classifica Nombres
Empra les proves unitàries d'Eclipse com s'ha vist al video anterior.
Hauras de modificar l'estructura del programa per poder cridar-ho amb un JUnit.
Si ja has provat i vols ajuda, pots veure com ho he fet jo amb el següent fitxer, important com a "existing project". Aquest té 3 JUnits fets, però el codi encara té els errors.
projecteEclipseAmbJUnits
projecteEclipseAmbJUnits - resolt (profe only)
sol (profe only)
kk
Precondició: es una condición que ha de satisfacerse justo antes del comienzo de la ejecución de una porción de código (normalmente un subprograma o método).
Postcondició: es una condición o predicado lógico que siempre debe cumplirse justamente después de la ejecución de una sección de código o de una operación (especificación formal).
Exemple d'asserts amb Eclipse per mostrar com comprovem una precondició
Heu de llegir l'article, entendre els conceptes de precondició i postcondició i provar de fer l'exemple al vostre ordinador.
Per executar el programa amb Eclipse, habilitant l'assert, anar aRun configurations i possar -ea a VM arguments.
Si es posa un num > 10 donarà l'error quan s'executa amb Asserts.
Exemple:
Enter a number between 0 and 10: 333
Ex3: caixa transparent
Agafa la pràctica del 1r Trimestre d'un company i en grups de dos, feis un testeig de caixa transparent. Heu de trobar 2 errades i fer la correcció. Recordau que podeu trobar les vostres pràctiques al Moodle/GoogleClassroom.
Quan les teniu, comentau al vostre company, desenvolupador del programa.
Ex4: JUnits per algorismes senzills
Fer un joc de proves a Eclipse amb JUnit i desprès una classe amb un mètoda a provar que:
a) Fer una classe Java que donat un any, torni un booleà dient si es any bisiest o no.
Joc de proves.
anys sí ho son: 1900, 2016
anys no ho son: 1902, 2017
Desprès fer una classe amb un mètode a testejar
bisiest ssi es un any múltiple de 4 o té les dues xifres 0. Ex: 1900.
Nota:
condició a la Vikipèdia
Todos los años divisibles entre 4 son bisiestos, excepto aquellos que son divisibles entre 100 pero no entre 400. Por ejemplo 1700, 1800 y 1900 no fueron bisiestos, pero 1600 y 2000 sí.
b) Fer una classe a testejar amb un mètode per donat un String, tornar si es un email vàlid.
Primer fer el joc de proves i desprès el programa
Exemples de caixa blanca i negre:
Material IOC
1.- cercar "Les proves de capsa negra proven"
2.- cercar "Les proves de capsa blanca se centren"
INFORMACIÓ COMPLEMENTÀRIA:
Meet the professional: intro video
Informació d'aquests projectes reals (en Anglès)
ESOC/ESA Software and simulators: 2 videos
exemple Minutes (profe only)
Exemples de projectes reals
(a veure a classe amb el professor)
Exercici pel pont:
1.- Crear un projecte que implementi una pila. Ho podeu fer amb un Vector de Integers així:
public class Pila {
2.- Codificar les proves unitàries amb JUnit, que permetin validar el correcte funcionament de la pila.
5.- Refactoring
5.1 material-R
video amb en Martin Fowler, creador del concepte de Refactoring:
Material IOC - veure fins a on comença Control de Versions (que serà el proper tema)
5.2 RefactoringR-M (2019)
5.3.- Preguntes sobre article a llegir
sol (profe only)
5.4.- Refactoring amb Eclipse (exerc)
Refactoring amb Eclipse (exerc) sol (profe only)
5.5.-Refactoring amb Eclipse: més exemples
Cada alumne ha de fer tots els exemples que no hagin sortit al exercici 5.4 amb Eclipse
5.6.- Refactoring Catalog (exemples de tots els refactorings que es poden fer)
Cada alumne ha de cercar un exemple de l'anterior catàleg; no explicat a classe i que li agradi. Desprès ho explicarà a classe als seus companys.
5.7 Main Refactoring Sample, from R.B.
llibre: pàgines del exemple
Abans de fer refactoring, hem de tenir un bon joc de proves. Si vos falla el AssertEquals, feis com a continuació:
codi per AssertEquals:
Exemple llarg i complert. Comença amb unes classes que funcionen i que s'han de refactoritzar. Ho has de fer pas per pas, tant seguint el text com creant desprès el teu projecte en Eclipse i poc a poc, anar deixant polit tot el codi.
Una vegada els alumnes han fet/intentat fer el refactoring, el professor els pot donar accés al projecte Eclipse abans i desprès de refactoritzar.
Eclipse project abans refactoritzar (teacher only)
Eclipse project refactoritzat (teacher only)
codi final Refactoritzat (sense projecte Eclipse)
kk
6.- Control de versions
Introducció
Sense control de versions:
Bloquejant fitxers:
Presentació Git
Justificació d'emprar un Sistema de Control de Versions:
Entrevista amb el creador de Git, Linus Torvalds
Llibre recomenat:
Llibre descarregable: https://git-scm.com/book/es/v1
Video de com fan feina dos desenvolupadors emprant branques: (18 min.)
Tutorial Git amb Eclipse (Vogelia)
(Esperar a que el profe vos indiqui)
Git en més detall
Resum de les instruccions Git per línea de comandes:
Info del propi manual de Git:
usage: git [--version] [--exec-path[=<path>]] [--html-path]
[-p|--paginate|--no-pager] [--no-replace-objects]
[--bare] [--git-dir=<path>] [--work-tree=<path>]
[-c name=value] [--help]
<command> [<args>]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
Resum Git en 30min (va com una moto):
Curs online de Git
Git amb Netbeans
Repositoris Git per desenvolupadors:
gitHub
GitHub és un servei de hosting de repositoris Git, el qual ofereix tota la funcionalitat de Git de control de revisió distribuït i administració de codi de la font (SCM) així com afegint les seves característiques pròpies. A diferència de Git, el qual és estrictament una eina de línia d'ordres, GitHub proporciona una interfície gràfica basada en web i escriptori així com integració del mòbil. També proporciona control d'accés i diverses característiques de col·laboració com bug tracking, administració de tasques, i wikis per cada projecte.
GitHub ofereix ambdós plans; per a repositoris privats i comptes gratuïts, els quals són normalment utilitzats de host en projectes de programari lliure. Del 2015, GitHub informa que hi ha més de 9 milions d'usuaris i més de 21,1 milions de repositoris, fent-lo el host de codi de font més gran del món.
bitBucket
Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizan el sistema de control de revisiones Mercurial y Git. Bitbucket ofrece planes comerciales y gratuitos. Se ofrece cuentas gratuitas con un número ilimitado de repositorios privados (que puede tener hasta cinco usuarios en el caso de cuentas gratuitas) desde septiembre de 2010, los repositorios privados no se muestran en las páginas de perfil - si un usuario sólo tiene depósitos privados, el sitio web dará el mensaje "Este usuario no tiene repositorios". El servicio está escrito en Python.
La tecnologia de Microsoft, també compatible amb Git:
Team Foundation Server
Github guides:
Veure les seccions:
1- understanding
2- hello world
3- git handbook (exemples de commandos típics fent feina)
Video: 2 step commit
Exercici amb el Git i GitHub:
1- Instal.la un dels següents:
Instal.la el Git (per emprar per comandes)
o
un client de Git visual: GitHub Desktop
2.- Exercici Pelis al Github
Curset Git fet Kico (només professor)
4.4.- Testeig de Programes (teoría)
Ex1: Codi a on trobar els errors: Escola
sortida correcte quan tot aclarit NO veure fins que el professor doni permís
sol (profe only)
Es pot estimar els erros no trobats a un programa?
Sí es pot:
Per estimar el
nombre d'errors no trobats, farem una regla de tres.
Primer passem el nostre
joc de proves, dissenyat segons hem vist a la teoria. Imaginem que
trobem 56 errades inicials (EI) i les corregim.
Ara, introduïm 100
errades aleatòries (EA) noves, sense tenir en compte el joc de
proves. Si tornem a passar el nostre joc de proves inicial, podrem
veure si es un bon joc de proves o no, ja que sabem el nombre
d'errades que hi ha i si ho executem veim el nombre que troba, que
segurament no seran totes. Imaginem que troba 95 (ED: errades
deliberades) i es deixa 5 pel camí.
Si es manté la mateixa
proporció, podem fer la regla de tres següent per estimar les
errades no trobades inicialment:
Si ha trobat 95 errades
(ED) ------> deixant de trobar 5 (100 - ED)
Quan en troba 56 (EI)
-------> Ex deixa X
Multipliquem en creu i:
X = EI * (100 – ED) / ED
X = 56 * 5 / 95 = 2,94
Deixaria de trobar uns 3
bugs!
Proves unitàries o JUnit, en Java:
Ex2: Codi amb errors: Classifica Nombres
Empra les proves unitàries d'Eclipse com s'ha vist al video anterior.
Hauras de modificar l'estructura del programa per poder cridar-ho amb un JUnit.
Si ja has provat i vols ajuda, pots veure com ho he fet jo amb el següent fitxer, important com a "existing project". Aquest té 3 JUnits fets, però el codi encara té els errors.
projecteEclipseAmbJUnits
projecteEclipseAmbJUnits - resolt (profe only)
sol (profe only)
kk
Precondició: es una condición que ha de satisfacerse justo antes del comienzo de la ejecución de una porción de código (normalmente un subprograma o método).
Postcondició: es una condición o predicado lógico que siempre debe cumplirse justamente después de la ejecución de una sección de código o de una operación (especificación formal).
Exemple d'asserts amb Eclipse per mostrar com comprovem una precondició
Heu de llegir l'article, entendre els conceptes de precondició i postcondició i provar de fer l'exemple al vostre ordinador.
Un subprograma pot tenir precondicions, que són restriccions que s’han de complir perquè se’l pugui invocar, i postcondicions, que són condicions que es compliran en acabar l'execució del mateix, si quan es va invocar se’n complien les precondicions.
Per executar el programa amb Eclipse, habilitant l'assert, anar aRun configurations i possar -ea a VM arguments.
Si es posa un num > 10 donarà l'error quan s'executa amb Asserts.
Exemple:
Enter a number between 0 and 10: 333
Ex3: caixa transparent
Agafa la pràctica del 1r Trimestre d'un company i en grups de dos, feis un testeig de caixa transparent. Heu de trobar 2 errades i fer la correcció. Recordau que podeu trobar les vostres pràctiques al Moodle/GoogleClassroom.
Quan les teniu, comentau al vostre company, desenvolupador del programa.
Ex4: JUnits per algorismes senzills
Fer un joc de proves a Eclipse amb JUnit i desprès una classe amb un mètoda a provar que:
a) Fer una classe Java que donat un any, torni un booleà dient si es any bisiest o no.
Joc de proves.
anys sí ho son: 1900, 2016
anys no ho son: 1902, 2017
Desprès fer una classe amb un mètode a testejar
bisiest ssi es un any múltiple de 4 o té les dues xifres 0. Ex: 1900.
Nota:
condició a la Vikipèdia
Todos los años divisibles entre 4 son bisiestos, excepto aquellos que son divisibles entre 100 pero no entre 400. Por ejemplo 1700, 1800 y 1900 no fueron bisiestos, pero 1600 y 2000 sí.
b) Fer una classe a testejar amb un mètode per donat un String, tornar si es un email vàlid.
Primer fer el joc de proves i desprès el programa
No fa falta que sempre funcioni, pot ser bàsic tornant correcte si conté una arroba (@).
Fer un bon joc de proves, que a vegades faci petar el mètode que diu si email correcte.
solution (teacher only)Exemples de caixa blanca i negre:
Material IOC
1.- cercar "Les proves de capsa negra proven"
2.- cercar "Les proves de capsa blanca se centren"
INFORMACIÓ COMPLEMENTÀRIA:
Meet the professional: intro video
Informació d'aquests projectes reals (en Anglès)
ESOC/ESA Software and simulators: 2 videos
exemple Minutes (profe only)
Exemples de projectes reals
(a veure a classe amb el professor)
Exercici pel pont:
L’objectiu d’aquesta activitat és aprendre a crear proves unitàries amb JUnit.
Es demana:
public class Pila {
public Pila() {
super();
pila = new Vector<Integer>();
mida = 0;
}
public boolean pilaBuida () {
fer per alumnes}
public void apilar ( Integer o ) {
fer per alumnes
}
public Integer desapilar () {
fer per alumnes
}
public int getNumElements() {
fer per alumnes
}
super();
pila = new Vector<Integer>();
mida = 0;
}
public boolean pilaBuida () {
fer per alumnes}
public void apilar ( Integer o ) {
fer per alumnes
}
public Integer desapilar () {
fer per alumnes
}
public int getNumElements() {
fer per alumnes
}
2.- Codificar les proves unitàries amb JUnit, que permetin validar el correcte funcionament de la pila.
Una pila és una llista o estructura de dades en què la forma d’accés als seus elements és de tipus LIFO (de l’anglès Last In First Out, el darrer a entrar és el primer a sortir), que permet emmagatzemar i recuperar dades.
Recordar que un JUnit permet automatitzar les proves unitàries d’aplicacions Java; permet l’execució de classes Java de manera controlada, amb l’objectiu de poder avaluar si el funcionament de cada un dels mètodes de la classe es comporta com s’espera.
5.- Refactoring
5.1 material-R
video amb en Martin Fowler, creador del concepte de Refactoring:
Material IOC - veure fins a on comença Control de Versions (que serà el proper tema)
5.2 RefactoringR-M (2019)
5.3.- Preguntes sobre article a llegir
sol (profe only)
5.4.- Refactoring amb Eclipse (exerc)
Refactoring amb Eclipse (exerc) sol (profe only)
5.5.-Refactoring amb Eclipse: més exemples
Cada alumne ha de fer tots els exemples que no hagin sortit al exercici 5.4 amb Eclipse
5.6.- Refactoring Catalog (exemples de tots els refactorings que es poden fer)
Cada alumne ha de cercar un exemple de l'anterior catàleg; no explicat a classe i que li agradi. Desprès ho explicarà a classe als seus companys.
llibre: pàgines del exemple
Abans de fer refactoring, hem de tenir un bon joc de proves. Si vos falla el AssertEquals, feis com a continuació:
codi per AssertEquals:
String res1="Rental Record for " + "Kico" + "\n"+
"\t" + "StarWars" + "\t"+ "14.0" + "\n"+
"\t" + "StarWars2" + "\t"+ "14.0" + "\n"+
"Amount owed is " + "28.0" + "\n"+
"You earned " + "2"+ " frequent renter points";
String res2="Rental Record for " + "Stefan" + "\n"+
"\t" + "Toy Story" + "\t"+ "12.0" + "\n"+
"\t" + "ToyStory2" + "\t"+ "12.0" + "\n"+
"Amount owed is " + "24.0" + "\n"+
"You earned " + "2"+ " frequent renter points";
String res3="Rental Record for " + "Laura" + "\n"+
"\t" + "Lincoln" + "\t"+ "45.0" + "\n"+
"Amount owed is " + "45.0" + "\n"+
"You earned " + "2"+ " frequent renter points";
Exemple llarg i complert. Comença amb unes classes que funcionen i que s'han de refactoritzar. Ho has de fer pas per pas, tant seguint el text com creant desprès el teu projecte en Eclipse i poc a poc, anar deixant polit tot el codi.
Una vegada els alumnes han fet/intentat fer el refactoring, el professor els pot donar accés al projecte Eclipse abans i desprès de refactoritzar.
Eclipse project abans refactoritzar (teacher only)
Eclipse project refactoritzat (teacher only)
codi final Refactoritzat (sense projecte Eclipse)
kk
6.- Control de versions
Introducció
Sense control de versions:
Bloquejant fitxers:
Amb fusió:
Presentació Git
Justificació d'emprar un Sistema de Control de Versions:
Entrevista amb el creador de Git, Linus Torvalds
Llibre recomenat:
Llibre descarregable: https://git-scm.com/book/es/v1
Video de com fan feina dos desenvolupadors emprant branques: (18 min.)
Tutorial Git amb Eclipse (Vogelia)
(Esperar a que el profe vos indiqui)
Git en més detall
Resum de les instruccions Git per línea de comandes:
To use Git, developers use specific commands to copy, create, change, and combine code. These commands can be executed directly from the command line or by using an application like GitHub Desktop or Git Kraken. Here are some common commands for using Git:
git init
initializes a brand new Git repository and begins tracking an existing directory. It adds a hidden subfolder within the existing directory that houses the internal data structure required for version control.git clone
creates a local copy of a project that already exists remotely. The clone includes all the project’s files, history, and branches.git add
stages a change. Git tracks changes to a developer’s codebase, but it’s necessary to stage and take a snapshot of the changes to include them in the project’s history. This command performs staging, the first part of that two-step process. Any changes that are staged will become a part of the next snapshot and a part of the project’s history. Staging and committing separately gives developers complete control over the history of their project without changing how they code and work.git commit
saves the snapshot to the project history and completes the change-tracking process. In short, a commit functions like taking a photo. Anything that’s been staged withgit add
will become a part of the snapshot withgit commit
.
Add + Commit in one command:
git commit -a -m "message"
git status
shows the status of changes as untracked, modified, or staged.git branch
shows the branches being worked on locally.git merge
merges lines of development together. This command is typically used to combine changes made on two distinct branches. For example, a developer would merge when they want to combine changes from a feature branch into the master branch for deployment.git pull
updates the local line of development with updates from its remote counterpart. Developers use this command if a teammate has made commits to a branch on a remote, and they would like to reflect those changes in their local environment.git push
updates the remote repository with any commits made locally to a branch.
Learn more from a full reference guide to Git commands.
usage: git [--version] [--exec-path[=<path>]] [--html-path]
[-p|--paginate|--no-pager] [--no-replace-objects]
[--bare] [--git-dir=<path>] [--work-tree=<path>]
[-c name=value] [--help]
<command> [<args>]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
Resum Git en 30min (va com una moto):
Curs online de Git
Git amb Netbeans
Repositoris Git per desenvolupadors:
gitHub
GitHub és un servei de hosting de repositoris Git, el qual ofereix tota la funcionalitat de Git de control de revisió distribuït i administració de codi de la font (SCM) així com afegint les seves característiques pròpies. A diferència de Git, el qual és estrictament una eina de línia d'ordres, GitHub proporciona una interfície gràfica basada en web i escriptori així com integració del mòbil. També proporciona control d'accés i diverses característiques de col·laboració com bug tracking, administració de tasques, i wikis per cada projecte.
GitHub ofereix ambdós plans; per a repositoris privats i comptes gratuïts, els quals són normalment utilitzats de host en projectes de programari lliure. Del 2015, GitHub informa que hi ha més de 9 milions d'usuaris i més de 21,1 milions de repositoris, fent-lo el host de codi de font més gran del món.
bitBucket
Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizan el sistema de control de revisiones Mercurial y Git. Bitbucket ofrece planes comerciales y gratuitos. Se ofrece cuentas gratuitas con un número ilimitado de repositorios privados (que puede tener hasta cinco usuarios en el caso de cuentas gratuitas) desde septiembre de 2010, los repositorios privados no se muestran en las páginas de perfil - si un usuario sólo tiene depósitos privados, el sitio web dará el mensaje "Este usuario no tiene repositorios". El servicio está escrito en Python.
Team Foundation Server
Github guides:
Veure les seccions:
1- understanding
2- hello world
3- git handbook (exemples de commandos típics fent feina)
Video: 2 step commit
Exercici amb el Git i GitHub:
1- Instal.la un dels següents:
Instal.la el Git (per emprar per comandes)
o
un client de Git visual: GitHub Desktop
2.- Exercici Pelis al Github
Curset Git fet Kico (només professor)
Comments
Post a Comment