Git は、コードの変更やコラボレーションを簡単に管理できるようにする非常に人気のあるバージョン管理ツールです。また、指定したファイルの一定期間内の変更履歴を抽出する必要がある場合、どうすればよいでしょうか?今回は、Git コマンドを使用して、一定期間内のファイル変更レコードを抽出する方法を紹介します。
まず、Git の基本的な知識を理解する必要があります。
- Git 提出記録
Git では、すべてのコード提出が記録されます。そしてそれをコミットレコード、つまりコミットとして保存します。各コミットには、異なるコミット レコードを区別するために使用される一意のハッシュ値があります。
- Git 送信履歴
すべての送信レコードは Git ウェアハウスに保存され、送信履歴が形成されます。 Git コマンドを使用すると、各送信のハッシュ値、作成者、送信時刻、変更されたファイル、その他の情報を含む送信履歴を表示できます。
- Git 時間間隔
Git では、時間間隔を使用して期間を表すことができます。時間間隔を表現するには、次のようないくつかの方法があります。
- 日付: 2019-01-01
- 相対時間: 2 週間前
- 期間: 2019 -01 -01..2019-12-31
これらの基本知識を理解した後、時間間隔内のファイル変更レコードを抽出する方法を見てみましょう。
次の送信履歴があるとします。
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
送信時間が 2 月 18 日から 2 月 21 日の間に変更されたすべての README.md ファイルを抽出したいと考えています。次のコマンドを使用できます:
git log --since=2021-02-18 --until=2021-02-21 --pretty=format:"%h - %an, %ar : %s" --name-only --grep='README.md'
コマンド分析:
- git log: 送信履歴の表示
- --since=2021-02-18: 表示の制限2021-02-18
- --until=2021-02-21 から始まる投稿のみ: 表示を 2021-02-21
- までの投稿のみに制限します--pretty=format:" %h - %an, %ar : %s": 送信されたハッシュ値、作成者、送信時間、送信情報を含む印刷形式を指定します。
- --name-only: 変更されたファイル名のみを表示します。ファイルの変更されたコンテンツを表示しません
- --grep='README.md': README.mdを含む送信レコードのみを検索します
上記のコマンドを実行すると、次の出力は Result になります:
2942849 - John Doe, 29 minutes ago : Add README.md e0fdb2b - John Doe, 2 days ago : Fix typo in index.html
ご覧のとおり、時間間隔と grep 条件を満たす送信レコードは 2 つだけです。これらの送信で変更された特定のファイルを確認したい場合は、--stat オプションを追加できます:
git log --since=2021-02-18 --until=2021-02-21 --pretty=format:"%h - %an, %ar : %s" --name-only --grep='README.md' --stat
コマンド分析:
- --stat: ファイルのリストを表示します。各提出物による変更とファイル変更の全体的な状況
上記のコマンドを実行すると、次の結果が出力されます。
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(+)
最初の提出物が README であることがわかります。 md ファイルが追加され、2 番目の提出では README.md ファイルが変更され、2 行のコンテンツが追加されました。
送信履歴を表示する上記の方法に加えて、gitblame コマンドを使用して、送信のハッシュ値や作成者などのファイルの変更履歴を表示することもできます。
git blame README.md --since=2021-02-18 --until=2021-02-21
コマンド解析:
- gitblame: ファイルの変更履歴を表示
- README.md: 表示するファイルを指定
- --since =2021-02-18: 2021-02-18 からの変更履歴のみ表示に制限します
- --until=2021-02-21: 2021 年までの変更履歴のみ表示に制限します- 02-21
上記のコマンドを実行すると、次の結果が出力されます:
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.
ご覧のとおり、最初の行と 4 行目は 2 つの異なる送信であり、どちらも送信者によって送信されています。ジョン・ドゥは提出した。
要約すると、Git コマンドを使用して、一定期間内のファイル変更レコードを抽出できます。これらのコマンドは習得が簡単で、いくつかの基本概念とパラメータを理解するだけで済みます。一定期間内のコード変更履歴を表示する必要がある場合、これらのコマンドを使用すると、関連する送信レコードをすばやく見つけて、変更されたファイルとコンテンツを表示できます。
以上がgit は時間間隔変更ファイルを抽出しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

GitHubのコア機能には、バージョン制御、支店管理、コードレビュー、問題追跡、プロジェクト管理が含まれます。 1。バージョン制御とブランチ管理はGITに基づいており、コードの変更と実験開発の追跡を可能にします。 2。コードレビューは、PullRequestを通じて実装され、コードの品質とチームコラボレーションを改善します。 3.問題の追跡とプロジェクト管理は、プロジェクトの透明性とトレーサビリティを改善するために、問題とプロジェクト管理委員会を通じて実行されます。

GitHubは、ソフトウェア開発の効率と品質を向上させるための強力なツールです。 1)バージョン制御:GITを介してコードの変更を管理します。 2)PullRequests:コードレビューを実施し、コードの品質を改善します。 3)問題:バグとプロジェクトの進捗を追跡します。 4)githubactions:建設、テスト、展開プロセスを自動化します。

Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITは、コードバージョンを管理し、ローカル操作をサポートするために使用されます。 GitHubは、問題の追跡やPullRequestなどのオンラインコラボレーションツールを提供しています。

GITは、開発者がファイルの変更を追跡し、協力してコードバージョンを管理するのに役立つオープンソース分散バージョン制御システムです。そのコア関数には、1)レコードコードの変更、2)以前のバージョンへのフォールバック、3)共同開発、4)並列開発のためのブランチの作成と管理。

gitとgithubは同じものではありません。 Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITはコードバージョンの管理に使用され、GitHubはオンラインコラボレーション環境を提供します。

GitHubを使用してHTMLプロジェクトを管理する理由は、バージョン制御、共同開発、作品の提示のためのプラットフォームを提供するためです。特定の手順には次のものが含まれます。1。gitリポジトリの作成と初期化、2。htmlファイルを追加および送信します。3。githubにプッシュ、4。githubpagesを使用してWebページを展開します。さらに、GitHubは、HTMLプロジェクトの最適化とコラボレーションを支援するために、コードレビュー、発行、およびPullRequest機能もサポートしています。

GITから始めることは、バージョン制御原則を深く理解するためにより適しており、GitHubから始めることは、コラボレーションとコードホスティングに焦点を当てるのに適しています。 1.GITは、コードバージョン履歴の管理に役立つ分散バージョン制御システムです。 2。Githubは、Gitに基づいたオンラインプラットフォームであり、コードホスティングとコラボレーション機能を提供します。

MicrosoftはGitを所有していませんが、Githubを所有しています。 1.GITは、2005年にLinus Torvazによって作成された分散バージョン制御システムです。2。Githubは、GITに基づくオンラインコードホスティングプラットフォームです。 2008年に設立され、2018年にMicrosoftに買収されました。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
