Git에서 특정 버전의 특정 파일 내용을 확인
- git show <버전>:<파일 경로>
<버전> : 확인하려는 특정 버전을 나타내는 커밋 해시, 브랜치 이름, 태그 등을 사용
<파일 경로> : 해당 파일의 상대 또는 절대 경로를 지정
git log를 입력하여 커밋의 해시값을 복사하여 git show <해시값>을 입력해도 된다.
git show <해시값>
방금 입력한 git show 해시값에 :텍스트파일명을 입력하면 그 텍스트 파일의 값이 나타난다.
git show <해시값>:<파일>
Git에서 변경된 내용을 비교
git diff : Git에서 변경된 내용을 비교하고 표시하는 명령어.
- git diff : 현재 작업 트리와 스테이징 영역 사이의 변경 내용 확인
- git diff --staged : 스테이징 영역과 최신 커밋 사이의 변경 내용 확인
- git diff <commit-hash> : 현재의 작업 트리와 커밋 사이의 변경 내용을 확인
- <commit-hash> : 커밋의 식별자 (해시)
실습
1. git 디렉토리의 first.txt 텍스트 파일에 텍스트를 추가한다. (수정)
2. bash에서 git status를 입력하여 first.txt 파일 변경된 것을 확인한다.
3. git add first.txt입력 후 git status로 staged되었는지 확인.
git diff
- git diff 입력시에는 별다른 결과값이 없지만 git diff --staged에서는 어떠한 내용이 변경되었는지 확인할 수 있다.
git diff --staged
4. staged된 것들을 다시 unstage를 시켜보겠다.(index 영역에서 제거)
git restore --staged <파일명>
5. 코드 입력후 git status를 입력하면 다시 unstaged됬다는 것을 확인할 수 있다.
6. 그 다음에 여기서 git diff를 입력하면 아까랑 다르게 결과값이 잘 나오는 것을 확인할 수 있고, git diff --staged를 입력하면 나오지 않는것을 알 수 있다. (git diff와 git diff --staged는 조회하는 영역이 다르기 때문이다.)
이제 git diff <commit-hash>를 해보겠다.
1. first.txt를 다시 add 시키고 git status를 입력하여 staged된 것을 확인한다.
2. git commit -m "메모" 를 입력하여 커밋시킨다.
3. git log --graph를 입력하여 확인
- 여기서 (HEAD -> main)과 (origin/main)을 볼 수 있는데 이는 local과 remote 사이에 갭이 생겼다는 의미이다.
또한 Github홈페이지에서 내역을 보면 local에서의 작업내용이 반영되지 않았다는 것을 확인할 수 있다.
4. git push origin을 입력한다.
git push origin
5. 다시 git log --graph를 입력하면 (HEAD -> main, origin/main)으로 바뀐것을 확인 할 수 있다.
- Github 홈페이지에서도 제대로 반영이 된 것을 확인할 수 있다.
6. git diff <비교할 커밋의 해시주소> 입력
git diff <비교할 커밋의 해시주소>
'Pre_Course > Git&Github' 카테고리의 다른 글
| Git&Github_08(협업과 충돌 해결하기) (0) | 2023.09.03 |
|---|---|
| Git&Github_07(리모트의 레포 복제 및 설정) (0) | 2023.09.03 |
| Git&Github_05(local작업 GITHUB에 연동하기) (0) | 2023.09.02 |
| Git&Github_04(COMMIT 실습) (0) | 2023.09.02 |
| Git&Github_03(Git의 주요 작업 흐름) (0) | 2023.09.02 |