하나의 분기에 대한 커밋 기록을 가져오는 방법은 무엇입니까?
새 분기를 만들었다고 가정해 보겠습니다.my_experiment
부터master
그리고 몇 번이나 약속을 했습니다.my_experiment
내가 만약에git log
언제my_experiment
나는 이 지점에 대한 커밋뿐만 아니라 다음 지점에 대한 커밋도 봅니다.master
이전에my_experiments
분기가 생성되었습니다.
나는 모든 커밋의 기록을 보는 것이 매우 유용하다고 생각합니다.my_experiments
분기가 해당 분기의 생성에 도달할 때까지 분기 - 사실상 해당 분기의 실제 내역입니다.그렇지 않으면 로그를 볼 때 커밋이 위에 있었는지 확실하지 않습니다.my_experiments
지점이든 아니든
Git으로 이것을 할 수 있는 방법이 있습니까?
범위를 사용하여 이 작업을 수행할 수 있습니다.
git log master..
체크아웃한 경우my_experiment
분점.이것은 어디에 비교할 것입니다.master
에 있음HEAD
(의 일각)my_experiment
).
참고: 해당 로그를 마지막 n개의 커밋(예: git log -3)으로 제한하는 경우 'n'과 분기 사이에 공백을 두어야 합니다.
git log -3 master..
Git 2.1(2014년 8월) 이전의 오류:git log -3master..
실제로 현재 분기의 마지막 3개 커밋을 보여줍니다(여기).my_experiment
), 무시합니다.master
제한(경우를 의미)my_experiment
하나의 커밋만 포함하고, 3개는 여전히 나열되며, 그 중 2개는master
)
주니오 C 하마노()gitster
의 commit3fa568 참조:
revision: 구문 분석 "git log -<count>
좀더 신중하게
잘못 입력된 명령줄은 "
master
그리고 결국 현재의 커밋 두 개를 보여줍니다.HEAD
:
$ git log -2master
우리가 먹이를 주기 때문에"
2master
에게atoi()
전체 문자열이 정수로 구문 분석되는지 확인하지 않습니다.사용
strtol_i()
대신 도우미 기능을 사용합니다.
그git merge-base
명령을 사용하여 공통 조상을 찾을 수 있습니다.따라서 my_experiment가 아직 master에 병합되지 않았고 mysperiment가 master에서 생성된 경우 다음과 같이 처리할 수 있습니다.
git log --oneline `git merge-base my_experiment master`..my_experiment
제 생각에 당신의 목적을 위한 것입니다.git log --oneline --decorate
이렇게 하면 스토리 라인에 있는 각 분기에 대해 선택된 커밋과 상위 커밋을 알 수 있습니다.이렇게 하면 보고서의 구조와 특정 분기와 관련된 커밋을 볼 수 있습니다.이것을 읽는 것이 도움이 될 것 같습니다.
사용할 수 있는 항목은 다음과 같습니다.git log --oneline
이번엔 너무 늦은 거 알아요하지만 여기 여러분이 찾고 있던 것을 얻을 수 있는 (그렇게 간단하지는 않은) 한 줄이 있습니다.
git show-branch --all 2>/dev/null | grep -E "\[$(git branch | grep -E '^\*' | awk '{ printf $2 }')" | tail -n+2 | sed -E "s/^[^\[]*?\[/[/"
- 지점 이름과 실제 지점 상태에 대한 상대적 위치를 가진 커밋을 다음과 같이 나열하고 있습니다.
git show-branch
를 (으)로 합니다./dev/null
). - 저희 곳만 에 있는 하고 있습니다.
grep -E "\[$BRANCH_NAME"
. - 실제의 경우
$BRANCH_NAME
는 로얻 수있 다니습으로 얻어집니다.git branch | grep -E '^\*' | awk '{ printf $2 }'
(별이 있는 가지, 그 별 없이 메아리칩니다.) - 에서, 는 우의결과터부, 는처중제라다거니합인을로 시작하는 합니다.
tail -n+2
. - 으로 앞에 있는 모든 합니다.
[$BRANCH_NAME]
와 함께sed -E "s/^[^\[]*?\[/[/"
.
다음 명령을 사용하여 분기별 로그를 볼 수 있습니다.
명령 구조:
git log <branch_name>
예: 지점 이름이 개발된 경우 명령은 다음과 같아야 합니다.
git log develop
언급URL : https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch
'programing' 카테고리의 다른 글
jQuery를 사용하여 텍스트 영역에 텍스트 삽입 (0) | 2023.07.24 |
---|---|
루비에서 빈 파일 만들기: "터치" 동등한 것? (0) | 2023.07.19 |
socket.socket vs.socket.close (0) | 2023.07.19 |
MongoDB - 없으면 삽입, 없으면 건너뛰기 (0) | 2023.07.19 |
플라스크에서 응답 헤더를 설정하려면 어떻게 해야 합니까? (0) | 2023.07.19 |