Git - redimensionarea proprietății fișierului recursiv

Trebuie să cred că cineva a întâlnit acest lucru înainte și poate sperăm să arunce o lumină asupra problemei. Compania noastra a achizitionat un alt care foloseste, de asemenea, Git. În timpul procesului de migrare, conturile de utilizator vor fi redenumite utilizând un nou format. Problema este că, atunci când mutăm depozitul Git, conturile la care se face referire în cadrul depozitului nu se vor potrivi până la noile ID-uri de utilizator.

Există o modalitate de a remapa atât fișierele curente, cât și istoricul repozitorului la ID-urile modificate atunci când mutați magazia Git pe serverele mele? În prezent, singura metodă pe care am găsit-o este folosirea atunci când remapă utilizatorii atunci când migrează de la svn la git.

1

2 răspunsuri

Aș fi descurajat cu tărie să încerc să modific numele utilizatorilor pentru comitetele istorice. Va trebui să rescrieți întregul arbore al istoriei, provocând probleme pentru oricine a clonat vreodată depozitul în trecut (nimic nu se va îmbina fără prea multă muncă).

În schimb, acceptați trecutul așa cum este, apelați pe toată lumea să utilizeze numele de utilizator nou format pentru o lucrare viitoare și să vă deplasați înainte.

0
adăugat
Mulțumesc pentru avertisment. Sunt cu totul mai puțină durere, așa că mă voi abține cu o abordare a mâinilor în ceea ce privește modificarea istoricului depozitului.
adăugat autor Jon Erickson, sursa

Se pare că vorbești despre proprietatea fișierelor. Git nu urmărește proprietatea asupra fișierelor. Singurul bit de mod pe care îl urmărește este bitul executabil. Fișierele sunt create în proprietatea oricărui utilizator care creează arborele de lucru.

Dacă, de fapt, vorbiți despre informațiile autorului/angajatorului despre fiecare comitet, este o chestiune diferită. După cum spune Greg, te-aș descuraja să nu încerci să rescrieți aceste informații, deoarece aceasta va rescrie întreaga istorie a depozitului. Dacă într-adevăr doriți să faceți acest lucru, puteți utiliza o comandă git filter-branch cuplată cu scriptul - env-filter corespunzător pentru a face orice cartografiere pe care o doriți autor/informații despre comitere.

0
adăugat