git mengekstrak fail pengubahsuaian selang masa
May 20, 2023 am 09:48 AMGit 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:
- Rekod penyerahan 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.
- Sejarah penyerahan Git
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.
- Selang masa Git
Dalam Git, kita boleh menggunakan selang masa untuk mewakili tempoh masa. Terdapat beberapa cara untuk menyatakan selang masa, seperti:
- Tarikh: 2019-01-01
- Masa relatif: 2 minggu lalu
- Tempoh masa: 2019 -01 -01..2019-12-31
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:
- log git: Lihat sejarah penyerahan
- --sejak=2021-02-18: Lihat sahaja Penyerahan bermula dari 2021-02-18
- --sehingga=2021-02-21: Hanya lihat serahan sehingga 2021-02-21
- --pretty=format:" %h - %an, %ar : %s": Tentukan format cetakan, termasuk nilai cincang yang diserahkan, pengarang, masa penyerahan dan maklumat penyerahan
- --nama sahaja: hanya paparkan nama fail yang diubah suai, jangan paparkan kandungan pengubahsuaian fail
- --grep='README.md': hanya cari rekod penyerahan yang mengandungi README.md
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:
- --stat: Paparkan senarai fail diubah suai oleh setiap penyerahan dan situasi keseluruhan pengubahsuaian fail
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:
- git blame: Lihat sejarah pengubahsuaian fail
- README.md: Tentukan fail untuk dilihat
- --sejak =2021-02-18: Had untuk melihat hanya sejarah pengubahsuaian dari 2021-02-18
- --sehingga=2021-02-21: Had untuk melihat hanya sejarah pengubahsuaian sehingga 2021- 02-21
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana menolak komitmen yang ditentukan

Cara Menggunakan Alat Pengurusan Git Untuk Penggunaan Lengkap Alat Pengurusan Git

Perbezaan antara komit dan menolak git

Cara menyelesaikan kegagalan penyerahan komitmen git

Perbezaan antara menambah dan komitmen git
