[ETC] Git & Github

Tay (Taewan) Ham·2024년 5월 18일
1

SeSAC

목록 보기
1/2
post-thumbnail

Intro.

새싹 부트캠프의 첫 수업으로 Git과 Github에 대한 간단한 개요를 배웠다. 향후 프로젝트를 수행할 때 중요하게 쓰일 것이기에 기본적인 개념과 구조는 확실히 아는 것이 좋을 것 같다.

Git과 Github

Git이란

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
source: git-scm.com

Git은 코드의 변경 사항을 관리해주는 버전 관리 시스템 (Version Control System, 이하 VCS)이다. VCS는 코드의 변경 이력을 기록 및 관리하는 시스템이다. VCS에는 다양한 종류가 있는데, Git은 그 중의 하나이고 Git의 특징은 분산형 VCS이라는 것이다. Github는 Git 시스템을 제공하는 플랫폼이다.


source: git-scm.com

Git은 아래처럼의 작업 계층 구조를 가지고 있다.


source: git-scm.com

아래의 도표는 Git의 전체적인 작동구조를 보여준다. 여기서 pull에 대한 내용이 빠졌는데, pull을 하게 되면 remote repository에서 working directory로 작업을 가져오게 된다.

git의 다양한 명령어들은 git-scm.com에 아주 자세하게 쓰여있다. 주로 아래의 명령어를 주로 사용한다.

# 모든 파일을 add
git add . 
# 특정 파일을 add
git add ./filename

# commit (staging area > local repository)
git commit -m "commit message"

# push (local > remote repository)
git push origin 'branch name' 

Git은 무슨 문제를 해결하는가

일반적으로, 프로젝트가 커질수록 소프트웨어를 수정하는 사람들이 그만큼 많아지게 되고 버전이 많아지게 된다. Git과 같은 VCS는 누가 어떤 내용을 작성했는지 기록하고 여러 버전들을 관리(branch)할 수 있게 해줘서 뱃사공이 많아도 배가 산으로 가지 못하게 도와준다.

또한, Git에서는 로컬 저장소(local repository)가 원격 저장소(remote repository)의 데이터를 받아서 사용한다. 즉, 백업본을 서버가 아닌 작업자의 개인도 가지고 있는 셈이기에 백업에 용이하다.

Troubleshooting

fatal: Authentication failed for ...

기존에는 local repository에서 remote repository로 push를 하게 될때, github의 id와 pw를 입력하면 되었다. 하지만, 강화된 보안조치에 의해서 github에서 personal access token을 발급받아야 한다. Personal access token은 Settings > Developer Settings (가장 아래에 있다) > Personal Access Tokens > Tokens(Classic) > Generate new token 을 통해 발급받을 수 있다.


Reference

  • CodingOn 강의 자료
  • git-scm.com

1개의 댓글

comment-user-thumbnail
2024년 5월 21일

재밌어요!

답글 달기