>개발 도구 >자식 >git은 시간 간격 수정 파일을 추출합니다.

git은 시간 간격 수정 파일을 추출합니다.

WBOY
WBOY원래의
2023-05-20 09:48:37758검색

Git은 코드 수정 및 협업을 쉽게 관리할 수 있는 매우 인기 있는 버전 제어 도구입니다. 그리고 일정 기간 내에 특정 파일의 수정 내역을 추출해야 할 경우 어떻게 해야 할까요? 오늘은 Git 명령을 사용하여 시간 간격 내에서 파일 수정 기록을 추출하는 방법을 소개하겠습니다.

먼저 Git에 대한 몇 가지 기본 지식을 이해해야 합니다.

  1. Git 제출 기록

Git에서는 모든 코드 제출이 기록되고 커밋인 제출 기록으로 저장됩니다. 각 커밋에는 서로 다른 커밋 레코드를 구별하는 데 사용되는 고유한 해시 값이 있습니다.

  1. Git 제출 기록

모든 제출 기록은 Git 저장소에 저장되어 제출 기록을 형성합니다. Git 명령을 사용하여 각 제출의 해시 값, 작성자, 제출 시간, 수정된 파일 및 기타 정보를 포함한 제출 기록을 볼 수 있습니다.

  1. 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 로그: 제출 기록 보기
  • --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가 포함된 파일만 검색합니다. records

위 명령을 실행하면 다음과 같은 결과가 출력됩니다.

2942849 - John Doe, 29 minutes ago : Add README.md
e0fdb2b - John Doe, 2 days ago : Fix typo in index.html

보시다시피 두 개의 제출 레코드만 시간 간격과 grep 조건을 충족합니다. 이러한 제출에서 수정된 특정 파일을 보려면 --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 파일을 추가하는 것이고, 두 번째 제출은 README.md 파일을 수정하고 두 줄을 추가했습니다.

위의 제출 기록 보기 방법 외에도 git Blame 명령을 사용하여 제출의 해시 값 및 작성자를 포함한 파일 수정 기록을 볼 수도 있습니다.

git blame README.md 
        --since=2021-02-18 
        --until=2021-02-21

명령 분석:

  • git 비난: 파일의 수정 내역 보기
  • 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.

보시다시피 첫 번째 줄 1과 4는 John Doe가 제출한 두 개의 서로 다른 제출물입니다.

요약하자면 Git 명령을 사용하여 시간 간격 내에 파일 수정 기록을 추출할 수 있습니다. 이러한 명령은 익히기 쉬우며 몇 가지 기본 개념과 매개변수만 이해하면 됩니다. 특정 기간 내에 코드 수정 내역을 확인해야 할 경우 이러한 명령을 사용하면 관련 제출 기록을 빠르게 찾고 수정된 파일과 콘텐츠를 볼 수 있습니다.

위 내용은 git은 시간 간격 수정 파일을 추출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Git 도구 빌드다음 기사:Git 도구 빌드