Guest User

3.1.Source control systems

a guest
Apr 14th, 2016
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1. Source control systems
  2.  
  3. Идеята на Version control system-ите е да се проследяват промените по някакви файлове (например от даден проект). Не е задължително файловете да съдържат сорс код. Може да се проследява историята за промените по файловете
  4.  
  5. Source control system = Version control system ~ Software configuration management – позволява ни да работим върху версиите на даден софтуер, който разработваме. Ако решим, че сме направили някава грешка по нашия проект, можем да се върнем към по-стара версия, от преди месец например.
  6.  
  7. Software development cycle:
  8. - Analysis – решаваме какви технологии ще са ни нужни, какъв програмен език ще използваме, какви структури от данни и т.н.
  9. - Models – правим дизайна на софтуера – например ако правим интернет сайт правим страниците, който са ни нужни; или ако е някакво приложение пишем класовете, които ще има
  10. - Implementation – писането на сорс код
  11. - Build – build-ваме приложението, изчистваме грешките, които се появяват
  12. - Testing – тестване на приложението
  13. - Release – изкарване на final продукта
  14.  
  15. Version control система:
  16. - File version control – поддържа различни версии на файловете/ сорс кода
  17. - Merge and differences search – merge-ване на различни версии на един и същ файл
  18. - Branching – чрез branching-а може да правим различни версии на един и същ продукт
  19. - Console and GUI clients – има конзолна среда и GUI клиенти за работа с VCS системата
  20. VCS системите пазят change log (history) на промените направени през времето
  21.  
  22.  
  23. Repository – сървъра на който се съхранява проекта
  24. Revision, Version – всеки път когато правим някаква промяна по проекта, това е нова версия
  25. Clone (git), Check-out (SVN) – вземаме копие от даден проект намиращ се на отдалечен сървър и сваляме това копие локално на нашата машина
  26. Change – промяна на даден локален файл
  27. Change set/Change list – свъкупност от промени, които ще бъдат commit-нати по едно и също време
  28. Commit/Check-in – submit-ва промените, които сме направили на нашата локална машина, в отдалеченото repository, където се намира проекта.Автоматично се създава нова версия.В този случай може да възникнат конфликти
  29. Conflict – едновременна промяна на файловете в repository-то от няколко души
  30. Update (SVN)/Pull (Git) – сваляме най-новите update-нати данни на нашата локална машина от сървъра
  31. Undo changes/Revert (Git) – връща даден файл, който сме променили, към последната версия, към която е бил update-нат
  32. Merge – когато се получава конфликт, можем да слеем/merge-нем двете промени
  33. Branch – разделяне на проект на различни потоци за да може да се работи паралелно по този проект
  34.  
  35. Versioning models
  36. - Lock-Modify-Unlock – файлът, по който се работи се lock-ва от user-а и когато работата свърши, файлът се unlock-ва
  37. - Copy-Modify-Merge – user-ите правят паралелни промени на работните копия. Получават се конфликти когато двама или повече user-a искат да модифицират една и същ файл. Тук няма version control
  38. - Distributed version control – всеки user си има свое собствено локално repository и работи по него. Когато стане време локалното repository се push-ва към отдалеченото repository
  39.  
  40. Branching – allows splitting the development line into separate branches.
  41. - Suitable for development of new features in a new version of the product
Add Comment
Please, Sign In to add comment