KDevelop5/Підручник/Робота з системами керування версіями

    From KDE UserBase Wiki
    Revision as of 07:40, 10 October 2020 by Yurchor (talk | contribs) (Created page with ";Записати : Оновити вміст віддаленого сховища.")
    Other languages:

    Робота з системами керування версіями

    Якщо ви працюєте з доволі великими проектами, ймовірно, код проекту керується системою керування версіями, наприклад, subversion або git. Наведені нижче настанови відповідають subversion, але їх може бути використано для git або будь-якої іншої підтримуваної системи керування версіями.

    Subversion

    По-перше, якщо вміст каталогу вашого проекту є наслідком використання певної системи керування версіями, KDevelop автоматично визначить це. Іншими словами, не потрібно вказувати KDevelop, що середовищу слід отримати код з системи керування версіями самостійно, — достатньо вказати KDevelop каталог, у якому зберігається вже отримати копія сховища. Якщо у вас є такий каталог, відкрийте панель Проекти. За її допомогою ви зможете виконати декілька корисних дій:

    • Якщо вміст вашого каталогу застарів, ви можете оновити дані зі сховища: клацніть на пункті назви проекту правою кнопкою миші, відкрийте у контекстному меню підменю Subversion і скористайтеся пунктом Оновити. Таким чином, ви зможете підтримувати вміст проекту у найактуальнішому стані, відповідно до вмісту сховища коду.
    • Якщо вам потрібно виконати оновлення для якогось окремого підкаталогу або певних файлів, розгорніть список файлів проекту, знайдіть у ньому потрібні пункти і виконайте для тих описану вище дію.
    • Якщо ви внесли зміни до одного або декількох файлів, розкрийте на панелі вмісту проекту каталог з цими файлами і клацніть на пункті каталогу правою кнопкою миші. У відповідь буде відкрито меню Subversion з декількома пунктами варіантів дій. Виберіть пункт Порівняти з Базовим, щоб переглянути відмінності між редагованою вами версією і версією, яка зберігається у сховищі (версією "base"). На панелі перегляду, яку буде відкрито, ви зможете переглянути відмінності ("diff") для всіх файлів у каталозі.
    • Якщо зміни було внесено лише до одного файла, ви можете відкрити меню Subversion для цього файла простим клацанням правою кнопкою миші на пункті файла на панелі перегляну проекту. Можна зробити ще простіше: клацніть правою кнопкою миші на панелі редактора, на якій відкрито файл, — у контекстному меню ви побачите відповідний пункт.
    • Якщо вам потрібно надіслати до сховища один або декілька змінених файли, клацніть правою кнопкою миші на пункті кожного з файлів, підкаталогів або всього проекту і виберіть у контекстному меню пункт Subversion -> Надіслати. Після вибору цього пункту середовище буде переведено у режим Перегляд, третій режим, пункт якого, поряд з пунктами Код і Зневаджування можна бачити у правому верхньому куті головного вікна KDevelop. На наведеній ілюстрації показано зразок вікна у такому режимі. У режимі Перегляд у верхній частині вікна буде показано відмінності у файлах всього підкаталогу або проекту, пункт кожного зміненого файла буде позначено кольором (див. різні вкладки у цій частині вікна). Типово, всі змінені файли буде додано до набору змін, який буде надіслано до сховища, але ви можете зняти позначення з частини файлів, якщо внесені до них зміни не пов’язано з окремою порцією змін, які ви надсилаєте. Наприклад, у нас знято позначення з пунктів step-32.cc і step-32.prm, оскільки зміни у цих файлах не пов’язано з іншими змінами у проекті, отже цього разу їх не буде надіслано до сховища (їх можна буде надіслати пізніше окремим внеском). Після перегляду змін ви можете вказати повідомлення щодо внеску у полі для введення тексту і натиснути кнопку Надіслати, розташовану праворуч, щоб надіслати зміни до сховища.
    • Під час перегляду відмінностей, якщо потрібно надіслати зміни лише до одного файла, ви можете просто клацнути правою кнопкою миші на відповідному пункті панелі редактора і вибрати у контекстному меню пункт Subversion -> Надіслати.

    Git

    Since git is becoming more and more popular with companies programmers, let us look at the options for git. Whether you right-click on the project name or on an individual file, one of the menu choices it gives you is Git. When clicked it produces the submenu shown on the right with some of the more common git commands.

    Внести
    Внести ваші зміни до локального сховища із необов'язковим повідомленням, у якому описано внесені зміни.
    Записати
    Оновити вміст віддаленого сховища.
    Pull
    Fetch from and integrate with the local repository from the remote repository.
    Add
    Add the file to the list of files to be commited when you perform the commit. This can be used as many times as needed before the commit.
    Revert
    Reverse an earlier commit due to a commit error or a patch that is creating a problem.
    Search History
    Search history pulls up a dialog that displayes the log of the commits along with the commit meassage and a list of files affected.
    Annotation
    Annotates each line in the given file with commit information.
    Show Differences
    Shows the differences of a patch.
    Branches
    Opens a dialog that shows the current branches as well as a search box, and buttons for the following branch actions: create, delete, rename, compare, checkout, and merge.
    Rebase
    Opens a dialog to select the branch to rebase to.
    Stash Manager
    Opens a dialog displaying a list of stashes that have been pushed with buttons to determine what to do next. The buttons have the following actions:
    • Show: Shows the selected stash as a diff and switches to diff view
    • Apply: Applies the stash but does not remove the stash
    • Pop: Applies the stash and removes it from the Stash Manager
    • Branch: Opens a dialog for a branch name to create with the stash
    • Drop: Deletes the stash
    • Close: Closes the Stash Manager
    Push Stash
    Save your local modifications to the current working branch to a new stash entry and roll them back to HEAD. The <message> part is optional and gives the stash a description.
    Pop Stash
    Remove a single stash from the stash list and apply it on top of the current working tree, i.e., do the opposite operation of git stash push. The working directory must match the index.