[ Git.00.이해 ]

carrotsman·2023년 1월 12일
0

개발실무

목록 보기
4/5
post-custom-banner

Git

깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다.

또 간지나는척 설명한다. 쉽게 말해서 소스를 백업하거나 특정 시점으로 되돌리고 싶을때 사용한다. 이는 동료들과 협업할때 필수적인 부분이다. 우린 많은 인간들과 협업을 해야한다. 근데 내가 만들어놓은 띵작을 어떤 벌레가 손대서 구데기가 됐다면?? 그 시점을 찾아 되돌릴 수 있도록 해준다. 이와 같은 형상관리를 통해 버전관리 및 배포를 용이하게 하도록 한다.


Git 특징

  • 비선형구조 개발 가능 (각 브렌치 별 개발 후 merge)
  • 장소에 구애받지 않고 협업 가능
  • 대형 프로젝트같은 버저닝, 이력관리가 많은 경우 합리적
  • 메인을 복제하여 작업하는 방식으로 원본 보장

Git 설치

당연하게도 github 연동을 위헤 git을 설치해야된다. 똥을 닦으려면 똥을 싸야한다와 같은 이치랄까.. git을 활용한 앱을 사용하더라도 내부적으로 git CLI를 사용할 수 있는 환경을 구성해야한다. 난 mac으로 git 설치에 대해 설명하겠다. 왜냐면 간지나니깐.. 윈도는 그냥 git홈피 들가서 운영체제 맞춰서 설치하면 끝난다.

1. homebrew 설치

일단 homebrew 홈 (https://brew.sh)에 접속한다. 네모박스안에 있는 명령어를 복사해서 터미널에서 실행하면 된다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

실행하게 되면 mac 비번 입력하라고 뜬다. 그거 입력하면 된다. 설치하는데 5분 정도 걸린다.


! M1의 경우 homebrew 설치시 추가 작업을 필요로 한다.

$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/사용자/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

$ brew --version

M1 칩.. 손 많이 간다잉. Next steps: 에 적힌대로 터미널에 입력해주면 된다. 이럴거면 자동으로 되게 해놓지... 버전 확인 명령어 입력해서 잘뜨면 설치 완료 :)

2. Git 설치

$ brew install git
$ git --version

brew install git 명령어 입력 후 완료
git --version 입력해서 버전 잘뜨면 성공 끝


Github

Git 호스팅 기능 덕분에 GitHub는 자유 소프트웨어와 오픈소스의 성지로 떠올랐다. 본사는 미국 샌프란시스코에 있다. 경쟁사 SourceForge는 애드웨어, 해킹, 바이러스 등등의 문제로 많은 개발자들의 신뢰를 잃어 사실상 망했으며, 대부분의 프로젝트가 GitHub 쪽으로 이주하게 됐다. 마스코트는 고양이와 문어를 합친 모습의 Octocat이다.

그냥 Git 웹 호스팅 서비스라고 생각하면 된다. 그니깐 그냥 Git자체는 형상관리 시스템을 칭하는 것이고 해당 저장소를 인터넷에 게시할 수 있게 해주는 웹하드 같은 개념이라고 생각하면 된다. 요즘 이직 할때 본인 깃헙주소를 입력하라는 곳이 생기고 있는 만큼 개인 저장소하나씩은 만들어놓자


Git, Github 용어

Git을 사용함에 있어, 필수적으로 알아야하는 개념이 몇가지 존재한다. Git으로 협업을 한다는 것은 특정 프로세스를 지속적으로 반복하는 것이라 할 수있다. 먼저 저장소를 2가지로 분류하여 접근한다.

1. 원격저장소
저장소면 저장소지 뭔 원격 로컬이 따로 있나 싶겠지만 Github 2가지로 분류하여 나눈다. 진짜랑 짭의 차이라고 생각하면 쉽다. 원격저장소는 실제 Github 올라와 있는 진퉁소스가 저장되는 곳이다. Git으로 업무시 저장소에 있는 소스를 클론하면 로컬저장소가 생긴다.

2. 로컬저장소
원격저장소에서 클론해온 개짭을 갖고 수정작업을 한다. 해당 저장소에 커밋하며 소스 개발을 진행한다. 소스에 문제가 없고 실제로 적용되야 하는 경우 원격저장소로 푸시를 한다. 그때 로컬저장소의 소스가 원격저장소에 저장된다. 그럼 그 이후 협업 개발자들이 pull 해와서 작업을 한다.,

3. staging area
저장소에 commit하기 전에 파일을 모아놓는 장소로 git add 명령어를 통해 스테이징에 넣고 그 파일들을 commit하면 로컬저장소에 적용된다.

4. 브랜치 (Branch)
일종의 버전의 개념이라고 생각하면 편하다. git repository를 하나 만들면 main 브랜치가 하나 생기게 되고 해당 main 브랜치로 부터 새 브랜치를 추가하여 작업한다. 한마디로 원본 버전은 냅두고 그걸 그대로 복사한 복사본이라고 생각하면 된다.

5. git CLI
솔직히 이정도만 알아도 쓰는데 문제없음. 아니 애초에 에디터의 추가 기능이나 git을 활용한 앱이 많아 이 명령어들 쓸 기회가 많지도 않음. CLI로 사용할 줄 알아야된다는 꼰머들 말 무시해도 좋다. 난 쌉가능이지만 ㅎㅎ

명령어설명
git config —listgit 환경파일 조회
git statusgit 상태 조회
git log (--option)커밋 기록 조회
touch gitignore.gitignore 파일 생성

명령어설명
git init저장소 초기화 (해당 폴더에 .git 파일 생성)
git remote add origin [github 주소]github 주소 연결
git clone원격저장소 > 로컬저장소 복제
git add 파일명특정 파일 스테이징
git commit -m "commit message"스테이징된 파일 저장소에 저장
git branch [브랜치명]브렌치 생성
git checkout [브랜치명]브렌치 이동
git branch -d [브랜치명]브렌치 삭제
git pull origin [브렌치명]원격저장소 변경사항 > 로컬저장소 반영 (fetch + merge)
git push origin [브렌치명]로컬저장소 변경사항 > 원격저장소 반영

정리하며

오늘은 git에 대해 대애애충 알아봤다. 터미널에서 직접 명령어 입력해서 사용하면 간지나보이긴 하지만 요즘 소스트리같은 앱이나 편집기 자체에서 git 기능을 제공하는 경우가 많아 개념과 용어 조금만 알아도 사용하는데 문제없지 싶다. 어차피 개발 업계는 누가 빨리 적응하냐의 싸움일 뿐이라고 본다. 다음 글에서는 프로젝트를 Github에 올리는 걸 해보겠다~

오늘 저녁은 킹솥 도련님 도시락이다. 🥕


참조 : https://codingapple.com/course-status/
https://eunhee-programming.tistory.com/259

profile
당근먹고 강력한 개발
post-custom-banner

0개의 댓글