2015-06-03 17 views
23

Używam git jako lokalnego systemu kontroli źródła głównie do śledzenia historii i różnic. Nadal chcę użyć rebase do wykonania fixup/squash na commitach WIP, które będę tworzył okresowo. Kiedy próbuję zrobić git rebase -i jednak uzyskać następujące:Jak korzystać z interaktywnego repozytorium Git z repozytorium lokalnego (bez zdalnego/pochodzenia)?

There is no tracking information for the current branch. 
Please specify which branch you want to rebase against. 
See git-rebase(1) for details 

    git rebase <branch> 

If you wish to set tracking information for this branch you can do so with: 

    git branch --set-upstream-to=<remote>/<branch> MyBranch 

Wydaje się, że git nie oczekiwać, aby korzystać z interaktywnego rebase upstream bez pilota? Jak mogę to zrobić?

Odpowiedz

19

git rebase -i w skrócie, bez określenia docelowej gałęzi, sprawi, że git przyjmie, że próbujesz dokonać ponownej bazy danych względem odległej gałęzi śledzonej przez twój oddział. Właśnie dlatego w komunikacie o błędzie wspomniano o pilotach.

Kiedy podasz cel, git będzie rebase przeciwko tej popełnienia-owski:

git rebase -i <commit-ish> 
+1

Możesz śledzić każdy oddział, lokalnym lub zdalnym. – jthill

+0

Tak - próbowałem edytować odpowiedź, aby to podkreślić, ponieważ zasadniczo zmieniłem ponownie moją oryginalną odpowiedź na to samo. 'HEAD ~ 3' tutaj nie jest istotną częścią składni, jest to tylko jeden (dowolny) możliwy' commit' refs. – mcw0933

+1

'HEAD ~ 3' jest tam tylko dlatego, że twoja pierwotna odpowiedź ma na celu zmianę bazy na' HEAD ~ 3' i przechodzenie przez niepotrzebne kroki, aby ją osiągnąć. Mogę umieścić commit-owski, jeśli wolisz ... –

7

Tak w skrócie - jeśli masz 3 miejscowe zobowiązuje i teraz chcesz interaktywnie rebase/squash/etc im:

git rebase -i HEAD~3 

(Patrz wyjaśnienia Sebastien głównej!)

+0

Yup - dzięki @MikeW. Jest to konkretny przykład tego, czego można użyć do parametru "commit-ish" do git. Dla każdego, kto nie zna pojęcia "commit-ish" ... sprawdź tę inną odpowiedź SO: http://stackoverflow.com/questions/23303549/what-are-commit-ish-and-tree-ish- in-git – mcw0933

Powiązane problemy