git과 github

2HJ·2024년 6월 13일

개발을 막 배우기 시작한 분이라도 git과 github에 대해 한 번쯤 들어봤을 겁니다.

git은 형상관리 시스템으로 소스코드의 변경사항을 추적하고 저장하는 역할을 합니다.저희가 프로젝트를 작성하거나 수정한 뒤 git에 commit으로 push하면, git은 프로젝트를 기억하고 저장합니다.git은 푸쉬된 모든 commit을 기억하기때문에 우리가 원한다면 과거의 프로젝트도 git에서 pull 하는 것을 통해 원복할 수가 있습니다.물론 commit이 된 것에 한정해서만요.

쉽게 말해 꾸준히 commit만 해둔다면 나중에 내 소스에서 문제가 발생했을때 이전 버전으로 롤백하거나 과거의 소스와 비교해서 문제를 해결할 수 있습니다.또한 git을 다른 개발자에게 공유하기도 편하고요.

git이 로컬(내컴퓨터)에 깔린 저장소라면, github는 인터넷을 통해 외부 클라우드에 저장소로 둔 git이라고 할 수 있습니다.사용자는 github에 git을 푸쉬할 수 있고 역으로 pull 받을 수도 있습니다.

git은 혼자 사용하기 좋고 github는 여러 사람이 공유해서 사용하기 좋습니다.원격 git(예를 들어 github)은 local git과 연결해서 사용합니다.

1.git

설치사이트
https://www.git-scm.com/download/win

그럼 간단하게 git의 사용법에 대해 알아봅시다.
git을 설치하고나면 우리는 git bash라는 터미널을 사용할 수 있는데요.

git 생성
git init : 현재 디렉토리를 기점으로 git을 생성합니다.
git clone <repository_url> : 외부에서 git을 복사해서 현재 디렉토리에 저장합니다.url에는 로컬저장소에 있는 git이나 github에 있는 git이나 서버에 있는 git 모두 올 수 있습니다.

git commit
git add <file_url> : 특정 파일을 스테이징 영역에 추가합니다.
git add . : 변경된 모든 파일을 스테이징 영역에 추가합니다.
git commit -m < commit message> : 스테이징에 등록된 모든 파일을 commit 하여 git에 저장합니다.

git log
git log : 우리가 commit한 내역들을 볼 수 있습니다.추후 롤백할때 사용됩니다.

git rollback
git diff commit버전 : 현재 버전과 commit 버전의 차이 확인
git checkout commit버전 : 해당 commit 버전으로 롤백
git checkout : 마지막에 commit한 버전으로 롤백
git revert commit버전 : 해당 commit을 복사한 뒤 새로 commit
git reset commit버전 : 해당 commmit으로 롤백한 뒤 이후 commit들 삭제

가급적 checkout이나 revert를 사용하도록 합시다.

git 원격저장소와 연결
git remote add origin [repository_url] : 원격저장소와 연결
git fetch : 원격 저장소의 변경사항이 있는지 확인
git pull : 원격 저장소의 변경사항을 로컬 저장소에 병합
git push : 로컬 git을 원격 저장소에 푸쉬

git branch
git branch: 현재 브랜치 목록 확인 및 현재 브랜치 표시
git branch <branch_name>: 새로운 브랜치 생성
git checkout <branch_name>: 다른 브랜치로 전환
git checkout -b <branch_name>: 새로운 브랜치를 생성하고 전환
git merge <branch_name>: 지정한 브랜치를 현재 브랜치로 병합
git branch -d <branch_name>: 브랜치 삭제

브랜치는 git이란 나무에 딸린 여러개의 나뭇가지 저장소라 생각하면 됩니다.

  • A라는 git의 a브랜치와 b브랜치가 있다면, a와 b브랜치는 각기 다른 commit들을 가지고 있을 수 있습니다.
  • 여러 개발자가 하나의 git을 공유레퍼지토리로 사용한다면, 커밋 관리가 잘 안 되어 실수로 오류코드를 commit하거나 맞지 않는 소스를 pull 받을 수 있는데 branch를 사용한다면 개발자가 진행중인 작업에 대해서 타인이 의도치 않게 관여할 확률을 줄일 수 있습니다.
  • 완성된 소스는 main branch에 병합을 요청하고 main에서 이를 승낙하거나 거절하는 구조입니다.

2.github

사이트
https://github.com/

회원가입하고 로그인하면 레퍼지토리를 생성할 수 있습니다.

1.new 버튼 클릭

2.각 내용 작성

Repository name : 레퍼지토리의 이름입니다.아무거나 입력하시면 됩니다.
Add a README file : 레퍼지토리에 대한 안내서 혹은 설명을 기재하는 파일입니다.없어도 되지만 있으면 보기 좋습니다.
Add .gitignore : git으로 추적하지 않을 파일을 등록할 수 있습니다.

3.git repo url

Repository의 url은 code 버튼을 누르면 나오는 모달에서 확인 가능합니다.이 url을 통해 깃허브 repository의 git을 clone하거나 푸쉬할 수 있습니다.

profile
kokoko

0개의 댓글