Git

Git - це не лише набір команд для commit і push, а щоденний інструмент керування історією проєкту.

У цій категорії я збираю практичні кейси з реальної розробки: роботу з branches і remote repositories, перенесення commit між гілками, rebase, squash, cherry-pick, відновлення після помилкових дій, виправлення вже pushed history та безпечну роботу з force push.

Окрему увагу приділяю ситуаціям, які виникають у командній роботі та CI/CD: як зберегти правильну ancestry, не втратити чужі зміни й виправити Git history без зайвого ризику.

git-restore-p-cleaning-diff-without-losing-real-change-cover.png
Git

git restore -p на практиці: як прибрати зайве з diff і не втратити потрібну зміну

Після push у diff разом із потрібною зміною з’явилося стороннє форматування. Показую, як я використала git restore -p, щоб точково повернути непотрібні фрагменти до production і не втратити саму задачу.

102
git-rebuilding-feature-release-history-after-premature-merge-cover.png
Git

Git: як перебудувати feature/release history після передчасного merge і довести, що код не змінився

Реальний Git-кейс із ICanUp: у feature-гілку випадково потрапила лише частина змін, після чого її вже злили в release-гілку, а решту файлів закомітили безпосередньо в release. У статті розбираю, як безпечно зберегти поточний стан, перебудувати feature-гілку, виконати чистий merge і використати `git diff --exit-code` як доказ того, що фінальний код після перебудови залишився незмінним.

120
git-move-pushed-commit-correct-branch-main.png
Git

Git: як перенести вже pushed commit у правильну branch без втрати історії

Я вже зробила commit і відправила його в remote, а потім помітила, що він опинився не в тій branch. На реальному Git-сценарії показую, як зберегти commit, перенести його у правильну гілку, повернути помилкову branch до потрібного стану та коли для цього справді потрібен --force-with-lease.

228