728x90
https://www.inflearn.com/course/git-and-github#
>첫번째 프로젝트를 계획없이 만들고 느낀 점 중에 하나가 코드가 어떻게 개발되었는지 로그를 남길수 있다면 굉장히 좋을 것 같고 내가 어디서 실수했는지도 알 수 있기 때문에 이 강의를 찾게 되었다.
>물론 git의 설명서를 보고 직접해보면 좋지만 일단은 대략적으로 알고 바로 쓸 수 있는 방법을 선택했다.
>1강 소스트리 사용해보기
- 커밋은 세이브에 해당되는 일이다. 저장을 원하는 파일을 묶어서 커밋 명령을 수행한다. 여기서 커밋문을 작성할 수 있는데 여기의 내용은 첫 줄에는 개발한 내용의 정리문 한 줄 띄고 다음 줄부터 자세한 내용을 기술한다. 커밋은 반드시 한 번에 하나의 논리적 작업만을 커밋한다.
- 스테이지에 올린다(add)라고 한다 저장을 원하는 파일들을 묶는 일을 말한다.
- 푸시로 깃허브에 업로드하는 것을 의미한다.
- 깃허브만을 설치하고 사용할 수 있지만 명령어로 사용할 수 있지만 좀 더 사용하기 편한 소스트리(source tree)를 통해서 깃허브와 연결하는 방식을 사용한다.
- 저장소 클론은 깃허브에 만든 저장소를 내 컴퓨터에도 똑같이 복사해놓는 것을 의미한다.
>2강 변경사항 취소하기
- VS로 작업한 내용을 저장해버리고 말았을 때 이전의 작업내용으로 가고 싶다면 checkout 이나 코드뭉치버리기를 통해서 되돌아 갈 수 있다.
>3강 브랜치의 개념
- 작업도중 내용에서 분기점이 생긴다고 판단되었을 때 사용하는 기능이 브랜치 기능이다. 마치 하나의 코드에서 두가지 버젼이 나오도록 하고 그 기록을 남겨두는 역할을 한다.
- 그런데 동영상대로 했지만 화면에 나오는게 달라서 조금 헤맸으며 hello-world2를 만들게 되었다.
- 하나의 브랜치만을 작업할 수 있다.
- 만약 브랜치가 없다면 현재브랜치=헤드 브랜치=마스터브랜치이지만 브랜치가 있는 경우에는 현재 브랜치=헤드 브랜치=/=마스터 브랜치인 상태를 의미한다.
>4강 병합(merge) 살펴보기
- 병합은 브랜치를 합치는 것을 의미한다.
- https://learngitbranching.js.org/
-
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
- fast merge란 version2의 브랜치를 만들어놓고 커밋을 계속하다가 마스터와 병합하는 상태
- 다른 경우는 version2와 version3의 내용을 따로 만들어놓고 있다가 나중에 앞의 두 버젼이 병합이 될 경우에 충돌이 날 가능성이 발생한다. 그 경우에는 수동으로 해결해주어야 한다.
- 병합한후에는 브랜치는 삭제가 가능하다.
>5강 pull 및 충돌 해결하기
- 만약 깃허브의 내용이 내 컴퓨터의 내용보다 버젼이 높을 경우에는 pull이라는 것을 사용해서 내용을 받아오는 과정이 이루어진다.
- 여기서 나온 origin/master가 로컯서버에 있는 마스터의 위치를 말한다. pull인 상태는 오리진 마스터와 마스터의 상태가 다른 경우를 의미한다.
- 모든 에러는 뜬다면 읽어보고 해결하면 된다. (모든 코딩일 때 적용된다)
- 해결방법 1. 에디터에가서 내용확인 후 변경 - HEAD는 내 컴퓨터의 파일 2. 충돌해결 툴이 존재 - 내 저장소의 것을 사용한다면 자기의 내용을 기준으로 파일을 변경하는 것이다.
- 나도 에러가 난 상태였는데 내가 예상가는 것은 VS2019로 작성한 내용에서 .vs코드들은 커밋이 되지 않도록해서 커밋이 되지 않는 것이다.
>6강 reset을 이용한 커밋 되돌리기
- 이 브랜치 이후로 커밋을 초기화에는 여러 종류가 있으며 그 중 HARD가 reset이다. 나머지는 CLI를 사용해야한다.
- reset을 할 경우 원격 저장소에 없다면 reset을 하게 되면 그 내용은 전부 사라진다.
- 푸시에 오류가 났을 경우에 강제 푸시라는 것이 존재한다. 강제 푸시는 되도록 쓰지 않고 최대한 내용을 해결하고 사용할 수 있도록 하자.
>9강 브랜치와 스태시
- 브랜치의 변경사항이 존재한다면 체크아웃을 사용할 수 없다.(=작업 디렉토리가 깨끗해야함)
- 임시 커밋을 만들고 커밋 덮어쓰기를 한다. (마지막 커밋정정으로 해결한다.)
>총평
- 이용자가 많아서 이 강의를 선택했는데 강의 내용이 매끄럽지 않다.
- 내가 무슨 내용을 배웠는지 잘 모르겠다.
- 교육자부터도 오류가 나는데 해결하지 못하며 이 강의는 진짜 들을 이유가 없는 것 같다...
- 그 옆의 생활코딩 git강의로 다시 공부해보거나 차라리 소스트리의 설명서를 보는 것이 나을 것이라고 생각한다.
728x90
'Before 2020 > 프로젝트' 카테고리의 다른 글
생활코딩의 Git 과 Git hub - GIT 3 강의정리 (0) | 2020.01.12 |
---|---|
생활코딩의 Git 과 Git hub - GIT 1,2 강의정리 (0) | 2020.01.12 |
Project 1-Fin) 웹크롤링을 통한 공모전 점수화 프로그램 (0) | 2020.01.09 |
Project 1-4) 허민석의 판다스 기초 정리 (0) | 2020.01.09 |
Project 1-3) 동빈나의 웹크롤링 정리 (0) | 2020.01.09 |