¿Qué es VCS (sistema de control de versiones)?

Sistema de control de versiones (un acrónimo de Control the System the Version, el VCS) : este almacenamiento de código. Como un dropbox , ¡solo para desarrolladores!





Está orientado específicamente al desarrollo de productos. Es decir, para almacenar código, sincronizar el trabajo de varias personas, crear lanzamientos (ramas) ... Pero déjame decirte mejor con un ejemplo, por qué es mejor que un dropbox. Todo es como siempre, una historia con un montón de imágenes para mayor claridad))





Y luego te contaré más sobre cómo funciona VCS: lo que significa "crear un repositorio", "confirmar y fusionar cambios" y otras palabras aterradoras. Al final, tocaremos uno de los sistemas VCS con nuestras manos, descargaremos el código del repositorio abierto.





Contenido total:





  • ÂżQuĂ© es y por quĂ© se necesita?





  • CĂłmo funciona VCS





    • Trabajo de preparatoria





      1. Crear repositorio





      2. Descarga el proyecto del repositorio





    • Trabajo diario





      1. Actualice el proyecto, consulte la Ăşltima versiĂłn del repositorio





      2. Confirmar cambios en el repositorio





      3. Resolver conflictos (fusionar)





      4. Crear una rama (rama)





  • VCS popular y las diferencias entre ellos





  • Ejemplo: descargar un proyecto de Git





    1. A través de la consola





    2. A través de IDEA





    3. VĂ­a TortoiseGit





  • Total





¿Qué es y por qué se necesita?

, Java ( ). — , . , :





  • ;





  • — ;





  • — , , .





, . , . — . !





, . :





  • Main.java —





  • GUI.java —





!





, —  , ! , . (Sum.java), ( GUI.java) Main.java.





-, , ... — ! — ! . ( — Minus.java), Main.java GUI.java.





 





, , .





, . , .





— , ??





— , ! . !





:





— ? !





.  , , : Main.java GUI.java. — .





. , . , .





, , . Sum.java, .





! , . Main.java GUI.java, . , , .





( — , -):





— ?





— , , ! . , 9 . . 9 , , .





— , !





, ! . , ... .





, . , - ! , .





, . :





— !!! !





, :





— ??





. , , , . , . .





. , , . , .





— ! , ?





— , ...





:





— ! :





  • , .





  • - — «» , - .





  • , — , .





. .





:





— ... , , . !





:





— . , Dropbox, ?





. , . . . , , , .





:





— ?





— . , !





:





— , Main.java, . ... ! 100 ... .





— , , , .





— , !





. :





— ?





— , !





— ?





— ??? !





— .





— . - Main.java. :





— , .





— , , !





— , .





— ? , ...





— , ? ...





, . - . !





— , , - , ? « »?





— . . AraxisMerge, !





— , ! IDEA ( Ctrl + C ). !





— !





—  . :





— , ! , ! . , !





— ? ?





— . SVN, . ?





— !





. ! , . ? !





 





 





VCS

, .





 





1.





, . . .





SVN. , , . , «» .





, VCS . , — , .





! ! .





 





2.





. , , , , -!





, , . , . Mercurial ( VCS) — clone. , —  () , , !





, . -.





, — .





 





, .





 





1. ,





, . - ?





, , Main.java GUI.java. , . !





SVN «update», Mercurial — «pull». . , . - —  . - , .





— clone? , ! ?





. , - . , . , .





, «» . , . , .





— . 5 1000, ?





 





2.





. , . , ( — , . refactor), Main.java.





() , . . —  VCS, .





 





1 — commit





— SVN.





, . «commit» — . .





 





2 — commit + push





— Mercurial, Git.





, . «commit» — . !





, «». «push».





, , . , code freeze . . , , !





. , , . =) .





 









, :





— .





:





— .





. — , !





 





3. (merge)





, — . , 3 Main.java Gui.java.





Minus.java, , .





. , . :





  • Percent.java





  • Main.java ( 3)





  • Gui.java ( 3)





:





  • Percent.java —  1





  • Main.java —  4





  • Gui.java —  4





