03.13 TIL

최창수·2023년 3월 13일
0

1. SSH(Secure Shell)

SSH는 RSA알고리즘을 이용해 안전한 통신이 가능하게 해주는 프로토콜이다. SSH를 이용해 Public key(공개키)와 private key(비밀키)를 생성하고, 공개키를 깃헙에 등록, 비밀키를 로컬 컴퓨터에 보관하여 로컬 컴퓨터에서 깃헙의 원격 레포지토리에 이메일과 비밀번호를 입력하여 로그인하지 않고도 안전하게 접근할 수 있다.

2. Git

git 이란

Git은 개발자들이 개발 과정중에서

  1. 변경사항을 추적, 관리하기 용이하게 하고
  2. 변경 사항을 되돌리는 것을 용이하게 하고
  3. 협업을 용이하게 하는

매우 중요한 '버전관리'도구이다. 버전이란 프로그래밍 작업으로부터 생성된 결과물이 이전과 유의미한 차이를 가진 것을 말한다. 그리고 개발은 이러한 변화들을 쌓아나가 결과물을 만들어내는 과정이다. git을 통해 우리는 유의미한 변화들을 편리하게 통제하여 더 효율적으로 개발을 진행할 수 있다.

git의 동작 방식

깃은 3개의 공간을 관리한다: 작업디렉토리, 스테이지, 저장소. 이중 스테이지+ 저장소는 깃이 관리하는 가상의 공간으로 실재하지 않는다.
작업 디렉토리는 버전관리의 대상이 위치하는 공간이다. 여기서 파일들을 수정할 수 있다.

스테이지는 다음버전이 될 후보들이 올라가는 공간이다. 각각의 변경사항들은 생성된 뒤 바로 저장소에 반영되지 않으며, 이중 사용자에 의해 선택받은 '유의미한' 변경사항들만이 적용된다. 스테이지는 이 선별된 변경사항들을 저장해놓는다.

저장소는 버전이 만들어지고 저장되는 공간이다. 각 변경사항들이 최종적으로 적용된다. 작업디렉토리에서 변경되었어도 stage에 저장되지 않았다면 저장소에는 반영되지 않는다.

동작 순서:
1. 작업디렉토리에서 변경사항이 여러가지 발생
2. 그중에서 자신이 생각하는 유의미한 변화들만 채택해 버전으로 만들기 위해 스테이지에 저장
3. 버전으로 만들어 레포지토리에 저장
4. 반복이 되면서 점차 개발이 진행됨

Git bash에서 사용되는 명령어들

git init: git 기능을 활성화한다.
git add <변경사항이름>. 변경사항중 버전이 될(commit) 후보를 스테이지에 추가한다.
git commit. 저장소에 보내 버전으로 만든다. 옵션m을 지정하면 commit message를 터미널에서 바로 작성할 수 있다.
git status:현재 커밋되지 않은 모든 변경사항들의 상태를 보여준다.
git log:커밋들의 기록을 보여준다.
git push: 로컬 저장소를 원격저장소에 적용한다.
pwd. 현재 위치한 디렉토리의 절대경로를 보여주는 명령어.
ls. 경로상에 위치한 파일/디렉토리 보여주는 명렁어. 옵션a는 숨김폴더/파일도 표시, l은 리스트 형태로 보여준다.

clear. 터미널 내역 지우기

touch <파일명>. 비어있는 파일만들기

rm <파일명>. 파일 지우기
rmdir <디렉토리명>. 디렉토리지우기
vi. 편집기 열어 파일 수정/없으면 만들기

i/a:입력모드
esc: 입력모드 나가기,
:wq 저장후 끄기. 마지막 비어있는줄 한칸 띄고 저장하는게 좋다. 왜냐면 프로그램이 한칸 비어있어서 파일의 끝임을 알기 좋기 때문이다.
:set number 줄 보여줌
u 변경취소

cat <파일명>. 파일 내용을 보여준다.

github

깃헙은 원격 레포지토리를 제공하는 서비스이다. 많은 개발자들이 사용하여 개발자 커뮤니티로 사용되기도 한다. 자신의 로컬 레포지토리를 연결하여 인터넷에 올리고, 여러 사람과 협업을 용이하게 진행할 수 있다.

github과 이미 만든 로컬레포지토리 연결

먼저 github에서 빈 레포지토리를 만들고, 빈 레포지토리에 안내된 연결방법을 따라 명령어를 git bash에 입력한다.

github으로부터 clone하기

원격레포지토리의 내용을 내 로컬 디렉토리에 저장하는 방법은 다음과 같다.

  1. 원하는 디렉토리에서 git bash를 실행한다(우클릭-git bash here). 다음의 명령어를 입력한다.
git clone [저장소URL(https, ssh)] [받을 디렉토리]

현재 디렉토리에 바로 받을 경우 URL만 입력해도 된다.

github으로 협업하기(입문)

레포지토리의 설정 페이지에 들어가면, collaborators항목을 선택하여 Add people에 다른 팀원의 깃허브 계정을 추가하고 버튼을 누른다. 초대장이 발송되고 수락하면 해당 인원도 내 레포지토리에 접근가능하여 변경사항을 push할 수 있다.

profile
Hallow Word!

0개의 댓글