Jestem na oddziale feature-x
wykonuję jakąś pracę, gdy nagle napotkam problem, który powinien zostać naprawiony w innej gałęzi, hotfix
.Zatwierdź jeden plik do innego oddziału
Chcę utworzyć zatwierdzenie z tą zmianą, ale w gałęzi hotfix
.
Od this question Rozumiem, że standardowa procedura byłaby
# On branch feature-x
git stash
git checkout hotfix
git stash pop
git add -A
git commit -m "Fixed issue #562"
To będzie działać, jeśli nie mają wiele zmian na oddziale feature-x
już w toku, które rzucają konflikt z branży hotfix
. Chcę uniknąć konieczności rozwiązywania niepotrzebnych konfliktów.
Aby tego uniknąć, pomyślałem, że mogę wyodrębnić pojedynczy plik ze schowka, jak to odnotowano na this answer. Więc procedura będzie:
# On branch feature-x
git stash
git checkout hotfix
git checkout [email protected]{0} -- <src/buggyfile.xxx>
git add -A
git commit -m "Fixed issue #562"
A potem muszę wrócić do feature-x
git checkout feature-x
git stash pop
Podczas there's a way do przynieść plików z innego oddziału bezpośrednio, chcę wiedzieć, czy istnieje sposób, aby wyślij pliki do innego oddziału, bez tych wszystkich kłopotów. Faktyczna modyfikacja to tylko kilka znaków.
Jeśli przez „bez całego tego zamieszania” masz na myśli „bez sprawdzania' 'hotfix' a później znowu funkcje x'”, to pytanie jest duplikatem [Commit plik do innego Branch Without Checkout] (http://stackoverflow.com/questions/7933044/commit-a-file-to-a-different-branch-without-checkout). (Znajdziesz tam także kilka interesujących odpowiedzi, niezależnie od tego, czy są zadowalające, nie wiem.) –
Prawdopodobny duplikat [Zatwierdzenie pliku do innego oddziału bez realizacji transakcji] (http://stackoverflow.com/questions/7933044/ commit-a-file-to-a-branch-without-checkout) –
Przepraszam za niewyraźny język. Bardziej odwoływałem się do mniej poleceń (bez udziału aliasu). – Veehmot