Anda tidak perlu "mendownloadnya lagi", karena semua riwayat repositori ada secara lokal saat Anda menggunakan Git.
cdhowie
apakah Anda tahu bagaimana mendapatkannya dari lokal?
Charlie Parker
Jawaban:
164
Karena git adalah VCS terdistribusi, repositori lokal Anda berisi semua informasi. Tidak perlu mengunduh; Anda hanya perlu mengekstrak konten yang Anda inginkan dari repo di ujung jari Anda.
Jika Anda belum melakukan penghapusan, cukup periksa file dari komit Anda saat ini:
git checkout HEAD <path>
Jika Anda telah melakukan penghapusan, Anda perlu memeriksa file dari komit yang memilikinya. Agaknya itu akan menjadi komit sebelumnya:
git checkout HEAD^ <path>
tetapi jika nkomit yang lalu, gunakan HEAD~n, atau jalankan gitk, temukan SHA1 dari komit yang sesuai, dan tempelkan.
hanya sebagai komentar sampingan, ini juga berfungsi untuk direktori lengkap, tidak khusus atau spesifik untuk satu file (setidaknya berfungsi ketika saya mencobanya). Thnx btw.
Charlie Parker
5
NB <path>itu wajib, meskipun hanya .titik untuk dir saat ini. Tetapi "cabang" ( HEADpada contoh di atas) adalah opsional. Seperti kebanyakan perintah Git, baik keluaran maupun bantuannya tidak membantu.
MarkHu
39
git checkout filename
git reset --hard mungkin bisa melakukan triknya juga
memperingatkan tho dalam menggunakan git reset --hardmetode karena itu akan mengembalikan seluruh pohon kembali ke lokasi w / e Anda meletakkan HEAD / HEAD ^ / HEAD ~ n dan itu akan melakukannya tanpa prasangka dan berpotensi kehilangan banyak komitmen ...
g19fanatic
nama file git checkout adalah jawaban untuk saya :)
Ruub
nama file git checkout hanya membuat file kosong
mrek
ditempatkan di folder yang diinginkan dan git checkount .berhasil seperti pesona!
hzitoun
21
Jika Anda telah menghapus beberapa file secara lokal tetapi tidak berkomitmen, Anda dapat memaksa pembayaran
Seperti yang kita lihat dari output "Already up-to-date", orang yang menanyakan pertanyaan ini tidak melakukan apa pun akhir-akhir ini. Haruskah Anda menetapkan bahwa git checkout -f HEAD BERBAHAYA? Karena dapat membatalkan perubahan lokal yang tidak dilakukan (memulihkan file sebelumnya menjadi hasil positif, kehilangan perubahan pada file yang diedit menjadi negatif).
Lionel Trebuchon
15
Jika Anda menghapus beberapa file secara lokal dan tidak mengkomit perubahannya, pergi ke jalur repositori lokal Anda, buka git shell dan ketik.
$ git checkout HEAD .
Semua file yang dihapus sebelum komit terakhir akan dipulihkan.
Menambahkan "." akan memulihkan semua file yang terhapus di repositori saat ini, ke jalurnya masing-masing.
Jawaban:
Karena git adalah VCS terdistribusi, repositori lokal Anda berisi semua informasi. Tidak perlu mengunduh; Anda hanya perlu mengekstrak konten yang Anda inginkan dari repo di ujung jari Anda.
Jika Anda belum melakukan penghapusan, cukup periksa file dari komit Anda saat ini:
Jika Anda telah melakukan penghapusan, Anda perlu memeriksa file dari komit yang memilikinya. Agaknya itu akan menjadi komit sebelumnya:
tetapi jika
n
komit yang lalu, gunakanHEAD~n
, atau jalankangitk
, temukan SHA1 dari komit yang sesuai, dan tempelkan.sumber
<path>
itu wajib, meskipun hanya.
titik untuk dir saat ini. Tetapi "cabang" (HEAD
pada contoh di atas) adalah opsional. Seperti kebanyakan perintah Git, baik keluaran maupun bantuannya tidak membantu.git checkout filename
git reset --hard
mungkin bisa melakukan triknya jugasumber
git reset --hard
metode karena itu akan mengembalikan seluruh pohon kembali ke lokasi w / e Anda meletakkan HEAD / HEAD ^ / HEAD ~ n dan itu akan melakukannya tanpa prasangka dan berpotensi kehilangan banyak komitmen ...git checkount .
berhasil seperti pesona!Jika Anda telah menghapus beberapa file secara lokal tetapi tidak berkomitmen, Anda dapat memaksa pembayaran
sumber
Jika Anda menghapus beberapa file secara lokal dan tidak mengkomit perubahannya, pergi ke jalur repositori lokal Anda, buka git shell dan ketik.
Semua file yang dihapus sebelum komit terakhir akan dipulihkan.
Menambahkan "." akan memulihkan semua file yang terhapus di repositori saat ini, ke jalurnya masing-masing.
Untuk lebih jelasnya lihat dokumentasi .
sumber
Anda perlu memeriksa versi sebelumnya sebelum Anda menghapus file. Cobalah
git checkout HEAD^
untuk membayar revisi terakhir.sumber
Selain itu, saya menambahkan untuk melakukan langkah-langkah berikut agar git repo terhubung dengan benar dengan IDE:
Saya harap ini membantu !!
sumber