Przepraszam za słabą jakość samego pytania, ale natrafiam na przypadek, w którym jedyny znany mi język koliduje z istniejącym żargonem. Proszę wskazać mi właściwy żargon, ponieważ podejrzewam, że mógłbym szukać tej odpowiedzi, gdybym ją znał.
Chcę utworzyć „poprawkę” za pomocą git, która zawiera pliki niezbędne do zmiany z jednej wersji projektu na inną. Nie chcę rzeczywistej łatki GIT, która aktualizuje mastera na podstawie danych wyjściowych gałęzi, ale raczej coś podobnego do zipa zawierającego wszystkie pliki zmienione od czasu danej aktualizacji.
Sytuacja jest taka, że nie chcę po prostu wrzucać na serwer całej zawartości zaktualizowanej wersji (jest dużo plików, które nie zostały zmienione), ale jednocześnie nie chcę przechodzić przez i ręcznie wybierz około 300 plików.
Wiem, że GIT ma pewnego rodzaju opcję wdrażania FTP, ale usługa, z której korzystamy, tego nie zapewnia, więc o ile wiem, czego potrzebuję, jest czymś podobnym do komercyjnej poprawki delta, która jest rozpowszechniana za każdym razem, gdy firma aktualizuje produkt. Uważam, że jest bardzo mało prawdopodobne, aby GIT nie zapewniał COŚ podobnego do tej funkcjonalności, ale nie wiem, gdzie/jak to znaleźć.
Edycja: Ponieważ z jednej odpowiedzi wygląda na to, że może to być istotne, dotyczy to aplikacji internetowej, więc mówię o śledzeniu plików css, php, html i js, prawdopodobnie z wrzuconą grafiką, mimo że źródło systemy sterowania nie działają dobrze ze sztuką.
3 odpowiedzi
OK, jeśli powiemy o rozwiązaniu Windows zorientowanym na GUI wokół GIT, będę mógł zobaczyć dodatkową egzotyczną perwersję (Git-fanboys, usiądź!!!):
TortoiseHG (1- Windows 2 - GUI 3 - dla Mercurial SCM) z rozszerzeniem hg-git
Dodaj repozytorium git do THG, użyj menu kontekstowego w panelu zestawów zmian, Eksportuj - Archiwum - "Tylko pliki..."
Oba zrzuty ekranu pochodzą z mojego repozytorium git, w pełni obsługiwanego przez TortoiseHG
Jeśli przesyłanie diff do xargs jest dla ciebie za trudne, możesz spróbować
- git-deploy
- git-ftp
- połącz
git archive
igit diff
w formularzugit archive -o update.zip HEAD $(git diff --name-only HEAD^)
Ron, mam nadzieję, że to pomoże:
git diff --name-only HEAD HEAD^
CCodeClasses.cpp
CCodeClasses.h
CTypeClasses.cpp
CTypeClasses.h
CTypeResolver.cpp
CTypeResolver.h
DFSearch.cpp
DFSearch.h
Util.cpp
Util.h
x32wrapper.cpp
x32wrapper.h
mfcreplacements.h
Gdzie możesz zastąpić HEAD identyfikatorem zatwierdzenia, który chcesz uzyskać, aby uzyskać listę zmienionych plików, a następnie przesłać ją do polecenia tar lub czegoś takiego. Chciałbym wiedzieć, czy jest na to lepszy sposób, ponieważ od czasu do czasu muszę zrobić to samo.
Podobne pytania
Nowe pytania
git
Git to rozproszony system kontroli wersji typu open source (DVCS). Użyj tego tagu w przypadku pytań związanych z używaniem i przepływami pracy Git. NIE UŻYWAJ tagu [github] w przypadku problemów związanych z Git tylko dlatego, że repozytorium jest hostowane na GitHub. Nie używaj również tego tagu w przypadku ogólnych pytań programistycznych, które dotyczą repozytorium Git.