22.01.14 깃허브 동작 원리 및 인증기능

Saparian·2022년 1월 14일
0

오늘의배움

목록 보기
6/53

드디어 깃허브 책을 다 끝마쳤다.
오늘은 신나는 날이다!

(사실 무료로 지원하는 e북에 추가편이 남아있지만,
대충 훑어보니, 기본 git의 기능에 익숙해지고 나서 봐야겠다고 생각됐다.)

git의 명령어 동작원리

해당 챕터는 주로 사용되는 명령어들이 실제로는 어떻게 구동이 되고 있는지에 대해서 알려주고 있었다.

add commit branch checkout 과 같은 기본명령어를 실행했을때 .git 폴더 내 파일들이 어떻게 생성되고 변경되는지 알 수 있었다.

해당 챕터를 진행하면서 사용한 명령어들은 low level 명령어였기에 따로 정리까지 하지는 않으려고 한다.

다만 정리된 내용은 따로 정리하도록 하자.

  1. git add 명령을 수행하면 워킹트리의 내용을 스테이지에 추가한다.
  2. git command 명령을 수행하면 스테이지의 내용으로 새로운 커밋을 만든다.
  3. 커밋 이후 git status 명령을 내리면 'clean'한 상태임을 표시해 주는데, 이 상태는 워킹트리, 스테이지, HEAD 커밋들이 모두 동일한 내용을 담고 있다는 표시이다.
  4. 커밋 객체는 트리 객체와 blob 객체들의 조합으로 이루어져 있다.
    (blob : binary large object로서 스테이지에 올라간 객체를 말한다.)
  5. 커밋 객체는 부모 커밋에 대한 참조를 가지고 있다.
  6. 브랜치를 생성하면 단순히 브랜치 파일 하나를 추가한다.
  7. 브랜치를 체크아웃하면 HEAD를 해당 브랜치로 변경하고 브랜치가 참조하는 커밋의 내용으로 스테이지와 워킹트리의 내용을 변경한다.

이상 동작원리에 대한 내용은 끝!

인증기능

git과 github를 사용할 때 계정의 인증기능에 대해서 설명하고 있는 챕터다.

이 부분을 통해서 윈도우에서 자격증명(credential)에 대한 관리를 하고있는 관리프로그램이 있는 것을 처음 알았다.

윈도우 외에도 macOS 및 리눅스에서도 각각의 인증관련 사용자 옵션을 조절하는 방법에 대해서도 나와있었다.

특이한 것은 윈도우의 경우에는 'maneger', macOS에서는 'osxkeychain'라는 인증옵션이 있었는데 리눅스는 특별한 인증옵션이 설정되어있지 않았다.

리눅스는 cache 또는 store 옵션을 따로 지정해줘야했다.

  • cache : 지정한 시간만큼만 사용자 계정정보를 저장해둔다.
  • store : 영구적으로 사용자 계정정보를 저장한다.

다만 store 옵션의 경우 패스워드 정보가 남아있을 수 있기때문에, 잘 사용하지 않는다.
사용하게 된다면 인증파일 정보까지 완전하게 삭제해줘야한다.

SSH

깃허브 계정의 정보는 아이디/패스워드 방식 외에도 SSH방식으로 인증을 처리할 수 있다.

해당 인증방식은 공개키/비밀키 방식으로 인증하게 되기때문에, 계정의 비밀번호 노출 없이 사용할 수가 있다.

깃에서 명령어를 통해 SSH 공개키 및 비밀키를 생성하고, 공개키를 깃허브 계정에 등록하면 깃허브 계정의 인증과정(authetication)을 완료하게된다.

이것으로 깃허브 관련 책을 다 읽었다.
책을 사기전까지는 인터넷에 나온 깃에 대한 지식을 찔끔찔끔 도입해서 사용했었다.
사용하는 방법을 잘 모르다보니, 어설프기도 하고, 사용 및 중단을 계속 반복했었다.

이렇게 한번 다 읽고 나니까 뭔가 정리가 된 것 같아서 좋다.
git의 명령어가 다 익숙해진 것은 아니라서 CLI 환경을 사용하다가도, 가끔씩은 소스트리를 사용하는게 아직까진 좋을 것 같다.

이제서야 깃을 좀 제대로 이용해보자.
README.md 파일도 사용하는 방법을 안지 얼마 안됐다.
조금씩 조금씩 뭔가 알아가고 사용해가는 것 같아서 뿌듯하기도 하고,
그럼에도 아직 할 수 있는게 별로 없어서 불안하기도 하다.

그래도 책을 한번 다 봤다는건 기분이 좋다.

확실히 일정에 대한 목표가 있으니
보다 추진력이 있게 일을 할 수 있는 것 같다.
다음 공부에 대한 일정도 명확한 목표를 가지고 진행해야겠다.

다음 공부할 내용

이제 파이썬을 공부해야한다.
마저 듣던 PyQt5 유튜브를 보고나서, 이후에는 인프런으로 강의를 들어보려고 한다.

힘내자!!

퇴사하고 국비지원과정에 들어가기 전에 프로그램 하나정도는 만들고 싶은데 가능하려나 모르겠다.

처음에는 충분히 가능할거라 생각했는데, 배우다보니 점점 멀어지는 듯한 느낌이 든다.
그래도 어떻게든 만들어보고싶기는 하다.

0개의 댓글