GIT(7)
-
[GIT] 커밋 메시지 타입
feat : 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정 fix : 기능에 대한 버그 수정 build : 빌드 관련 수정 chore : 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore ci : CI 관련 설정 수정 docs : 문서(주석) 수정 style : 코드 스타일, 포맷팅에 대한 수정 refactor : 기능의 변화가 아닌 코드 리팩터링 ex) 변수 이름 변경 test : 테스트 코드 추가/수정 release : 버전 릴리즈
2023.04.13 -
[GIT] git chekout --> Detached HEAD (커밋을 잃어버렸다.)
[문제 발생] 마지막 커밋 후에 빼먹은 기능이 있는 것 같아서 이전 커밋으로 돌아가 새로운 작업을 시도하려 했다. 는 이미 가장 최근 커밋으로 이동한 상태여서 이전 코드로 돌아가기 위해서는 커밋의 tag name을 타고 돌아가보았다. --> git checkout 그랬더니, 다음과 같은 문구를 주며 이전 커밋으로 돌아올 수 있었다. 새로운 작업을 커밋하다가 로 돌아와 병합하려고 보니까 커밋 내용이 없어졌다... --all 명령어를 사용해도 보이지 않는다. [문제해결 1] 우선 해당 커밋으로 돌아가기 위해서는 전체 기록을 살펴볼 필요가 있었다. git reflog 위 명령어를 사용하면 브랜치 유무를 떠나 HEAD가 지나갔던 히스토리를 모두 볼 수 있다. # 이런 방법도 있다. 참고 git log --gra..
2023.03.12 -
github flow
git flow 우선 github Flow를 알기 전에 git flow를 먼저 알아보자. git flow는 거의 사용하지 않지만 비교수단으로 github flow를 이해하기 쉽다. - 우선 git flow는 5개의 브랜치로 나누어 진다. - 주요 브랜치는 master과 develop 브랜치로 나머지는 보조 브랜치에 해당한다. - release 브랜치는 배포(출시) 예정일때 사용하는 브랜치이다. - feature 브랜치는 develop 브랜치에서 기능을 개발할때 사용한다. - hotFix 브랜치는 master 브랜치에서 발생한 버그를 빠르게 수정할때 사용한다. 작업 순서는 다음과 같다. 1. master 브랜치에서 develop 브랜치를 생성해 개발을 시작한다. 2.배포 예정 준비 브랜치인 release ..
2023.03.03 -
git merge 충돌, 덮어쓰기
충돌을 가정하기 위해 새로 배운 명렁어 - git echo 'HI' > 1 : 1이라는 파일에 Hi - git echo 'bye' > 1 : >는 Hi를 bye로 덮어쓴다. - git echo 'bye >> 1 : >> 는 HiBye로 추가가 된다. - git cat 1 : 1이라는 파일 확인하기 : Hi를 볼 수 있다. 만약, branch main 에서 파일 1에 'hi'라고 기록한 후 커밋을 했다고 가정을 해보자 전으로 돌아가서 branch bugFix가 1에 'bye'라고 기록한다. 그리고 main과 bugFix를 병합하려고 하면 충돌이 발생한다. 같은 파일을 서로 다르게 가지고 있기 때문이다. 이럴 경우는 그냥 다시 git echo로 파일 1을 수정해서 커밋해주면 자동 병합이 된다. git ini..
2023.02.28 -
git branch / git merge
브랜치란 ? 커밋 사이를 가볍게 이동할 수 있는 '포인터' 다른 브랜치의 작업과 별개로 진행해서 '임시 작업'을 진행할 수 있다. git branch [브런치명] 1. 현재 작업중인 커밋을 가르키는 브런치를 생성한다. git commit -m "커밋메시지" 2. 하지만 head포인터는 기존 브런치인 main을 가르키고 있기 때문에 commit을 수행하면 브런치는 이전 커밋에 남아있게 된다. git checkout [이동할 브런치명] git commit -m "커밋메시지" 3. git checkout [브런치명] 을 통해 해당 브런치가 가르키는 커밋으로 이동한다. ** 이때 실제 파일에서도 물리적으로 변경되며 과거로 이동한다. 4. 다른 브런치와 합병 (merge) git merge main // 현재 h..
2023.02.27 -
.gitigonre 경로 제외하기 / push 취소하기
https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com * .gitignore 템플릿 .gitigonre 경로 제외하기 제외시킬 경로를 전체 다 적어준다. src/main/java/com/ll/lec/** 하위 모든 파일들은 commit에서 제외된다. push 취소하기 이미 원치 않는 파일이 원격 저장소에 push 되었다면 !! 1. commit 내역 확인하기 git log --oneline 가장 최근 commit에 HEAD(포인터)가 되어 있다. (HEAD가 가르키는 곳이 현재 브런치) 2. 돌아가고 싶은 commit 이후 commit 삭제하기 ..
2023.02.24