git: Bagaimana saya bisa mendapatkan versi terbaru dari kode saya?

I'm menggunakan Git 1.7.4.1. Saya ingin mendapatkan versi terbaru dari kode saya dari repositori, tapi aku'm mendapatkan kesalahan ...

$ 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'.

I've menghapus salinan lokal file alat ini mengeluh tentang, tapi saya masih mendapatkan kesalahan. Bagaimana cara memeriksa versi terbaru dari remote repo? - Dave

Mengomentari pertanyaan (1)

Jika anda don't peduli tentang setiap perubahan lokal (termasuk tidak terlacak atau file yang dihasilkan atau subrepositories yang hanya terjadi di sini) dan hanya ingin copy dari repo:

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

Sekali lagi, ini akan nuke setiap perubahan yang anda've buatan lokal jadi gunakan dengan hati-hati. Berpikir tentang rm -Rf ketika melakukan hal ini.

Komentar (12)

Kasus 1: tidak peduli tentang perubahan lokal

  • Solusi 1: Mendapatkan terbaru kode dan me-reset kode

git fetch asal git reset --hard asal/[tag/cabang/commit-id biasanya: master]

  • Solusi 2: Menghapus folder dan clone lagi :D

rm -rf [project_folder] git clone [remote_repo]

Kasus 2: Peduli tentang perubahan lokal

  • Solusi 1: tidak ada konflik dengan baru-versi online

git fetch asal git status

akan melaporkan sesuatu seperti:

Anda branch belakang 'asal/master' oleh 1 komit, dan dapat cepat diteruskan.

Kemudian mendapatkan versi terbaru

git pull

  • Solusi 2: konflik dengan baru-versi online

git fetch asal git status

akan melaporkan sesuatu seperti:

kesalahan: perubahan lokal Anda ke file-file berikut akan ditimpa oleh gabungan: file_name Silakan, melakukan perubahan atau simpanan mereka sebelum anda dapat bergabung. Batal

Melakukan perubahan lokal anda

git add . git commit-m 'Melakukan msg'

Cobalah untuk mendapatkan perubahan (akan gagal)

git pull

akan melaporkan sesuatu seperti:

Menarik adalah tidak mungkin karena anda telah unmerged file. Silakan, memperbaiki mereka dalam bekerja pohon, dan kemudian menggunakan 'git add/rm <File>' sesuai untuk menandai resolusi, atau gunakan 'git commit-a'.

Membuka konflik file dan memperbaiki konflik. Maka:

git add . git commit-m 'Memperbaiki konflik' git pull

akan melaporkan sesuatu seperti:

Sudah up-to-date.

Info lebih lanjut: https://stackoverflow.com/questions/9529078/how-do-i-used-git-reset-hard-head-to-revert-to-a-previous-commit

Komentar (7)

Saya menduga bahwa apa yang's terjadi mungkin bahwa anda've menghapus file yang dimodifikasi (karena anda tidak't peduli tentang perubahan-perubahan) dan sekarang git adalah mengambil penghapusan menjadi berubah.

Berikut adalah pendekatan yang bergerak perubahan anda keluar dari pekerjaan anda copy dan ke "stash" (dpt harus benar-benar berubah bahwa anda membutuhkan mereka lagi), sehingga anda kemudian dapat menarik terbaru perubahan yang turun dari hulu.

git stash  
git pull

Jika anda pernah ingin mengambil file anda (potensi konflik dengan hulu perubahan dan semua), menjalankan git simpanan apply` untuk tetap perubahan-perubahan tersebut di atas kode anda. Dengan cara itu, anda memiliki sebuah "undo" pendekatan.

Komentar (1)

Anda harus menggabungkan file-file anda terlebih dahulu. Melakukan git status untuk melihat apa saja berkas yang harus digabung (berarti anda perlu untuk menyelesaikan konflik pertama). Setelah ini dilakukan, lakukan git add file_merged dan melakukan menarik lagi.

Komentar (1)

coba kode ini

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

Jika anda hanya ingin membuang segala sesuatu di folder kerja anda (misalnya hasil dari gagal atau dibatalkan merge) dan kembali ke bersih commit sebelumnya, melakukan git reset --hard.

Komentar (0)

Saya mengerti anda ingin sampah perubahan lokal anda dan tarik ke bawah apa's pada remote anda?

Jika semuanya gagal, dan jika anda're (cukup dimengerti) takut "reset", hal yang paling sederhana adalah hanya untuk mengkloning asal ke sebuah direktori baru dan tempat sampah lama.

Komentar (0)

Dengan Menjalankan perintah ini anda'll dapatkan terbaru tag yang biasanya adalah versi dari proyek anda:

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

Bagi saya, itu terdengar seperti anda're memiliki inti.autocrlf-masalah. inti.autocrlf=benar dapat memberikan masalah seperti yang anda jelaskan pada Windows jika CRLF baris diperiksa ke dalam repositori. Cobalah menonaktifkan core.autocrlf untuk repositori, dan melakukan hard-reset.

Komentar (0)

Jika anda menggunakan Git GUI, pertama fetch kemudian bergabung.

Ambil melalui Remote menu >> Fetch >> Asal. Bergabung melalui Penggabungan menu >> Menggabungkan Lokal.

Dialog berikut akan muncul.

Pilih cabang pelacakan radio button (juga secara default dipilih), meninggalkan kuning kotak kosong dan tekan menggabungkan dan ini harus memperbarui file.

Saya sudah dikembalikan beberapa perubahan lokal sebelum melakukan langkah ini karena aku ingin membuang orang-orang yang lagian jadi saya don't harus menghilangkan via merge nanti.

Komentar (0)