Git ialah alat kawalan versi yang sangat popular yang membolehkan kami mengurus pengubahsuaian dan kerjasama kod dengan mudah. Dan apabila kita perlu mengekstrak sejarah pengubahsuaian fail tertentu dalam tempoh masa, bagaimana kita harus melakukannya? Hari ini, kami akan memperkenalkan cara menggunakan arahan Git untuk mengekstrak rekod pengubahsuaian fail dalam selang masa.
Pertama sekali, kita perlu memahami beberapa pengetahuan asas tentang Git:
Dalam Git, setiap penyerahan kod akan direkodkan dan Simpannya sebagai rekod komit, iaitu komit. Setiap komit mempunyai nilai cincang unik yang digunakan untuk membezakan rekod komit yang berbeza.
Semua rekod penyerahan disimpan dalam repositori Git, membentuk sejarah penyerahan. Kita boleh menggunakan arahan Git untuk melihat sejarah penyerahan, termasuk nilai cincang, pengarang, masa penyerahan, fail yang diubah suai dan maklumat lain bagi setiap penyerahan.
Dalam Git, kita boleh menggunakan selang masa untuk mewakili tempoh masa. Terdapat beberapa cara untuk menyatakan selang masa, seperti:
Setelah memahami pengetahuan asas ini, mari kita terokai cara mengekstrak rekod pengubahsuaian fail dalam selang masa.
Andaikan kami mempunyai sejarah penyerahan berikut:
commit 2942849f3f44e6da111d2b58fe6c24c156835c90 Author: John Doe <john@example.com> Date: Mon Feb 22 11:27:23 2021 +0800 Add README.md commit e0fdb2b0364a73f347f1a1b46c13bfbd5ac07a08 Author: John Doe <john@example.com> Date: Sat Feb 20 14:52:32 2021 +0800 Fix typo in index.html commit 71f6be88b1562fe596c69b88ac9f72dbeac78786 Author: Alice Zhang <alice@example.com> Date: Fri Feb 19 22:33:12 2021 +0800 Update index.html commit 275711456d94c307b6416d94da74e5c8b98497c7 Author: Bob Chen <bob@example.com> Date: Thu Feb 18 09:45:43 2021 +0800 Add new feature commit fd9bf6e768bb58d2a1ebf0b604805d7cca34c563 Author: Alice Zhang <alice@example.com> Date: Wed Feb 17 15:18:02 2021 +0800 Initial commit
Kami mahu mengekstrak semua fail README.md yang diubah suai dengan masa penyerahan antara 18 Februari dan 21 Februari. Anda boleh menggunakan arahan berikut:
git log --since=2021-02-18 --until=2021-02-21 --pretty=format:"%h - %an, %ar : %s" --name-only --grep='README.md'
Analisis arahan:
Selepas melaksanakan arahan di atas, output berikut akan be Result:
2942849 - John Doe, 29 minutes ago : Add README.md e0fdb2b - John Doe, 2 days ago : Fix typo in index.html
Anda dapat melihat bahawa hanya dua rekod penyerahan memenuhi selang masa dan syarat grep. Jika kami ingin melihat fail tertentu diubah suai dalam penyerahan ini, kami boleh menambah pilihan --stat:
git log --since=2021-02-18 --until=2021-02-21 --pretty=format:"%h - %an, %ar : %s" --name-only --grep='README.md' --stat
Analisis arahan:
Selepas melaksanakan arahan di atas, keputusan berikut akan dikeluarkan:
2942849 - John Doe, 29 minutes ago : Add README.md README.md | 1 + 1 file changed, 1 insertion(+) e0fdb2b - John Doe, 2 days ago : Fix typo in index.html README.md | 2 ++ 1 file changed, 2 insertions(+)
Seperti yang anda lihat, penyerahan pertama The README Fail .md telah ditambahkan, dan penyerahan kedua mengubah suai fail README.md dan menambah dua baris kandungan.
Selain kaedah melihat sejarah penyerahan di atas, kita juga boleh menggunakan arahan git blame untuk melihat sejarah pengubahsuaian fail, termasuk nilai cincang dan pengarang penyerahan.
git blame README.md --since=2021-02-18 --until=2021-02-21
Analisis arahan:
Selepas melaksanakan arahan di atas, keputusan berikut akan dikeluarkan:
2942849f (John Doe 2021-02-22 11:27:23 +0800 1) This is a README file. e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 2) It contains information about the project. e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 3) e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 4) Update: fix typo.
Seperti yang anda lihat, baris pertama dan keempat ialah dua penyerahan berbeza, kedua-duanya diserahkan oleh John Doe menyerahkan.
Untuk meringkaskan, kita boleh menggunakan arahan Git untuk mengekstrak rekod pengubahsuaian fail dalam selang masa. Arahan ini mudah dikuasai dan hanya memerlukan pemahaman tentang beberapa konsep dan parameter asas. Apabila kami perlu melihat sejarah pengubahsuaian kod dalam tempoh masa tertentu, arahan ini boleh membantu kami mencari rekod penyerahan yang berkaitan dengan cepat dan melihat fail dan kandungan yang diubah suai.
Atas ialah kandungan terperinci git mengekstrak fail pengubahsuaian selang masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!