Mamy repozytorium Gita z ponad 400 zatwierdzeniami, z których pierwsze kilkadziesiąt to wiele prób i błędów. Chcemy uporządkować te zatwierdzenia, zgniatając wiele w jednym zatwierdzeniu. Oczywiście git-rebase wydaje się właściwą drogą. Mój problem polega na tym, że kończy się to konfliktami scalania, a te konflikty nie są łatwe do rozwiązania. …
Kiedy biegam: git status Widzę to: rebase in progress; onto 9c168a5 You are currently rebasing branch 'master' on '9c168a5'. (all conflicts fixed: run "git rebase --continue") nothing to commit, working directory clean Kiedy robię: ls `git rev-parse --git-dir` | grep rebase || echo no rebase Widzę: rebase-apply Nie mogę zobowiązać …
W porządku. Jeśli jestem na gałęzi (powiedzmy working) i chcę scalić zmiany z innej gałęzi (powiedzmy master), uruchamiam polecenie git-merge masterbędąc w workinggałęzi, a zmiany są scalane bez ponownego bazowania historii. Jeśli uruchomię git-rebase master, zmiany w masterprogramie zostaną przeniesione do górnej części mojej workinggałęzi. Ale co, jeśli chcę scalić …
Kiedy robię interaktywną rebase np git rebase -i HEAD~3 otwiera się interaktywny edytor rebase (w moim przypadku vim), aby umożliwić mi edycję zatwierdzeń do rebase pick c843ea2 Set Vim column limit to 80 (OS X) pick fc32eac Add Bash alias for `pbcopy` (OS X) .... Jeśli teraz zdecyduję, że chcę …
Próbuję zmienić bazę „dev”, aby dogonić gałąź „master”. $ git checkout dev $ git rebase master First, rewinding head to replay your work on top of it... Applying: Corrected compilation problems that came from conversion from SVN. Using index info to reconstruct a base tree... M src/com/.... <stdin>:125: trailing whitespace. …
Używamy git i mamy gałąź master i gałęzie deweloperskie. Muszę dodać nową funkcję, a następnie zmienić bazę zatwierdzeń na master, a następnie wypchnąć master na serwer CI. Problem polega na tym, że jeśli mam konflikty podczas rebase, nie mogę wysłać do mojej zdalnej gałęzi programisty (na Github) po zakończeniu rebase, …
Kiedyś git inittworzyłem nowe repozytorium, a następnie wykonałem trzy zatwierdzenia. Teraz chcę zmienić bazę, aby wrócić i poprawić moje pierwsze zatwierdzenie, ale jeśli to zrobię git rebase -i HEAD~3, narzeka! Jeśli spróbuję tego samego, HEAD~2to trochę działa, ale pozwala mi tylko zmienić kolejność dwóch ostatnich zatwierdzeń. Jak mam się odnieść …
Powiedzmy, że origin/masterma zatwierdzenie, A--B--Ca mój local/masterma zatwierdzenie A--B--D. Co się stanie, jeśli użyję git pull --rebase? Co się stanie, jeśli użyję git pull --ff-only? Czy jest jakaś różnica w wynikowym drzewie zatwierdzeń?
Oto moja transkrypcja z próby połączenia mojej gałęzi bugfix z moją główną gałęzią w ramach przygotowań do wypchnięcia jej w górę. Od czasu utworzenia gałęzi bugfix nastąpiło kilka zmian wprowadzonych przez autorów do mastera, który teraz odmawia ponownego bazowania. Pliki, w których zgłasza błędy, nie są różnicowane po otwarciu. żadne …
Jako użytkownik Gita regularnie spotykam się z sytuacją, w której muszę przerobić jedno lub więcej zatwierdzeń w sposób, który nie pasuje do --amendlub rebase -iz zatwierdzeniami poprawek. Zwykle zrobiłbym coś takiego git reset HEAD~1 # hack, fix, hack git commit -a # argh .. do I need to retype my …
Zreorganizowałem zatwierdzenia w gałęzi, zanim zostanie ona upubliczniona, powodując pomieszanie znaczników czasu zatwierdzeń. Wolałbym, żeby wszystkie były dzisiaj, a pomiędzy nimi są tylko sekundy. Oczywiście te znaczniki czasu również nie będą poprawne, ale ponieważ jest to czas, w którym sprawy trafiają do publicznej wiadomości, wolę to od skomplikowanej historii, jeśli …
Moja historia Gita wygląda tak: Chciałbym zmiażdżyć fioletowe commity w jedną. Nie chcę ich już nigdy widzieć w moim dzienniku zmian. Próbowałem zrobić git rebase -i 1, ale mimo że 1znajduje się na niebieskiej gałęzi (por. Zdjęcie), nadal widzę każde zatwierdzenie na mojej fioletowej gałęzi. Jak mogę całkowicie usunąć fioletową …
Na przykład w następującej gałęzi głównej muszę wyrzucić do kosza tylko zatwierdzenie af5c7bf16e6f04321f966b4231371b21475bc4da, które jest drugim z powodu poprzedniej rebase: commit 60b413512e616997c8b929012cf9ca56bf5c9113 Author: Luca G. Soave <luca.soave@gmail.com> Date: Tue Apr 12 23:50:15 2011 +0200 add generic config/initializers/omniauth.example.rb commit af5c7bf16e6f04321f966b4231371b21475bc4da Author: Luca G. Soave <luca.soave@gmail.com> Date: Fri Apr 22 00:15:50 2011 …
Próbując osiągnąć nirwanę git, spędzam dzień na uczeniu się, jak wykorzystać rebase w sytuacjach, w których obecnie się łączę. Podczas przechodzenia przez coś, co uważam za przepływ git 101 (który przeliteruję poniżej), muszę push --forcecofać zmiany do źródła. Nie jestem jedyny - wiem, że to teren zakryty (patrz 1 , …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.