. :





  • Division.java





  • Main.java ( 3, )





  • Gui.java ( 3)





, ! :





  • Division.java —  1





  • Main.java —  4





  • Gui.java —  4





, , ! !





, «merge». , , Main.java Gui.java , . . «» —  4 .





, ? . , . :





  • , — ,





  • , — ,





  • —





— . , , . — .





, , . , -. . , , , —  ? ?





—  , . , ant gradle, . , .





, 200 , .





? . , .





, , . , . . merge , !





 





4. ()





. , . ? :





— ? ?





— . , .





:





— , , ? !





:





— !





:





— ?





:





— —  . , trunk-, .





- , « » —  , .





—  1 .





— 2.





VCS , :





  • 1





  • 1 2 — , ,





  • , 2 .





— 3.





— , . , . (branch . — ). trunk-.





, , - . ( , . branch, trunk, )





trunk. branch, , - .





!





— , ! ? ! , 2. !





— . , « ». , . , ( ).





, , 3, . , . 30 .





, —  , . ! , :





  • 3





  • ( , )





  • =









  • 33 ()





- . ? , ? ? ?





! - , . , , , .





— . branch (trunk). , , merge, !





- — . + .





. , — 1, 2... 52...





, , , . , =) ( ):





!





— , ?





— , . , Mercurial «hg sum»: , . :





D:\vcs_project\test>hg sum

parent: 3:66a91205d385 tip

Try to fix bug with device

branch: default
      
      



«parent» — . . , ? . 3. , ID .





, . «Try to fix bug with device».





, , «branch»! default — . trunk-. , . . .





— ! !





*****





Git «», , — https://learngitbranching.js.org





*****





, —  VCS. —  , . .









( . Version Control System, VCS)  â€” dropbox .





 





VCS

— :





  • SVN — ,





  • Mercurial ( HG), Git — ( )





SVN — , . — . ! . , . , , .





Mercurial Git — . — , push. , , , . . .





« ». , . , , , , , ... .





. . «» — Tortoise<VCS>. TortoiseSVN, TortoiseHG, TortoiseGit... — IDEA, Eclipse, etc.





? , Tortoise «-», .





:





API — , .





VCS:









SVN





GIT





HG









svn checkout <> <>





git clone <> <>





hg clone <> <>









svn update





git pull





hg pull -u 





( ?)





svn log --revision HEAD





git show -s





hg sum









svn commit -m "MESSAGE"





git commit -a -m "MESSAGE"







git push





hg commit -m "MESSAGE"







hg push





branch





svn checkout <> <>





git checkout BRANCH





hg update BRANCH





, , . , , =)





— Git

Folks. !





Git. , . 3 ( , ):









  1. IDEA





  2. TortoiseGit





D:\git.





1.





1. git:





2. :





git clone  
      
      



↓





git clone https://bitbucket.org/testbasecode/folks/src/master/ D:\\git\\folks_console
      
      



. !





« » . .





 





2. IDEA





1. IDEA





2. Check out from Version Control → Git





3. :





  • URL — https://bitbucket.org/testbasecode/folks/src/master/ ( )





  • — D:\git\folks_idea ( )





4. Clone — ! IDEA !





, !





, «Project» ( ) , :





— , ! , . .





 





3. TortoiseGit





— , «» (tortoise):





1. TortoiseGit





2. → , , : Git Clone, Git Create repository here, TortoiseGit





3. , . , D:\git.





4. → Git Clone





:





  • URL — https://bitbucket.org/testbasecode/folks/src/master/ ( )





  • Directory — D:\git\folks_tortoise_git ( )





5. «»





! - — !





3 ! , , :





 





SVN, Mercurial, Git, VCS — . , . ! =) .





. «TODO ». ,   . , , .





. , . , , . , , . .





, . , !





. , VCS , . , «» — .





, . . . VCS Tortoise Hg.





=) —  1 .





, , —  . , !





PS:   «». —   youtube-.





PPS: la autora de las imágenes de este artículo es Anya Chernomortseva , la autora del estilo es Victoria Lapis =)








All Articles