[Git] Git 시작하기

Ethan·2023년 7월 18일
0

Git

목록 보기
1/1
post-thumbnail

1.Git과 Github

1-1 왜 사용하나요?

우리는 누구나 중요한 문서작업을 하다가 모종의 이유로 그동안의 작업을 다 날려본 적이 있을 것이다 Git은 친절하게도 모든 변경사항의 스냅샷을 다 저장하기 때문에 최근 작업을 복구할 수 있을 뿐만아니라 언제든 예전의 시점으로 돌릴 수 있다.

여기서 모든 변경사항을 버전이라고 하며, Git은 이 버전들을 효율적으로 관리할 수 있게 도와주기 때문에 Git을 버전관리시스템(VCS)or 형상관리도구 라고 부르는 것이다.

이러한 특성때문에 개발자 간의 협업을 위해 전체 개발 소스를 공유하면서 개발 파트를 나누고 같은 모듈을 개발하더라도 소스를 공유하며 개발할 때 유용하게 사용된다.

1-2 Git

  • 오픈소스 버전관리 시스템(VCS:Version Control System)
  • 로컬에서 버전 관리
  • 소프트웨어 개발 및 소스코드 관리에 사용

git은 본인의 코드와 그 수정내역을 기록하고 관리하도록 돕는 버전관리 프로그램이며, 로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해준다. git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능하다. 하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없다.

1-3 Github

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

github는 git 저장소를 관리하는 클라우드 기반 호스팅 서비스이다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하여 제공한다. 또한 클라우드 서버에 소스를 올리기 때문에 한 프로젝트에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능하다.



2.Git에서 파일의 라이프사이클

2-1 파일의 상태

  • Working Directory(작업공간)
    소스 코드를 작업하는 로컬 영역이다. 코드를 직접 추가, 수정, 삭제 등 작업이 이루어지는 영역을 의미한다.
    Working Directory에서 모든 코드 작업을 진행하고, 다른 영역에 저장해야 Git에 기록이 남기 시작한다. 코드 작업만 진행하고 작업된 코드들을 가져와 활용하는 실질적인 업무 영역이다.

  • Staging Area(스테이징 영역)
    워킹 디렉토리에서 Git add 명령을 실행하면 파일들은 스테이징 영역에 저장된다. Git directory에 들어가기 전 소스 코드를 저장소에 넣을 건지 검증을 위한 영역이라 보면 된다. 스테이징 영역에 없는 코드들은 Git directory에 올릴 수 없다.

  • Local Repository=Git directory(저장소 영역)
    저장소 영역은 스테이징 영역에서 commit 한 파일들이 모여있는 영역이다. 로컬 저장소라고 부르기도 하며, 원격 저장소에 가기 전에 개인 Git 저장소에 올려 놓을 때 사용하는 영역이라 생각하면 된다.

  • Remote Repository(원격저장소 ex.Github)
    저장소 영역에서 push 한 파일들은 최종적으로 깃허브로 업로드되게된다.

2-2 Git사용 실습

다희는 어제 회사컴퓨터에서 작성하고 깃허브에 올려놓았던 작업물을 오늘 집에서 이어서 작성하려고 한다. 어떻게 진행하면 될까?

cmd를 연 후 작업물을 가져오기 원하는 경로로 진입하여

#remote(Github) repository 저장소 local로가져오기
git clone [github-repository-url]


#(...이어서 작성 후...)


#파일 Staging area에 올리기(임시저장)
git add .


#버전 남기기
git commit -m "v2.3.1"


#Github Repository에 올리기 완료!
git push origin main

이제 다희는 일을 끝내고 친구와의 모임에 나갔다.


P.S.추가로 알아두면 좋을 명령어

#현재 파일상태 (변경내역) 확인
git status

#"커밋"히스토리를 조회 할 수 있다. 
git log

# 커밋 ID + message 간단히 한 줄로 보여준다.
git log --oneline


이번에 새싹X코딩온 풀스택 웹개발자 부트캠프 과정을 진행하면서 공부한 것들을정리해 포스팅을 작성하는과정에서 더 궁금한 점이 있어서 버전관리시스템이라던지 git파일의 라이프 사이클에 대해서 더 찾아보게 되고 내가 더 발전하는 계기가 되었던 것 같다. 앞으로도 꾸준히 작성하여 나의 블로그를 더 많은 컨텐츠가 있는 장소로 꾸미고 싶다.

profile
코딩하는 알파카

2개의 댓글

comment-user-thumbnail
2023년 7월 19일

정말 좋은 글 감사합니다!

1개의 답글