IT recording...
[Opensource_git] 04. 커밋 본문
[원문링크]
https://adorable-aspen-d23.notion.site/OpenSrc_Git_04_-5feda87296b84db2a844c2ede1ec61ec
[2021 - 1학기 수강한 오픈소스SW입문 강의 정리본입니다.]
커밋
: 시간에 따라 변화되는 내용만 관리하고, 코드가 변화된 시간 순서에 따라서 영구적으로 저장함
- working directory > stage
//add
git add 파일이름
//파일 등록 취소
//워킹 디렉토리에 원본은 두고 stage에서만 삭제
git rm --cached 파일이름
//stage 파일 이름 변경
git mv old.htm new.htm
//작동원리
//> mv old.htm new.htm
//> git rm index.htm
//> git add home.htm
- Head : 최종적인 커밋 작업의 위치
- 첫 커밋 시 Head 포인터가 없음
- 스냅샷 : 변경된 부분만 저장하는 것
- HEAD가 가리키는 커밋(이전) VS Stage영역의 커밋(새) —> Commit
- Commit
커밋을 하려면 stage영역에 새로운 변경 내용이 있어야 한다. (수정O, StageO)
git commit
git commit -m "커밋메세지"
git commit --allow-empty-message -m ""
//add,commit 한번에
git commit -a
- 커밋아이디: SHA1 해시 알고리즘 사용 (중복되지 않는 고유키 생성 → 충돌 방지)
- : 앞 7자만으로 중복을 방지 가능
- : 명시적 참조 값
- 수정된 파일 되돌리기
//이전 커밋 이후 작업한 수정 내용 모두 삭제
git checkout --수정파일 이름
- 로그 확인
git log //내림차순
git log --pretty=short //간략 로그
git show 커밋ID //특정 커밋의 상세 정보
git log 파일이름 // 특정 파일의 로그 기록
- diff : 커밋 간 차이 확인
- 워킹 디렉토리 VS 스테이지
git diff
//원본(-) 수정본(+)
@@ -7,5 +7,6 @@
- 커밋 VS 커밋
git diff head
//commit 시 diff 추가하기 -v
git commit -v
'Git' 카테고리의 다른 글
[Opensource_git] 06. 브랜치 (0) | 2022.02.17 |
---|---|
[Opensource_git] 05. 원격저장소 (0) | 2022.02.17 |
[Opensource_git] 03. 깃 개념잡기 (0) | 2022.02.17 |
[Opensource_git] 02. 깃 환경설정 (0) | 2022.02.17 |
[Opensource_git] 01. 깃과 버전 관리 (0) | 2022.02.17 |
Comments