TIL(20180720)
by choising
20180720
Today I Learned
- 온라인 (git, html/css, js, java) 강의 듣기.
- git과 github 입문 인강 수강.
- 1단계 : 혼자서 작업하기
- pull 및 충돌 해결하기
- reset을 이용한 커밋 되돌리기
- 브렌치를 만들어서 되돌아가기
- revert 사용해서 되돌리기
- 브랜치와 스태시, rebase로 병합하기, 기타 주의사항 (영상 미존재)
- 1단계 : 혼자서 작업하기
- merge : 특정 브렌치의 내용을 다른 브렌치에 반영.
- fast-forward merge : 헤드 브렌치에 변경사항이 없고, 병합 대상 브렌치가 헤드로 부터 시작된 경우.
- 가장 쉬운 merge case. 내 현재 브렌치에서 변경사항이 없는데, 내꺼에서 파생된 브렌치의 변경사항을 머지하는 경우.
- 헤드 브렌치에 추가적인 커밋이 생기는 경우
충돌(conflict)
발생 가능성이 있다.- 충돌이 진짜 헬이긴 한데, 충돌을 두려워 하지 말라고 하셨다.
- fast-forward merge : 헤드 브렌치에 변경사항이 없고, 병합 대상 브렌치가 헤드로 부터 시작된 경우.
- conflict : 간단하게 merge가 실패한 상태.
- pull : github(원격 저장소) 형상이 local형상보다 최신이라 github 형상을 local에 반영하는 것.
- fetch(가져오기) + merge
- 이전 커밋으로 되돌리는 세 가지 방법
- reset –hard (소스트리 :
이 커밋까지 현재 브렌치를 초기화
)- 장점 : 쉽다.
- 단점 : 이전 커밋이 날아간다, git push –force가 필요하다.
- branch 만들어서 되돌리기
- 되돌릴 형상(커밋)을 대상으로 브렌치 생성 > 체크아웃 > 변경 사항 커밋 > master에 merge
- 장점 : reset과는 달리 커밋이 사라지지 않는다.
- 단점 : 트리가 지저분해진다.
- revert 사용 (소스트리 :
커밋 되돌리기
)- 대상 커밋을 head커밋의 자식으로 새로 생성한다.
- 장점 : 커밋이 사라지지 않는다, 가장 정석적.
- 단점 : 충돌 가능성이 높다.
- reset –hard (소스트리 :
-
스태시나 rebase는 조금 더 알아봐야 할 듯.
- https://learngitbranching.js.org/ 깃 플로우를 볼 수 있는 신기한 사이트.
기타 주의사항
의 아래 멘트가 엄청나게 인상깊다.주석을 남기지 말자 책상도 아니고, 장식장도 아니고 왜 안 쓰는 코드를 남겨놓을까요?
- 사실 어느정도 이유를 알고 있다. 형상관리 도구 사용에 자신이 없고, 자신에게도 자신이 없으니 주석으로 남겨두는 것이겠지.
- 나도 회사다닐 때 작업 이전에 주석으로 살려두고, 작업 이후에도 주석을 지우지 않은 불필요한 코드(aka 쓰레기)가 제법 있다.
- 선배에게 추천 받은
훌륭한 프로그래머가 되는 법
이라는 책에서도 안쓰는 코드를 주석으로 남기지 말자는 메시지가 있었다. - 훌륭하지는 못하더라도, 좋은 코드를 작성하고자 노력하는 개발자가 되고싶다.
TO-DO
- 구구단 다양하게 구현.
- 모래시계 다양하게 구현.
- 온라인 (git, html/css, js, java) 강의 듣기.
- 부스트코스 다시 시작.
Subscribe via RSS