Git 저장소에서 커밋을 롤백하는 한 줄 문을 작성하세요.

Git 저장소에서 커밋을 롤백하는 한 줄 문을 작성하세요.

한 걸음 물러나서 각 커밋을 검토하고 재정의할 CSS 스타일을 찾고 싶습니다. 나도 git-bisect그것을 사용해 본 적이 있지만 이전 직장을 구하는 데 도움이 되지 않았습니다.

다음을 사용하여 기록 순서대로 커밋의 해시 테이블을 얻을 수 있습니다.

$ git log --pretty=oneline | awk '{print $1;}'

f3791f1da33b9e92a3a5292a0542834aca0908ef
2720a9ec4bb5b4f7b4dd02b056c375e71a44be3c
a9bb455608db70c76545e5862b89a02f9e9f590d

그래서 첫 번째 것을 잡고 git checkout그것으로 만들어야합니다. 을 사용해 보았지만 head출력을 적절하게 전달하기 위한 전달 구문에 대해 충분히 알지 못합니다.

$ $(git log --pretty=oneline | awk '{print $1;}') | head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found

$ $(git log --pretty=oneline | awk '{print $1;}') > head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found

이전 명령의 출력 결과를 얻는 방법

나는 이것을 한 줄로 작성하여 내 git 별칭에 추가할 수 있기를 원하지만 그렇지 않더라도 괜찮습니다. bash 함수를 만들겠습니다.

답변1

상위 커밋을 확인하려면 다음을 실행하세요.

git checkout HEAD~1

첫 번째 커밋에 도달할 때까지 이 작업이 귀찮게 반복될 수 있습니다.

병합을 일으킨 다른 상위 항목을 탐색해야 하는 경우 ^대신 다음을 사용하세요.

git checkout HEAD^2

현재 병합 커밋의 두 번째 상위 항목이 확인됩니다.

바라보다git-rev-parse문서의 "지정된 개정"더 알아보기.

관련 정보