Bagaimana untuk melancarkan semula dalam git
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:37:50
0
10
753

Adegan:

  • 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

过去多啦不再A梦
过去多啦不再A梦

membalas semua(10)
巴扎黑
$ 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"
...
PHPzhong

git revert (nombor versi)

仅有的幸福

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..

给我你的怀抱

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

我想大声告诉你

Dalam kes ini, saya biasanya menyemak log terus dan memulihkan fail A untuk memastikan fail B lengkap

大家讲道理

Tidakkah anda boleh mengubah suai yang salah dan kemudian menyerahkannya sekali untuk menimpanya?

伊谢尔伦

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

左手右手慢动作

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)

Ty80
  1. log git Lihat komitId A B sebelum A

  2. git reset --hard A commitId sebelumnya

  3. git cherry-pick B's commitId

Fungsi ini dipanggil fungsi pembayaran, yang membolehkan anda mendapatkan pengubahsuaian diserahkan

伊谢尔伦

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...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan