백엔드 부트캠프/TIL

[TIL] DAY-7 git에 대해 알아봅시다

o_b:us 2022. 5. 3. 18:08

Git 이란,

  • 리눅스 토발즈(Linus Torvalds)가 2005년 리눅스 커널 개발에 사용할 관리 도구로 개발하였다.
  • 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식인 부산 저장소 방식이다.
  • 버전 관리가 지역 저장소에서 진행되므로 버전 관리가 신속하게 처리되고, 원격 저장소나 네트워크에 문제가 있어도 작업이 가능하다.
  • 오픈소스로써 무료로 사용 가능함.
  • git 자체만으론 로컬 저장소를 사용하기 때문에 개발자와 실시간으로 작업을 공유할 순 없습니다.

Github란

  • Git Repository를 위한 웹 기반 호스팅 서비스
  • 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를 업로드하여 공유 가능
  • 분산 버전 제어, 액세스 제어, 소스 코드 관리, 버그 추적, 기능 요청 및 작업 관리를 제공

계정 설정하기

$ git config --global user.name "나의 사용자 이름"
$ git config --global user.email "내 이메일 주소"

--global 옵션의 의미는 전역적으로 설정한다는 뜻이므로, 설정할 때 단 한번만 해주면 된다. 만약 예외적으로 다른 계정으로 진행해야할 프로젝트에 대해선 해당 프로젝트에서 --global 옵션을 빼고 설정하면 된다.



SSH 등록

ssh(Secure SHell)는 다른 PC에 접속하거나 요청할 때, 비대칭키를 이용해 사용자 인증을 한다.

  1. ssh-keygen : SSH 키 생성, 경로는 보통 C:\Users\user(pc계정)\.sshid_rsaid_rsa.pub 두 파일을 생성 시킨다. id_rsa.pub는 public이라는 의미의 공개키를 뜻하고, id_rsa 는 개인 키를 의미한다. 공개키를 이제 원격저장소인 github 계정에 등록해주자. 혹시나 확장자가 안보여서 둘다 똑같이 보일 수 있는데 파일들을 열어보면 private key라고 적혀 있는게 개인키 , ssh-rsa 암호긴거 가 적혀 있는게 공개키다.
    ssh-rsa로 시작하는 공개키 전체를 다 복사해두자.

참고로 Enter file in which to save the key (/root/.ssh/id_rsa): 부분에 대해선 엔터키로 입력했고, 비밀번호(Enter passphrase (empty for no passphrase)) 부분은 임의로 원하는 비밀번호를 해도 되지만, 기억하기 쉽게 계정의 비밀번호와 일치했다. ssh로 clone할 때나 인증할 때 써야하기 때문에 까먹지말자.

  1. github 계정으로 접속하여 Settings-> SSH and GPG keys 로 들어가서 New SSH key 버튼을 누른다. 복사해둔 공개키를 입력해주고 title과 함께 저장한다. 그러면 아래와 같이 키가 입력된다.

git의 workflow!!!


git 명령어

git init : 깃 시작하기
git add . : 변경 사항을 staging area로 보냄.

git commit -m '메세지' : staging area에 있는 파일을 메세지와 함께 로컬 저장소에 저장.

git status : 현재 staging area에서의 상태를 알 수 잇음
git log : 커밋된 내역 확인 가능

git reflog : 커밋된 내역 더 간단하게 확인 가능

git restore [file name]: 특정파일 HEAD Commit으로 복구하기
//restore 다른 기능도 많음

git reset: 내용은 클릭 해서 확인


Fork : 다른 사람의 원격 저장소에서 나의 원격 저장소로 복사해서 가져옴
git remote add [원격저장소이름(보통 origin)] [원격저장소 주소]: github에 원격저장소 등록

git remote -v: 원격저장소 등록 상태 확인
git clone : 원격 저장소에서 로컬 저장소로 복사해서 가져옴

git push [원격저장소이름] [브랜치명]: 원격저장소에 브랜치 보내기

git pull [원격저장소이름] [브랜치명]: 해당원격저장소 브랜치 변경사항 가져오기



git 배운 내용 실습하기😀

오늘은 두번째 페어 실습을 해보았다. git을 평소에 써본터라 오늘도 따라가는데는 별 문제는 없었다. 다만
github를 평소에 혼자서 써왔기 때문에 한번도 누구와 저장소를 연동을 해보거나 fork를 해본적도 없었다. 이번 실습 내용으로 인해 업그레이드한 기분이 든다.

  1. 작업할 원격 저장소 fork하기
  2. git clone [fork한 원격 저장소] 명령어 입력하기
  3. 해당 폴더로 가서 git remote add [상대 원격 저장소 별칭] [원격저장소 주소] 명령어 입력으로 원격저장소 등록
  4. git remote -v 등록된 원격저장소(나, 상대) 확인하기

에러발생)프로토콜을 통일 시켜줘야했음. 내꺼는 SSH 프로토콜로 페어분의 주소를 HTTPS URL로 해버리니 원격저장소 등록이 안됐음.

  1. add, commit, push 상대와 번갈아가며 가상시나리오대로 진행하기

커밋확인


일기- 창민이는 자기 집보다 우리집 놀러오는게 더 좋단다. 팰 수도 없고..



출처 : 코드스테이츠 , https://cocoon1787.tistory.com/723