2010-10-19 10 views
25

na przykład mogę zatwierdzić niektóre pliki, następnego dnia kolejne pliki itd., Po kilku dniach chcę zobaczyć wszystkie moje zatwierdzone pliki i zobaczyć różnicę ze zdalnym repo. Uwaga: Nie pcham niczego. chcę tylko sprawdzić, czy jeśli coś popchnę, to przejdzie do zdalnego repo.jak wyświetlić zatwierdzone pliki, które jeszcze nie zostały wciśnięte, na przykład

+3

Git nie przesyła "plików". Pcha "commits". –

+0

jakie polecenie zostanie użyte do usunięcia lokalnych zatwierdzeń, które nie zostały wysłane? –

+0

git checkout . Spowoduje to przywrócenie pliku do pierwotnego stanu. – tom

Odpowiedz

11

Tutaj znajdziesz odpowiedź.

Using Git how do I find changes between local and remote

Sourced from the above answer: 
Use "git log origin..HEAD" 

Use "git fetch" followed by "git log HEAD..origin". You can cherry-pick individual commits using the listed commit ids. 

The above assumes, of course, that "origin" is the name of your remote tracking branch (which it is if you've used clone with default options). 
5

Komenda push posiada opcję -n/--dry-run który obliczy, co musi zostać przesunięta, ale nie faktycznie zrobić. Czy to Ci pasuje?

+0

, ale skąd wiemy, jakie są zmiany, które nastąpiły w wyniku tego pchnięcia? –

+0

Pokaże ci, jakie wszystkie zatwierdzenia zostaną pchnięte, a następnie możesz zrobić różnicę git między główkami relevants, aby dowiedzieć się, co się zmieniło. –

+0

po uruchomieniu 'git status'; wyświetla moją gałąź przed 2 zatwierdzeniami wraz z lokalnymi zmianami w plikach, które później wyślę. więc po prostu robię 'git push -n' i uruchamiam' git diff', ale pokazuje tylko zmiany, które są w lokalnym. –

5

git diff HEAD origin/master

origin Gdzie jest pilot zdalnego repozytorium i master jest domyślnym oddział, gdzie można wcisnąć. Wykonaj także git fetch przed diff, aby nie odróżniać się od nieświeżego pochodzenia/wzorca.

P.S. Jestem również nowy w git, więc w przypadku, gdy powyższe jest błędne, proszę poprawić.

+1

Chciałbym podkreślić, że twoja składnia pokaże "+" dla tego, co było w pilocie i "-" dla tego, co jest w lokalnym.To wydaje mi się zacofane (kwestia gustu) - chcę "+" pokazać to, co popełniłem na miejscu, a "-" pokazać, co jest na pilocie. Używam: git diff origin/master HEAD – dnuttle

23

Zakładając, że jesteś na lokalnym oddziale master, który śledzi origin/master:

git diff --stat origin/master.. 
2

nie jestem wielki z Git, ale to, co robię. To niekoniecznie musi się równać ze zdalnym repo, ale możesz zmodyfikować git diff z odpowiednim hash zatwierdzenia z pilota.

Say dokonane jeden zobowiązać, że nie popchnął ...

najpierw znaleźć dwie ostatnie rewizje ...

git log -2 

To pokazuje ostatni popełnić pierwszy, a schodzi stamtąd. ..

[jason:~/git/my_project] git log -2 
commit ea7937edc8b10 
Author: xyz 
Date: Wed Jul 27 14:06:41 2016 -0500 

    Made a change in July 

commit 52f9bf7956f0 
Author: xyz 
Date: Tue Jun 14 14:29:52 2016 -0500 

    Made a change in June 

teraz wystarczy użyć dwóch popełnić hashe (co skrótowo), aby uruchomić Diff:

git diff 52f9bf7956f0 ea7937edc8b10 
Powiązane problemy