Rumah > Soal Jawab > teks badan
1. Ubah suai fail A, komit dan tolak ke gudang jauh
2. Ubah suai fail B, komit dan tolak ke alat kawalan jauh
3. Sekarang pengubahsuaian fail A adalah salah dan perlu digulung semula ke versi sebelumnya, tetapi pengubahsuaian fail B perlu disimpan Apa yang perlu saya lakukan sekarang?
Jika anda menggunakan perintah git reset --hard untuk kembali ke nombor versi yang diubah suai oleh A, maka pengubahsuaian B juga akan dibuang
巴扎黑2017-05-02 09:39:50
$ mkdir test
$ cd test
$ git init
$ echo aaaa>a.txt
$ echo bbbb>b.txt
$ git commit -a -m "init two files"
[master (root-commit) 2ca34b8] init
...
$ echo update>a.txt
$ git commit -a -m "update file a"
[master **e216f56**] update file a
...
$ echo update>b.txt
$ git commit -a -m "update file b"
[master 6906147] update file b
...
$ git revert **e216f56**
unix2dos: converting file f:/test/.git/COMMIT_EDITMSG...
dos2unix: converting file f:/test/.git/COMMIT_EDITMSG...
[master 2a9c653] Revert "update file a"
...
仅有的幸福2017-05-02 09:39:50
Anda tidak akan kehilangan apa-apa dengan melakukan ini, kita semua melakukan ini..
git reset --hard command kembali ke nombor versi yang diubah suai oleh A
git pull --rebase origin menarik ke bawah cawangan nombor B Semak kod untuk melihat jika terdapat sebarang konflik Jika sebarang konflik diselesaikan
, git push..
给我你的怀抱2017-05-02 09:39:50
git reset --soft HEAD@{id}, ini akan menarik balik penyerahan, tetapi pengubahsuaian dalam ruang kerja tidak akan hilang, kemudian betulkan pengubahsuaian yang salah, serahkan dan tolak ke hujung jauh
我想大声告诉你2017-05-02 09:39:50
Dalam kes ini, saya biasanya menyemak log terus dan memulihkan fail A untuk memastikan fail B lengkap
大家讲道理2017-05-02 09:39:50
Tidakkah anda boleh mengubah suai yang salah dan kemudian menyerahkannya sekali untuk menimpanya?
伊谢尔伦2017-05-02 09:39:50
Jangan gunakan git reset
untuk komitmen yang telah diserahkan pada cawangan awam Jika seseorang telah menarik komitmen ini, ia akan menjadi sangat menyusahkan
Dalam kes ini, anda harus menggunakan. git revert
, yang akan menyebabkan Komit tunggal
ringa_lee2017-05-02 09:39:50
git rebase -i HEAD^^^
Buka dokumen dengan editor lalai, ubah suai A
sebelum penyerahan kepada drop
atau singkatkan sebagai d
dan simpannya.
Penyerahan akan dibuang secara automatik (jika terdapat konflik, anda perlu menyelesaikan konflik itu sendiri)
PHP中文网2017-05-02 09:39:50
log git Lihat komitId A B sebelum A
git reset --hard A commitId sebelumnya
git cherry-pick B's commitId
Fungsi ini dipanggil fungsi pembayaran, yang membolehkan anda mendapatkan pengubahsuaian diserahkan
伊谢尔伦2017-05-02 09:39:50
Anda hanya boleh berbalik, bukan menetapkan semula Sebarang komit yang telah ditolak ke alat kawalan jauh tidak boleh ditetapkan semula atau komit --pindaan Ini akan memusnahkan sejarah versi orang lain.
Untuk maklumat tentang revert, anda boleh membaca artikel saya: /a/11...