cari

Rumah  >  Soal Jawab  >  teks badan

Masalah git yang pelik, tolong bantu saya menganalisisnya?

Sebagai contoh, saya mencipta fail baharu yang dipanggil test.html dalam ruang kerja, dan kemudian status git:

git mengesan fail yang baru ditambah ini dan menggesa untuk menambahkannya sementara melalui kawasan simpanan.
Laksanakan yang berikut:
git reset --hard
Nampaknya tiada apa yang dilaksanakan Lihat status git:

Ia masih lagi. status git apabila fail baru sahaja ditambah Petua, test.html yang baru ditambah belum dipadamkan.

Sekarang laksanakan:
git add dist/test.html
Lihat status git:

Letakkan test.html yang baru ditambahkan ke dalam kawasan storan sementara dan laksanakan yang berikut:
git reset --hard
Melihat status git sekali lagi, ruang kerja dan kawasan pementasan semuanya bersih, dan test.html yang baru ditambah hilang.

Ringkaskan perbezaan antara kedua-dua operasi:
Juga buat fail test.html baharu
Yang pertama ialah terus git reset --hard, buat baru Fail test.html dikekalkan dalam ruang kerja
Kaedah kedua ialah menambah fail test.html baharu ini dahulu, tambahkannya ke kawasan storan sementara, dan kemudian git reset --hard, fail test.html dalam ruang kerja juga dipadamkan.
Jika git reset --hard menimpa ruang kerja dan kawasan pementasan dengan rekod terakhir diserahkan, maka dalam kes pertama, test.html harus dipadamkan. Jika git reset --hard tidak memproses fail yang tidak dijejaki, dalam kes kedua, test.html tidak akan dipadamkan dalam ruang kerja.
Saya sudah pening dan menunggu git menjawab, saya rasa ini mungkin pepijat dalam git.

我想大声告诉你我想大声告诉你2794 hari yang lalu572

membalas semua(3)saya akan balas

  • 高洛峰

    高洛峰2017-05-02 09:35:59

    git reset --hard adalah untuk menetapkan semula kandungan kawasan pementasan dan ruang kerja kepada versi yang ditunjukkan oleh HEAD.
    Jadi dalam kes kedua, test.html di kawasan pementasan dan kawasan kerja anda hilang.
    Bagi kes pertama, jika anda melihat dengan teliti pada gambar pertama, ia menunjukkan bahawa test.html adalah fail Tidak Dijejaki, bermakna fail itu belum dikesan, jadi sudah tentu ia tidak akan dipadamkan.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:35:59

    Stage Area/Index Area(缓存区)
    
    ====================================
    
    Working Area(工作区)
    
    ====================================
    
    Untracking Area(未追踪文件,即新建文件)

    git reset Ia mempengaruhi Peringkat dan kawasan Kerja (anda sendiri yang mengatakannya), jadi bukan Git mempunyai pepijat, tetapi anda tidak memahami konsep asas.

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:35:59

    1. Untuk membatalkan kawasan storan sementara, gunakan git reset. Jangan cuba --hard
    2

    balas
    0
  • Batalbalas