Gerhana checkout git (alias, kembalikan)

139

Apakah mungkin untuk melakukan yang setara git checkout dari dalam Eclipse menggunakan plugin EGit?

Saya punya file yang sudah dimodifikasi. Saya ingin membuang perubahan dan mengembalikan file kembali ke apa yang ada di repositori sumber. Dalam Subversion ini disebut revert. In git yang setara adalah checkout.

Saya tidak dapat menemukan item menu di bawah Tim yang terlihat seperti checkout atau dikembalikan. Saya menggunakan EGit 0.6.0.

Steve Kuo
sumber
6
git menyebalkan! Itu tidak akan menunjukkan kepada Anda apa yang akan Anda kembalikan sebelum Anda mengembalikannya. Subversion akan memberi Anda jendela konfirmasi yang bagus dengan daftar file yang akan Anda kembalikan. Jadi, Anda dapat memilih mana yang ingin Anda kembalikan atau batalkan saat itu juga. Malu pada git super kuat.
JohnPristine
5
@JohnPristine Plugin Eclipse git (egit) adalah yang akan menampilkan jendela konfirmasi, daripada git itu sendiri.
Brad Cupit
Klik kanan file yang ingin Anda kembalikan, lalu pilih "Timpa". Dan saya setuju, Git menyebalkan.
DhafirNz
Pada 2016, eGit versi 4.5.0 Saya tidak melihat 'Timpa'. Tampaknya sekarang menjadi 'Ganti Dengan ...' 'Revisi KEPALA'
Ed Randall

Jawaban:

274

Ini dapat dilakukan melalui menu konteks "Ganti dengan / File dalam indeks Git" pada file dalam tampilan paket.

Sergii Rudchenko
sumber
5
Bagaimana jika file tersebut tidak ada di ruang kerja (lagi / lagi)?
zedoo
@zedoo Jika file tidak ada, buka tampilan "Git Staging", klik kanan file yang dihapus dalam daftar "Unstaged Changes" dan pilih "Ganti dengan Revisi HEAD"
Vlasta Dolejs
42

Anda dapat mencapai ini dengan melakukan reset (sulit). Pada menu konteks proyek, pilih Tim> Reset ke ..., pilih "HEAD" dan "Hard" sebagai jenis reset.

Harap dicatat bahwa melakukan ini Anda akan kehilangan perubahan SEMUA file. Untuk mengembalikan hanya satu file, lihat jawaban ini .

simon
sumber
Saya baru saja menemukan cara sulit yang melakukan juga melakukan hal yang sama - melakukan SEMUA file, bukan hanya file yang dipilih.
Steve Kuo
Benar, tetapi setidaknya Anda dapat membatalkan pilihan file dalam dialog komit ... Btw: Saya mengajukan bug untuk reset bugs.eclipse.org/bugs/show_bug.cgi?id=295423
simon
5
Dukungan Git di Eclipse benar-benar kalah dengan CVS dan SVN karena ini! Fungsionalitas "Ganti dengan yang terbaru dari HEAD" CVS sangat penting bagi saya.
kosoant
@kosoant Eclipse dapat melakukannya dengan Git juga. Lihat jawaban ini
Brad Cupit
3
Dia bertanya secara eksplisit tentang mengembalikan satu file, tidak semuanya.
Zofren
18

dalam Versi Eclipse: 3.7.0

dalam "Perspektif Sinkronisasi Tim" -> klik kanan pada file / folder dalam tampilan sinkronisasi -> timpa

ekeren
sumber
ini adalah salah satu yang paling mudah dilakukan. Itu popup untuk mengonfirmasi bahwa Anda ingin menimpa perubahan lokal Anda.
Karidrgn
Ini menghapus file baru, perubahan tidak bertahap, yang saya butuhkan.
Katu
12

Kemungkinan lain menggunakan tampilan Git Staging :

  • Buka tampilan Git Staging dengan menekan Ctrl + 3 atau Command + 3 dan mengetik
    staging
  • Jika tampilan belum menunjukkan repositori Anda, klik pada proyek atau file
  • Sekarang Anda akan melihat file yang diubah di luar area stage Perubahan bagian
  • Klik dua kali pada file yang tidak dipentaskan
  • Anda sekarang melihat tampilan perbandingan dengan versi Anda di sebelah kiri dan versi sebelum perubahan di sebelah kanan

Sekarang, untuk membatalkan hanya beberapa perubahan dalam file, lakukan hal berikut:

  • Pada tampilan bandingkan, pilih salah satu baris Anda yang diubah
  • Pilih item Salin Perubahan Saat Ini Dari Kanan ke Kiri

Ini akan membuat sisi kiri sesuai dengan sisi kanan untuk perubahan ini. Simpan file untuk menyelesaikan pembatalan.

Untuk membatalkan semua perubahan Anda:

  • Dalam tampilan pementasan, klik kanan pada file yang tidak dipentaskan
  • Pilih Ganti Dengan File di Indeks Git

Anda juga dapat memilih lebih dari satu file yang tidak dipentaskan dan kemudian klik kanan.

robinst
sumber
Saya bertanya-tanya mengapa jawaban ini mendapat lebih sedikit suara. Saya lebih suka menandai yang terbaik ini; tidak akan pernah membayangkan diriku sendiri. Terima kasih @robinst
HarsH
11

Kembalikan satu file dengan masuk ke Window> Show View> Other> Git Staging> Unstaged Changes

Pilih file yang ingin Anda kembalikan. Klik kanan dan pilih Ganti dengan revisi HEAD

Perhatikan bahwa langkah ini tidak dapat diurungkan.

(Saya menggunakan Eclipse Version: 3.7.2 Egit versi 2.3.1.201302201838-r)

TA
sumber
7

Untuk mengembalikan , Anda dapat mengklik kanan pada file / direktori yang Anda inginkan, lalu pilih Ganti Dengan -> versi HEAD

pengguna3812819
sumber
Apakah ini berlaku untuk plugin Git di Eclipse? Itu bekerja dengan baik dengan Egit.
johnnieb
UPDATE: Dalam Eclipse Mars dan Luna SR2 (builtin Git) bekerja seperti ini.
Mag
4

Buka Sinkronisasi Tim. Temukan file dan klik kanan -> Timpa.

MEMPERBARUI

Di Eclipse Luna (4.4.2) Buka Sinkronisasi Tim. Temukan file dan klik kanan -> "Kembalikan ..."

Geddon
sumber
3

Fungsionalitas sebenarnya ada di sana, tetapi mungkin tidak jelas:

  • Pastikan quickdiff diaktifkan dengan revisi git dan baseline quickdiff adalah HEAD (ini adalah default).
  • Buka file yang ingin Anda kembalikan.
  • Pilih semuanya (Ctrl-A)
  • Klik kanan di bilah quickdiff
  • Pilih "Kembalikan pilihan"
  • Menyimpan

btw, kembali ke git lingo berarti membuat komit baru untuk mengembalikan komit sebelumnya.

robinr
sumber
Untuk bekerja dengan quickdiff di sini adalah intro cepat: wiki.eclipse.org/EGit/User_Guide/State#Quickdiff
Valentin Despa
1

Untuk mengembalikan seluruh file Anda ke data repositori:

Klik pada folder yang ingin Anda revisi dan kemudian pergi ke GitStaging masukkan deskripsi gambar di sini

adhg
sumber