오류상황 warning: LF will be replaced by CRLF in src/Main.java. The file will have its original line endings in your working directory 윈도우 환경에서 일어날 수 있는 오류라고 한다. 원인 확인해보니 맥 환경과 윈도우 환경이 다른데 협업할 경우 Whitespace가 달라 생길 수 있는 에러라고 한다. Whitespace는 스페이스와 탭, 줄바꿈, 자동줄바꿈 처리 설정을 의미한다. 유닉스 환경에서는 한 줄의 끝이 LF(Line Feed)로 이루이지는데 윈도우 환경에서는 CR(Carriage Return)과 LF(Line Feed) -> CRLF로 이루어지기 때문에 git에서 어떤 쪽을 선택할지 혼란이 온것이라..
Computer Engineering/github
새 리포지토리에 로컬 저장소를 푸쉬하려고 하는데 아래같은 에러가 생겼다. The authenticity of host 'github.com (20.200.245.***)' can't be established. ECDSA key fingerprint is SHA256:YWeIOttrVc98/RUFWu3/LiyKgUfQM. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'github.com,20.200.245.2**' (ECDSA) to the list of known hosts. git@github.com: Permission denied (publickey). fatal:..
git merge로 브랜치 병합시 지저분하게 git merge 기록이 발생하게 된다. main 브랜치를 작업하던 브랜치로 pull할 때마다 더럽게 머지 기록이 쌓이곤 한다.. 그래서 이런 커밋이력을 병합할때 깔끔하게 관리하기 위해 사용하는 것이 git merge --squash이다. 또한 git rebase 도 있다. 두개는 유사하지만 다른 기능을 가지고 있다. 1. git merge --squash 브랜치의 커밋이력들이 하나로 통합된다. 2. git merge --rebase 브랜치의 커밋이력을 묶어서 메인 브랜치(병합할 브랜치) 뒤로 보낸다. 테스트를 위해서 test-squash, test-rebase 브랜치를 생성했다. 그리고 test-squash와 test-rebase에 각각 다른 커밋이력을 만들..
팀 개발을 위한 github 시작하기를 읽고 기억하고 싶은 부분만 메모해보았다! 평소 헷갈리던 개념인 rebase 위주로 기록함. HEAD란? HEAD는 현재 작업 중인 브랜치를 가리킨다. 보통 * 표시가 붙어있다. 브랜치는 커밋을 가리키므로 HEAD도 커밋을 가리킨다. 결국 HEAD는 현재 작업 중인 브랜치의 최근 커밋을 가리킨다. 브랜치는 언제 사용할까? 1. 새로운 기능 추가 2. 버그 수정 3. 병합과 리베이스 테스트 4. 이전 코드 개선 : 함수의 로직을 개선 프로젝트 진행시 사용하는 깃허브 사용방식은 크게 3가지로 나뉜다. 1. 원격저장소 등록하기 (clone 또는 remote) 2. 커밋 ( add 후 커밋하기) 3. 병합하기 (merge 또는 rebase) 1. 원격저장소 등록하기 git ..