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

Comentarii la întrebare (1)

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:

git reset --hard HEAD
git clean -xffd
git pull

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.

Comentarii (12)

Cazul 1: nu-mi pasă de modificări locale

  • Soluție 1: Obține cele mai recente cod și a reseta codul

git fetch origine git reset ... e greu de origine/[tag/sucursala/a comis-id-ul de obicei: master]

  • Soluția 2: Ștergeți folderul și clona din nou :D

rm-rf [project_folder] git clona [remote_repo]

Cazul 2: Pasă de modificări locale

  • Soluție 1: nu există conflicte cu noua-versiune on-line

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

  • Soluția 2: conflicte cu noua-versiune on-line

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

Comentarii (7)

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.

git stash  
git pull

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.

Comentarii (1)

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, facegit add file_merged` și să-ți faci "trage" din nou.

Comentarii (1)

incearca codul asta

cd /go/to/path
git pull origin master
Comentarii (1)

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.

Comentarii (0)

Î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.

Comentarii (0)

De a rula această comandă vă'll a obține cea mai recentă etichetă care, de obicei, este versiunea de proiect:

git describe --abbrev=0 --tags
Comentarii (0)

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.

Comentarii (0)

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.

Comentarii (0)