Я перебуваю саме в цій ситуації, але я вибрав дещо складніший, але не обов'язково більш складний робочий процес з Git.
Спочатку метою було вивчити спосіб git, тому я трохи досліджував. потім повернуто в значній мірі описаний вами робочий процес.
Через деякий час з цим стало важко працювати, оскільки виникали деякі ситуації, і це дало мені шкідливі звички, які важко було б порушити, коли я приєднаюся до команди.
тож я вирішив наступне:
- Місцеве сховище для роботи.
- Основна гілка як стабільний магістраль для програми
- Одна гілка для кожної функції / рефактора, в основному одна гілка для кожного суттєвого зміни, яке буде зроблено.
- З’єднайтеся назад до стовбура, коли гілка стабільна і пройдуть усі тести.
Я також встановлюю обліковий запис git hub, де я синхронізую магістраль. Це дозволило мені легко почати працювати на різних комп’ютерах. Це було необхідністю, але дозволило мені знайти помилки, прив’язані до середовища, в якому я знаходився, і які не були доступні на інших комп’ютерах. Тож тепер я маю звичку хоч раз спробувати проект у іншій "незайманій" системі. Врятує мені багато головних болів, коли настає час розгорнути клієнта.
- Я тегую всі версії, що перетворюють його на github як звільну версію.
- Якщо випущений клієнтом, я перейду на цю версію, щоб створити другий стабільний магістраль для виправлень помилок, заявлених клієнтом.
Кілька гілок спочатку здавалися надмірними, але це дійсно дуже допомогло. Я міг запустити ідею у філії, попрацювати над нею деякий час, і коли я запускаю гуртки, я відмовився і почав іншу гілку працювати над чимось іншим. Пізніше з’явилася ідея, де я повернусь до напівзапеченої гілки та досліджую цю ідею. це в цілому зробило МНЕ набагато продуктивнішим, оскільки я міг діяти спалахів та ідей дуже швидко і побачити, чи спрацювало це. Вартість перемикання гілок з GIT надзвичайно низька, що робить мене дуже спритним зі своєю базою коду. Це сказало, що я все ще повинен освоїти концепцію ребазування, щоб очистити свою історію, але, оскільки я один, я сумніваюся, що мені це справді потрібно. Підштовхнув це як "приємно вчитися".
Коли все розгалуження ускладнилося, я вивчив варіант журналу, щоб намалювати дерево змін і побачити, яка гілка є де.
Коротше кажучи, git не схожий на SVN, CVS або (brrr) TFS. Розгалуження дуже дешеве, а помилки, які усунуть роботу, насправді досить важкі. Лише одного разу я втратив роботу, і це було тому, що я зробив свої зобов'язання занадто великими (див. Шкідливі звички вище). Якщо ви дотримуєтесь часто, маленькими шматками git, безумовно, стане вашим найкращим союзником.
Для мене git відкрив мій погляд на те, про що насправді йде контроль над джерелами. Все, що раніше було лише спробами отримати, git - це перше, що, на мою думку, це отримало. Зважаючи на це, я не пробував інших DVCS, цілком можливо, це твердження могло б бути розширеним для всієї родини.
Остання остання порада, командний рядок - ваш друг. Не кажучи про те, що графічні інструменти не є гарними, навпаки, але я дійсно потрудився, коли я відпустив командний рядок і спробував це самостійно. Насправді це дуже добре зроблено, легко дотримуватися за допомогою дуже всебічної системи допомоги. Моя найбільша проблема була прив’язана до але потворної консолі у Windows, поки я не знайшов альтернативи.
Тепер я використовую обидва, інтеграцію Eclipse з Git, щоб побачити, що відбувається в режимі реального часу, і виконувати деякі операції, такі як diff, вивчити історію для файлу тощо. І командний рядок для розгалуження, об'єднання, натискання, отримання та складніших дерев журналів . деякі основні сценарії, і я ніколи не був таким продуктивним щодо контролю над джерелами, і я ніколи не мав настільки великого контролю над своїм джерелом.
Успіхів, сподівався, що це допомогло.