210223_TIL
어제 밤에 전 페어분한테 연락이 왔다. 맥북 m1을 샀는데 nvm을 설치하는 과정에서 자꾸 오류가 난다는거였다. 아무리 검색해봐도 안되신다고.. 가서 오류 메시지를 같이 천천히 살펴봤고 프로그램을 재설치하며 오류가 발생할때마다 인터넷으로 원인을 검색하고 해결하며 결국 설치를 했는데 한시간 반정도 걸린거같다... 전 페어분은 6시간을 넘게 그것때매 고민하고 계셨다고 했는데 너무 고마워했다. 나도 아는거 하나 없었지만 막연하게 두렵기만 하던 오류메시지를 하나씩 읽으며 원인을 해결하는 과정이 이번 일을 해내면서 예전만큼 막연하게 다가오지는 않는거같다. (조금 자신감이 생겼다)
오늘은 어제 배웠던 Git을 응용해보는 과정이였는데 어제 예습을 해서 그런지 전체적으로 쉽게 했다. 처음으로 우리 기수중에 제일 첫번째로 과제를 제출했다. (좋은건가...? ㅋㅋㅋ)
하지만 너무 특정 상황에만 할 수 있는 방식인거같아서 직접 깃허브에 예전에 올렸던 리포지토리를 수정도 해보고 새로운 파일을 만들어 커밋도 해보며 다양하게 적용해봤다. (아직 멀었지만..)
같은 기수분중에 깃에 관해 연습해볼만한 사이트라며 추천해준게 있는데 들어가서 해보니 정말 많은 도움이 됐다.
브런치를 나누고 초점을 어디로 맞추는지.. 심화문제들은 좀 어려워서 풀지 못했지만.. 거기 설명에서 기초과정만 익혀도 90%정도 깃을 다룰때 할 수 있을거라고 했다.
오늘 배운것
- 원격 저장소에서 fork 해서 내 리포지토리로 가져와 로컬 저장소로 clone 해서 파일을 복사해온다
- 해당 파일을 수정하여 커밋을 하고 내 원격저장소에 올린다 ($ git push origin master)
- 페어의 원격저장소와 연결한다 ($ git remote add pair URL주소)
- 페어가 수정해서 커밋한 파일을 pull로 가져온다 ($ git pull pair master)
- 같은 파일안에 같은 위치에 서로 내용을 수정해서 자동으로 merge가 되지않고 충돌이 일어난다면 사용자가 직접 수정을 해야한다
- 수정 후 $ git add $ git commit 한 뒤에 내 원격저장소로 push 해준다
- $ git checkout -b o2 를 입력해 o2 브런치를 만들고 o2에 HEAD를 둔다
- o2를 수정하고 커밋해서 원격 저장소로 push 한다. ($ git push origin o2)
- master 브런치처럼 바로 내용이 들어가지않고 pull requests를 해야 내용이 원래 내용과 merge 된다.
Git (branch, 원격저장소, 로컬저장소) 익히기
위에 언급했던 사이트 주소
- git rebase ( A 브랜치에서의 작업을 B 브랜치 위로 직접 옮겨 놓습니다, merge와는 달리 A의 전 커밋은 그대로 남아있습니다)
- HEAD 분리하기 (HEAD를 브랜치 대신 커밋에 직접 붙이는 것을 말합니다) - $ git checkout 해당커밋이름
- 상대 참조 ( ^ or ~ <num> )
- ^은 부모의 커밋으로 이동합니다
- ~<num>은 돌아가고 싶은 커밋만큼 이동합니다
- $ git branch -f main HEAD~3과 같이 강제로 브랜치를 옮길 수도 있습니다 - reset과 revert
- $ git reset HEAD~1 (브랜치를 되돌리고 전에 있던 브랜치를 삭제한다)
- $ git revert HEAD (브랜치를 되돌리고 전에 있던 브랜치는 그대로둔다 /협업시 많이 사용한다)
더 공부하고 싶은것
- 깃을 직접 사용하면서 이론을 적용해보는 연습이 좀 더 필요할것 같다.
- OOP에 관해서 공부가 필요
- 화살표 함수
- node.js에 대해서도 좀 더 파보자..!