Czy istnieje funkcja w git, gdzie mogę porównać moje pliki lokalne z kontrolą kodu źródłowego git przed wprowadzeniem zmian?Git Porównaj pliki przed zatwierdzeniem
Odpowiedz
Oczywiście, że możesz zrobić.
Używając polecenia
git diff
bez żadnych argumentów: porówna każdy zmodyfikowane pliki w systemie plików z plików znajdujących się w bieżącym zameldowaliśmy się oddział (lub) tag.Porównuje wszystkie zmodyfikowane pliki w systemie plików z plikami w określonym znaczniku branch (lub).
Porównuje określony plik lub pliki w folderze w systemie plików z obecnie wyewidencjonowanym znacznikiem oddziału (lub).
Używanie
git diff <tag1(or)branch1 name> <tag2(or)branch2 name>
: spowoduje porównanie wszystkich zmodyfikowanych plików między dwoma gałęziami/znacznikami.
Istnieje wiele opcji, można przejść do polecenia „git diff” do formatowania danych wyjściowych.Tutaj mam wymienione kilka:
git diff --name-only
: Pokaż tylko nazwy zmienionych plików, a nie treści.git diff --name-status
: Pokaż tylko nazwy i status zmienionych plików.git diff --cached (or --staged)
: porównuje tylko pliki, które są wystawiane/indeksowane. Aby uzyskać więcej informacji, należy uzyskać
: wykonać git diff --help
w bicie git.
FYI: git diff
wygeneruje dane wyjściowe w wierszu poleceń. Jeśli chcesz zobaczyć wyniki w niektórych narzędziach wizualnych, użyj git difftool
.
Używanie git difftool
: możesz skonfigurować git, aby używał narzędzia porównywania/scalania do porównywania plików. Zamówienie link: use Winmerge inside of Git to file diff
można przejść wszystkie git diff
argumenty i opcje git difftool
również.
dzięki karthik! to jest przydatne! :RE – mallows98
Ponieważ zatwierdzenia można łatwo zmienić/zmienić przed ich wysłaniem, łatwiej jest je zatwierdzić, a następnie zalogować, aby zobaczyć, co zmieniłem.
W przypadku, gdy nie jest to, co ja spodziewałem się, zmienia, reset rebase -i, etc ...
Lubię używać
git status
To pokazuje, jakie pliki zostały zmienione i co śledzisz. Następnie można użyć
git diff
lub więcej GUI przyjazne
gitk
Aby zobaczyć diff.
Wolę korzystać z tej metody.
Skrypt do porównywania
#!/bin/sh
( # execute in a subshell so you can continue
# working in the current shell
set -o xtrace # bash setting that echos each command before it's executed
> /tmp/auto_bcompare_log # truncate existing log file
BCOMP_PATH=/usr/bin/bcompare
BRANCH="$1" # get branch argument from command line
TEMPDIR=`mktemp -d` # get a temp directory
CWD=`pwd` # remember the current directory
git clone $CWD $TEMPDIR
cd $TEMPDIR
git checkout $BRANCH
cd $CWD
$BCOMP_PATH $CWD $TEMPDIR
rm -rf $TEMPDIR
) >> /tmp/auto_bcompare_log 2>&1 < /dev/null & # background and redirect
# stdout/stderr/stdin
Powyższy skrypt jest zdecydowanie _nie_ napisany przeze mnie. Wziąłem go z sieci, ale nie jestem pewien źródeł. Zapisz to w repozycie jako compare.sh. Upewnij się, że podałeś poprawną ścieżkę do pliku bcompare.
Aby porównać przed zatwierdzeniem.
./compare.sh <branch_you_want_to_compare>
Co ten skrypt w zasadzie nie jest to, że to kasach gałąź, że dajesz jako parametr do katalogu temp i otwiera się na porównaniu ze swoim pwd. Dzięki temu możesz przejrzeć zmiany przed zatwierdzeniem. Mam nadzieję, że tego właśnie chcesz.
- 1. Jak przeglądać pliki etapowe przed ich zatwierdzeniem?
- 2. Czy znasz hasło GIT przed zatwierdzeniem?
- 3. git usuń końcowe spacje w nowych plikach przed zatwierdzeniem
- 4. Jak wyświetlić zmiany w pliku przed zatwierdzeniem?
- 5. Git przed zatwierdzeniem hook nie działa w systemie Windows
- 6. Używanie poleceń git przed zatwierdzeniem w kontekście klienta GitHub
- 7. Różnica między zatwierdzeniem git a katalogiem roboczym?
- 8. Porównaj pliki z awk
- 9. Metody oceny przed zatwierdzeniem w Spring Webflow
- 10. Problemy z pierwszym zatwierdzeniem do repozytorium git
- 11. JGit: Odzyskaj tag związany z zatwierdzeniem git.
- 12. SVN - zatwierdzenie przed zatwierdzeniem w celu sprawdzenia formatowania kodu
- 13. Porównaj dwa pliki w UNIX
- 14. Porównaj dwa pliki z Aptana
- 15. Porównaj dwa pliki ignorujące zamówienie
- 16. Jak chronić plik w repozytorium git przed zatwierdzeniem po pierwszym zatwierdzeniu?
- 17. Czy mogę zamknąć wyciągi transakcji przed zatwierdzeniem w Derby (JDBC)?
- 18. Przesyłanie aktualizacji aplikacji do Itunes Connect przed zatwierdzeniem
- 19. Powershell Porównaj pliki tekstowe i pokaż różnice
- 20. porównaj dwa pliki audio. dopasowanie dźwięku
- 21. W Git, wyświetl nazwy oddziałów z nieprzerwanym zatwierdzeniem
- 22. Oddzielne pliki w Git
- 23. git cofnąć usunięte pliki
- 24. InnoSetup - skopiuj pliki przed instalacją
- 25. Jaka jest różnica między "zatwierdzeniem" a "zatwierdzeniem pracy"?
- 26. Podłączyć problem z zatwierdzeniem po zatwierdzeniu
- 27. Jak usunąć git hooks
- 28. Dlaczego jawnie wywołać git zresetować --soft przed resetem git (--mixed)
- 29. Jak „Split” pliki z git
- 30. git: wyświetlaj tylko nowe pliki
Próbujesz porównać swoje lokalne repozytorium git ze zdalnym repozytorium github? –
Tak, podobnie do VS.NET TFS, gdzie można porównać wszystkie zmienione pliki przed ich sprawdzeniem. – mallows98
Możliwe duplikaty [Git: Jak wyświetlić różnicę plików przed zatwierdzeniem] (http://stackoverflow.com/ pytania/10039747/git-how-to-view-file-diff-before-commit) – kenorb