Saya pemula dalam git dan saya sedang mengerjakan git.
Saya menambahkan beberapa file di git:
git add <file1>
git add <file2>
kemudian saya ingin mendorongnya untuk ditinjau, tetapi secara keliru saya melakukannya
git commit
jadi file yang telah saya ubah tidak perlu ditinjau.
Sekarang jika saya memasukkan perintah:
git status
ia mengatakan
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Saya ingin mengembalikan komit itu dan saya ingin mendorong file-file itu untuk ditinjau daripada komit. Adakah yang bisa memberi tahu saya bagaimana saya bisa melakukan itu?
git reset HEAD^
Jawaban:
Anda tidak dapat mendorong apa pun yang belum dilakukan. Urutan operasinya adalah:
git add
- ini tahap perubahan Anda untuk melakukangit commit
- ini melakukan perubahan bertahap Anda secara lokalgit push
- ini mendorong perubahan yang Anda lakukan ke remoteJika Anda mendorong tanpa melakukan, tidak ada yang didorong. Jika Anda berkomitmen tanpa menambahkan, tidak ada yang berkomitmen. Jika Anda menambahkan tanpa melakukan, tidak ada yang terjadi, git hanya mengingat bahwa perubahan yang Anda tambahkan harus dipertimbangkan untuk komit berikut.
Pesan yang Anda lihat (cabang Anda di depan dengan 1 komit) berarti repositori lokal Anda memiliki satu komit yang belum didorong.
Dengan kata lain:
add
dancommit
merupakan operasi lokalpush
,,pull
danfetch
merupakan operasi yang berinteraksi dengan remote.Karena tampaknya ada alur kerja kontrol sumber resmi di tempat Anda bekerja, Anda harus bertanya secara internal bagaimana hal ini harus ditangani.
sumber
origin
repositori. Saya juga merekomendasikan membaca beberapa tutorial / intro untuk git di git-scm.com/documentationgit reset HEAD^ --soft
(Simpan perubahan Anda, kembali ke komit terakhir)git reset HEAD^ --hard
(Buang perubahan, kembali ke komit terakhir)sumber
Jika Anda hanya ingin membuang perubahan dan kembali ke komit terakhir (yang ingin Anda bagikan):
Anda mungkin ingin memeriksa untuk memastikan benar-benar menginginkan ini (
git log
), karena Anda akan kehilangan semua perubahan.Alternatif yang lebih aman adalah menjalankan
sumber
Saya menyelesaikan ini dengan hanya menjalankan yang sederhana:
Tidak ada lagi. Sekarang ini menunjukkan:
sumber
git setel ulang HEAD ^
maka file yang dimodifikasi akan muncul.
Anda dapat memindahkan file yang dimodifikasi ke cabang baru
menggunakan,
git checkout -b newbranch
git checkout commit -m "files modified"
git push origin newbranch
git checkout master
maka Anda harus berada di cabang yang bersih, dan perubahan Anda harus disimpan di cabang baru. Nanti Anda bisa menggabungkan perubahan ini ke cabang master
sumber
hapus file yang ditentukan dari komit berikutnya
sumber