Mai mult
git: Cum fac rost de ultima versiune de codul meu?
Am'm folosind Git 1.7.4.1. Vreau pentru a obține cea mai recentă versiune de cod din depozit, dar nu'm a obține erori ...
$ git pull
….
M selenium/ant/build.properties
….
M selenium/scripts/linux/get_latest_updates.sh
M selenium/scripts/windows/start-selenium.bat
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'.
Am'am eliminat copii locale ale fișierelor instrumentul se plang, dar eu încă obține erori. Cum pot verifica afară mai recentă versiune de la distanță repo? - Dave
186
10
Dacă tu nu't de îngrijire despre orice modificări locale (inclusiv untracked sau fișierele generate sau subrepositories care doar se întâmplă să fie aici) și vreau doar o copie din repo:
Din nou, acest lucru va nuke orice modificări pe care le'am făcut la nivel local, deci utilizați cu atenție. Cred că despre rm-Rf` atunci când faci acest lucru.
Cazul 1: nu-mi pasă de modificări locale
git fetch origine git reset ... e greu de origine/[tag/sucursala/a comis-id-ul de obicei: master]
rm-rf [project_folder] git clona [remote_repo]
Cazul 2: Pasă de modificări locale
git fetch origine starea git
va raporta ceva de genul:
Filiala este în spatele 'origine/master' cu 1 comite, și poate fi derulat rapid.
Apoi a obține cea mai recentă versiune
git pull
git fetch origine starea git
va raporta ceva de genul:
eroare: local modificări la fișierele următoare ar fi suprascrise de îmbinare: nume_fișier Te rog, comite modificările sau ascunde-le înainte de a putea merge. Întreruperea
Comite modificări locale
git add . git commit -m 'Comite msg'
Să încercați să obțineți modificările (va eșua)
git pull
va raporta ceva de genul:
Trage nu este posibil pentru că ai unmerged fișiere. Te rog, le repara, în activitatea de copac, și de a folosi apoi 'git add/rm <fișier>' după caz, pentru a marca rezoluție, sau de a folosi 'git commit -o'.
Deschide conflictul de fișiere și de a rezolva conflictul. Apoi:
git add . git commit -m 'Rezolva conflicte git pull
va raporta ceva de genul:
Deja până-la-data.
Mai multe informatii: https://stackoverflow.com/questions/9529078/how-do-i-used-git-reset-hard-head-to-revert-to-a-previous-commit
Bănuiesc că ceea ce's-a întâmplat ar putea fi faptul că'am șters fișierele modificate (pentru că nu - 't grijă despre aceste modificări) și acum git este de a lua ștergerea să fie o schimbare.
Aici este o abordare care se mișcă modificările din copia de lucru și în "ascunde" (de accesat-ar dovedi de fapt că ai nevoie de ele din nou), astfel încât să puteți apoi trage cele mai recente modificări în jos din partea de amonte.
Dacă vrei să-ți recuperezi fișierele (potențiale conflicte cu schimbările din amonte și toate), rula un
git marfa aplica
pentru a lipi aceste modificări pe partea de sus a codului. În acest fel, ai un "anula" abordare.Trebuie să fuzioneze fișiere în primul rând. Face o
git status pentru a vedea ce sunt fișierele care trebuie să fie îmbinate (înseamnă că aveți nevoie pentru a rezolva conflictele în primul rând). Odată ce se face acest lucru, face
git add file_merged` și să-ți faci "trage" din nou.incearca codul asta
Dacă doriți doar să arunci totul în folderul de lucru (de exemplu, rezultatele unui eșuat sau avortat merge) și a reveni la o curat precedent comis-o, fă-o
git reset ... e greu
.Înțeleg că vrei să-ți arunc modificări locale și trage în jos, ceea ce's de pe telecomandă?
Dacă tot nu, și dacă ai're (normal) frica de "reseta", cel mai simplu lucru este doar pentru a clona originea într-un nou director și gunoi pe cel vechi.
De a rula această comandă vă'll a obține cea mai recentă etichetă care, de obicei, este versiunea de proiect:
Mi se pare ca tine're a fi nevoie de bază.autocrlf-probleme. core.autocrlf=true poate da probleme ca cele pe care le descrie pe Windows dacă CRLF liniile au fost verificate în depozit. Încercați să dezactivați core.autocrlf pentru depozit, și de a efectua un hard-reset.
Dacă sunteți folosind Git GUI, în primul rând aduce apoi merge.
Aduce prin Remote meniu >> Aduce >> Origine. Îmbinare prin Îmbinare meniu >> Îmbinare Locale.
Următoarea casetă de dialog apare.
Selecteaza ramura buton radio (de asemenea, în mod implicit selectat), se lasă galben cutie goală și apăsați fuziona și acest lucru ar trebui să actualizați fișierele.
Am avut deja revenit unele modificări locale înainte de a face acești pași, deoarece am vrut să renunțați la acele oricum, eu nu't trebuie să elimine prin îmbinarea mai târziu.