Apa itu VCS (Version Control System)

Version Control System (portmanteau dari Control the System the Version, VCS.) - Penyimpanan kode ini. Seperti dropbox , khusus untuk pengembang!





Ini diarahkan secara khusus untuk pengembangan produk. Yaitu, untuk menyimpan kode, menyinkronkan pekerjaan beberapa orang, membuat rilis (cabang) ... Tapi izinkan saya memberi tahu Anda lebih baik dengan sebuah contoh, mengapa itu lebih baik daripada dropbox. Semuanya seperti biasa, cerita dengan banyak gambar untuk kejelasan))





Dan kemudian saya akan memberi tahu Anda lebih banyak tentang cara kerja VCS - apa artinya "membuat repositori", "melakukan dan menggabungkan perubahan", dan kata-kata menakutkan lainnya. Pada akhirnya, kami akan menyentuh salah satu sistem VCS dengan tangan kami, mengunduh kode dari repositori terbuka.





Konten total:





  • Apa itu dan mengapa itu dibutuhkan





  • Bagaimana VCS bekerja





    • Pekerjaan persiapan





      1. Buat repositori





      2. Unduh proyek dari repositori





    • Pekerjaan sehari-hari





      1. Perbarui proyek, lihat versi terbaru dari repositori





      2. Lakukan perubahan ke repositori





      3. Selesaikan konflik (gabungkan)





      4. Buat cabang (cabang)





  • VCS populer dan perbedaan di antara mereka





  • Contoh - mengunduh proyek dari Git





    1. Melalui konsol





    2. Melalui IDEA





    3. Melalui TortoiseGit





  • Total





Apa itu dan mengapa itu dibutuhkan

, 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: penulis gambar artikel ini adalah Anya Chernomortseva , penulis gayanya adalah Victoria Lapis =)








All Articles