Kaip išvardyti tik tuos failų pavadinimus, kurie pasikeitė tarp dviejų pakeitimų?

Aš turiu daugybę pakeitimų, esančių saugykloje. Noriu matyti failų, pakeistų tarp dviejų pakeitimų, sąrašą - iš SHA1 į SHA2.

Kokią komandą turėčiau naudoti?

Sprendimas
git diff --name-only SHA1 SHA2

kur reikia nurodyti tik tiek SHA, kad būtų galima identifikuoti pakeitimus. Taip pat galite atlikti, pvz.

git diff --name-only HEAD~10 HEAD~5

norėdami pamatyti skirtumus tarp dešimtosios naujausios ir penktosios (ar pan.) redakcijos.

Komentarai (12)
git diff --name-status [SHA1 [SHA2]]

yra kaip ir --name-only, tik gausite paprastą priešdėlį, nurodantį, kas atsitiko su failu (pakeistas, ištrintas, pridėtas...)

git log --name-status --oneline [SHA1..SHA2]

yra panašus, tačiau po pranešimo apie pakeitimą nurodomi pakeitimai, todėl galite matyti, kada failas buvo pakeistas.

  • Jei jus domina, kas nutiko tam tikriems failams ar aplankams, prie git log versijos galite pridėti -- [...].

  • jei norite pamatyti, kas nutiko vienai perdavimui, pavadinkite jį SHA1, tada atlikite git log --name-status --oneline [SHA1^..SHA1]

Failo būsenos žymės:
M modified - failas buvo pakeistas C copy-edit - Failas nukopijuotas ir pakeistas R rename-edit - failas buvo pervadintas ir pakeistas A added - failas buvo pridėtas D deleted - failas ištrintas U unmerged - failas turi konfliktų po sujungimo

Komentarai (4)

Tačiau norint pamatyti failus, pakeistus tarp jūsų šakos ir jos bendro protėvio su kita šaka (pvz., origin/master):

git diff --name-only `git merge-base origin/master HEAD`
Komentarai (5)