파일 기록을 표시하시겠습니까?
중복 가능성:
Git 버전 관리를 사용하여 파일 변경 내역 보기
때때로 특정 파일의 기록을 살펴보고 싶습니다.과거에 저는 P4V를 사용했는데 이것은 매우 빠르고 직관적이었습니다.
- 파일을 마우스 오른쪽 단추로 클릭하고 기록을 선택합니다.
- 날짜를 스크롤하면 해당 날짜의 파일에서 변경된 내용과 정확하게 차이가 납니다.간단하죠.
git로 전환하는 것은 이제 힘든 일입니다.
- "git 로그 파일 이름"
- 기록을 보고 날짜 선택, 해시 복사
- "git diff 해시"
- 내가 관심 있는 파일에서 변경된 내용에 대해 diff를 스크롤합니다.
- 아니요, 그게 아닙니다. 다른 날짜를 시도해 보겠습니다. - 2단계로 돌아가서 헹구고 반복합니다.
저는 SO를 검색했고, 일반적으로 추천되는 몇 가지 귀기를 사용해 보았습니다: github, gitk, gitgui.
이렇게 하면 명령을 수동으로 실행할 필요가 없지만 워크플로우는 동일합니다.파일 기록 보기, 커밋 보기, 관련 없는 파일 여러 개 검색그것은 느리고 반복적입니다.
모든 데이터가 레포에 있으므로 이 단순한 일반적인 사용 사례를 더 간소화할 수 없을 이유가 없습니다.
명령행을 사용하여 원하는 작업을 수행할 수 있는 보다 효율적인 방법이나 이를 수행할 수 있는 도구를 추천할 수 있는 사람이 있습니까?
제안해 주셔서 감사합니다.
Git log를 사용하여 검색 중에 diff를 표시할 수 있습니다.
git log -p -- path/to/file
사용해 보셨습니까?
gitk path/to/file
git log -p
선택한 모든 커밋에 대해 패치(디프)를 생성합니다.파일의 에는 단일파의경우일을 합니다.git log --follow -p $file
.
변경사항을 특정변사찾있경는우고항을을 합니다.git bisect
원하는 항목이 변경된 위치를 찾을 때까지 커밋 수를 반으로 나누어 로그(n) 보기의 변경 사항을 찾습니다.
또한 다음을 사용하여 역사를 돌아보는 것을 고려합니다.git blame
만약 당신이 그것이 무엇인지 안다면 문제의 선에 대한 변경을 따라가는 것.이 명령은 특정 라인에 영향을 미치는 가장 최근의 개정판을 표시합니다.시간이 지남에 따라 누군가가 변경한 경우 처음 변경된 내용을 찾기 위해 몇 가지 버전으로 돌아가야 할 수도 있지만, 그러면 좋은 시작을 할 수 있습니다.
마내침.gitk
GUI는 클릭한 커밋에 대한 패치를 즉시 표시합니다.
예:
저에게 가장 중요한 질문은, 당신이 실제로 무엇을 알아내려고 하는 것인가 하는 것입니다.해당 파일에 특정 변경 사항이 적용된 시점을 알아보시겠습니까?
사용할 수 있습니다.git blame
이를 위해 SHA1과 변경된 날짜로 각 라인에 주석을 표시합니다. git blame
또한 특정 행이 삭제된 시기 또는 해당 행이 이동된 위치를 알려줄 수 있습니다.
만약 당신이 어떤 버그가 언제 발생했는지 알아내려고 한다면,git bisect
는 매우 강력한 도구입니다. git bisect
기록에 대해 이진 검색을 수행합니다.사용할 수 있습니다.git bisect start
이등분을 시작하려면, 그러면.git bisect bad
버그가 있는 곳에 커밋을 표시하고,git bisect good
버그가 없는 커밋을 표시합니다. git은 둘 사이의 커밋을 확인하고 그것이 좋은지 나쁜지 당신에게 물어볼 것입니다.일반적으로 몇 단계 내에서 결함이 있는 커밋을 찾을 수 있습니다.
Git를 사용해 본 이후로 수동으로 패치 기록을 검토하여 무언가를 찾을 필요가 거의 없었습니다. 대부분의 Git은 실제로 필요한 정보를 찾을 수 있는 방법을 제공하기 때문입니다.
특정 워크플로우를 수행하는 방법을 고려하지 않고 필요한 정보를 더 많이 고려하면 훨씬 더 간단하고 빠른 워크플로우가 많을 것입니다.
언급URL : https://stackoverflow.com/questions/9807393/show-history-of-a-file
'programing' 카테고리의 다른 글
다중 필터 조건 Azure 테이블 저장소 (0) | 2023.06.21 |
---|---|
달러(약)iPhone에서 click()이 올바르게 작동하지 않습니다. jquery (0) | 2023.06.21 |
Excel에서 워크시트의 모든 셀을 선택하는 방법.c#의 범위 개체? (0) | 2023.06.21 |
__init__()의 내부 변수와 외부 변수 간의 차이(클래스 및 인스턴스 속성) (0) | 2023.06.21 |
일반적인 열거형의 정수 값을 가져옵니다. (0) | 2023.06.21 |