Before 2020/프로젝트

코드스쿼드의 Git과 Git hub 강의정리

부루기 2020. 1. 12. 15:35
728x90

https://www.inflearn.com/course/git-and-github#

 

git과 github - 인프런

형상 관리 시스템(Verson Control System) 의 한 종류입니다. 주로 개발자들이 프로그램과 관련된 파일들을 저장하는 데 사용합니다. 초급 교양 개발도구 버전관리시스템 깃(GIT) 온라인 강의 github

www.inflearn.com

>첫번째 프로젝트를 계획없이 만들고 느낀 점 중에 하나가 코드가 어떻게 개발되었는지 로그를 남길수 있다면 굉장히 좋을 것 같고 내가 어디서 실수했는지도 알 수 있기 때문에 이 강의를 찾게 되었다.

 

>물론 git의 설명서를 보고 직접해보면 좋지만 일단은 대략적으로 알고 바로 쓸 수 있는 방법을 선택했다.

 

>1강 소스트리 사용해보기

  • 커밋은 세이브에 해당되는 일이다. 저장을 원하는 파일을 묶어서 커밋 명령을 수행한다. 여기서 커밋문을 작성할 수 있는데 여기의 내용은 첫 줄에는 개발한 내용의 정리문 한 줄 띄고 다음 줄부터 자세한 내용을 기술한다. 커밋은 반드시 한 번에 하나의 논리적 작업만을 커밋한다.
  • 스테이지에 올린다(add)라고 한다 저장을 원하는 파일들을 묶는 일을 말한다.
  • 푸시로 깃허브에 업로드하는 것을 의미한다.
  • 깃허브만을 설치하고 사용할 수 있지만 명령어로 사용할 수 있지만 좀 더 사용하기 편한 소스트리(source tree)를 통해서 깃허브와 연결하는 방식을 사용한다.
  • 저장소 클론은 깃허브에 만든 저장소를 내 컴퓨터에도 똑같이 복사해놓는 것을 의미한다.

 

>2강 변경사항 취소하기

  • VS로 작업한 내용을 저장해버리고 말았을 때 이전의 작업내용으로 가고 싶다면 checkout 이나 코드뭉치버리기를 통해서 되돌아 갈 수 있다.

>3강 브랜치의 개념

  • 작업도중 내용에서 분기점이 생긴다고 판단되었을 때 사용하는 기능이 브랜치 기능이다. 마치 하나의 코드에서 두가지 버젼이 나오도록 하고 그 기록을 남겨두는 역할을 한다.
  • 그런데 동영상대로 했지만 화면에 나오는게 달라서 조금 헤맸으며 hello-world2를 만들게 되었다.
  • 하나의 브랜치만을 작업할 수 있다.
  • 만약 브랜치가 없다면 현재브랜치=헤드 브랜치=마스터브랜치이지만 브랜치가 있는 경우에는 현재 브랜치=헤드 브랜치=/=마스터 브랜치인 상태를 의미한다.

 

>4강 병합(merge) 살펴보기

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

>5강 pull 및 충돌 해결하기

  • 만약 깃허브의 내용이 내 컴퓨터의 내용보다 버젼이 높을 경우에는 pull이라는 것을 사용해서 내용을 받아오는 과정이 이루어진다. 
  • 여기서 나온 origin/master가 로컯서버에 있는 마스터의 위치를 말한다. pull인 상태는 오리진 마스터와 마스터의 상태가 다른 경우를 의미한다.
  • 모든 에러는 뜬다면 읽어보고 해결하면 된다. (모든 코딩일 때 적용된다)
  • 해결방법 1. 에디터에가서 내용확인 후 변경 - HEAD는 내 컴퓨터의 파일 2. 충돌해결 툴이 존재 - 내 저장소의 것을 사용한다면 자기의 내용을 기준으로 파일을 변경하는 것이다. 
  • 나도 에러가 난 상태였는데 내가 예상가는 것은 VS2019로 작성한 내용에서 .vs코드들은 커밋이 되지 않도록해서 커밋이 되지 않는 것이다.

 

>6강 reset을 이용한 커밋 되돌리기

  • 이 브랜치 이후로 커밋을 초기화에는 여러 종류가 있으며 그 중 HARD가 reset이다. 나머지는 CLI를 사용해야한다.
  • reset을 할 경우 원격 저장소에 없다면 reset을 하게 되면 그 내용은 전부 사라진다. 
  • 푸시에 오류가 났을 경우에 강제 푸시라는 것이 존재한다. 강제 푸시는 되도록 쓰지 않고 최대한 내용을 해결하고 사용할 수 있도록 하자.

 

>9강 브랜치와 스태시

  • 브랜치의 변경사항이 존재한다면 체크아웃을 사용할 수 없다.(=작업 디렉토리가 깨끗해야함)
  • 임시 커밋을 만들고 커밋 덮어쓰기를 한다. (마지막 커밋정정으로 해결한다.)

>총평

  • 이용자가 많아서 이 강의를 선택했는데 강의 내용이 매끄럽지 않다.
  • 내가 무슨 내용을 배웠는지 잘 모르겠다.
  • 교육자부터도 오류가 나는데 해결하지 못하며 이 강의는 진짜 들을 이유가 없는 것 같다...
  • 그 옆의 생활코딩 git강의로 다시 공부해보거나 차라리 소스트리의 설명서를 보는 것이 나을 것이라고 생각한다.
728x90