2013-03-26 12 views
6

Podczas pracy nad gałęzią specyficzną dla funkcji (z gałęzi "rozwój"), podjąłem niewłaściwe podejście (kilka razy: /) i zasadniczo chcę usunąć wszystkie moje zobowiązania w tej branży przed moim bieżącym zatwierdzeniem.Jak interpretować "usunięte przez nas" po git rebase interactive

To, co robiłem wcześniej w tego typu sytuacjach, to zrobić git rebase -i development i usunąć wszystkie zatwierdzenia przed tym, które chcę zachować (najbardziej aktualne), a następnie wykonać polecenie git push, aby zaktualizować zdalne ponowne wywołanie zawierać tylko moje ostatnie złote zatwierdzenie.

Po wykonaniu tych czynności, gdy nadszedł czas, aby zatwierdzić zmiany dla tego zatwierdzenia rebase, wygląda na to, że git reaguje nieco dziwnie na moją prośbę. Jest kilka plików, które mówią:

both modified:  app/helpers/statistics_helper.rb 
deleted by us:  app/models/referrals/chart.rb 
deleted by us:  app/views/statistics/_referrals.html.haml 
deleted by us:  app/views/statistics/_referrals2.html.haml 
deleted by us:  app/views/statistics/_referrals3.html.haml 
Nie wiem, jak odpowiedzieć na to. jeśli I git add pliki, które są poprzedzone przez "usunięte przez nas", usunie te pliki?

Odpowiedz

1

Usuwając zatwierdzenie, wygląda tak, jakby nigdy się nie wydarzyły. Więc jeśli dodałeś jakieś pliki w poprzednich zatwierdzeniach, które zostały właśnie usunięte, te pliki również zostaną usunięte. To prawdopodobnie podczas oglądania tej wiadomości. Prawdopodobnie usunie również zmiany w istniejących wcześniej plikach, które były częścią wyniku końcowego. Myślę, że używasz niewłaściwie bazy danych.

Jeśli na końcu ostatniego zatwierdzenia wszystko jest w stanie, w którym ma być, powinieneś po prostu zgnieść swoje ostatnie zatwierdzenie zamiast tego. Możesz to zrobić na kilka sposobów. Używanie rebase -i, jak to robiłeś i określanie s lub zamiast wszystkich linii zatwierdzania, z wyjątkiem pierwszego, spowoduje to.

Drugi sposób to zrobić byłoby:

git reset --soft HEAD~<N> 
git commit 

Gdzie <N> jest liczba zobowiązuje kopię trzeba zgnieść.