Was ist VCS (Versionskontrollsystem)

Versionskontrollsystem (ein Portmanteau des Control the System der Version, des VCS.) - Dieser Codespeicher. Wie eine Dropbox nur fĂĽr Entwickler!





Es ist speziell auf die Produktentwicklung ausgerichtet. Das heißt, zum Speichern von Code, zum Synchronisieren der Arbeit mehrerer Personen, zum Erstellen von Releases (Zweigen) ... Aber lassen Sie mich anhand eines Beispiels besser erklären, warum es besser ist als eine Dropbox. Alles ist wie immer eine Geschichte mit ein paar Bildern zur Klarheit))





Und dann erzähle ich Ihnen mehr über die Funktionsweise von VCS - was es bedeutet, "ein Repository zu erstellen", "Änderungen festzuschreiben und zusammenzuführen" und andere beängstigende Worte. Am Ende werden wir eines der VCS-Systeme mit unseren Händen berühren und den Code aus dem offenen Repository herunterladen.





Gesamtinhalt:





  • Was ist das und warum wird es gebraucht?





  • Wie VCS funktioniert





  • Beliebte VCS und die Unterschiede zwischen ihnen





  • Beispiel - Herunterladen eines Projekts von Git





    1. Durch die Konsole





    2. Durch IDEE





    3. Ăśber TortoiseGit





  • Gesamt





Was ist das und warum wird es gebraucht?

, 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: Die Autorin der Bilder dieses Artikels ist Anya Chernomortseva , die Autorin des Stils ist Victoria Lapis =)








All Articles