Sprawdź, czy scenariusz jest prawidłowy. Ty masz...
- niektóre niezatwierdzone zmiany w katalogu roboczym, który raczej nie jeszcze popełnienia,
- niektóre unpushed zmian w lokalnym repozytorium,
... ale twój nieznośny szef baterie się na z powrotem i mówi: "Hej, kiedy zamierzasz przeforsować tę zmianę, o której wspomniałeś na spotkaniu z personelem?" Wszyscy czekamy na to! " Stoi tam i czeka, aż to zrobisz, więc jak szybko i łatwo wyciągniesz go z włosów?
To jest łatwe. Chcesz używać urządzenia MQ extension. Jest dołączony do standardowej instalacji Mercurial.
Najpierw dodaj go do swojego pliku .hgrc
.
[extensions]
mq =
Aby schować swoje niezatwierdzone zmiany we wpisie kolejki łata, to zrobić:
$ hg qnew stash
$ hg qpop
Teraz push starsze zobowiązuje, więc twój szef będzie wysiąść plecach.
$ hg push
Wreszcie przywrócić katalog roboczy tak:
$ hg qpush
W tym momencie masz jeszcze patcha nagrany w kolejce plastra. Jest teraz oznaczony jako "zastosowany". Zakończyć edycję kodu, a następnie zrobić to zaktualizować patch ze swoimi gotowych edycji i popełnić wiadomość dziennika, a następnie sfinalizować poprawkę do changeset:
$ hg qrefresh -m"Commit message goes here."
$ hg qfinish stash
To podstawy, ale jest dużo więcej można zrobić jeśli chcesz się naprawdę spodobać. Rozszerzenie MQ przypomina zupełnie nowy świat kontroli wersji ukryty pod repozytorium Mercurial. To jak skrytka Gita, ale bardziej elastyczna i mało dezorientująca.
Ucz się, mutuj, ewoluuj!
posiadanie oddzielnego systemu kopii zapasowych może wydawać się nieco kłopotliwe. Jeśli tylko Git lub Mercurial mogą pozwolić repozytorowi na repozytorium z powodu niezatwierdzonego pushu. Coś takiego jak 'git push --uncommitted ssh: // somewhat/peter/tmp' –
@Jian, znowu nie są to programy do tworzenia kopii zapasowych. Zamierzeniem jest zrobienie jednego lub więcej znaczących commitów, które następnie udostępniasz. Nie ma sensu mieć repozytorium zawierające zarówno zatwierdzenia, jak i prace w toku. –
"Oddzielny system kopii zapasowych" może być również repozytorium. Tak właśnie działam: koduję w moim osobistym repozytorium (gdzie często się angażuję) i mam centralne repozytorium, aby dzielić się swoją pracą z moimi kolegami (gdzie naciskam, ale rzadziej). Aby wykonać kopię zapasową pracy wykonywanej przeze mnie w repozytorium osobistym, mam trzecie repozytorium: haczyk w moim repozytorium osobistym wykonuje każde ponowne zatwierdzenie tego repozytorium zapasowego. W ten sposób operacja tworzenia kopii zapasowej jest całkowicie przezroczysta (kara czasowa jest znikoma). – barjak