git, github 이해하기

박병규·2021년 7월 12일
1

인공지능_부트캠프

목록 보기
1/17
post-thumbnail

Git을 왜 사용할까??

코드 작성을 한 명이 아닌 여러명이 작업을 하게 된다면 서로 간에 코드를 공유해야하는 일이 수시로 생긴다. 메일로 코드를 공유하고 또는 usb로 공유를 하고 코드를 합치게 되면,,, 벌써부터 답답한 문제들이 생길 것 같은 느낌이 든다.

이를 해결하기 위해 분산 버전관리 시스템인 Git을 사용해보자

Git은 코드의 관리를 분산하고 코드의 버전, 코드의 흐름 등을 관리 해준다.

Git의 구조


Git의 구조는 위의 그림과 같이 원격 리포지토리 github를 공유하고 사용자들인 로컬 리포지토리인 git에서 push, pull을 하며 협업을 할 수 있는 구조이다.

Git 명령어

git init - 로컬 리포지토리를 생성할 때 사용한다.

git은 숨긴 폴더로 관리되기 때문에 ls에서는 나오지 않고 ls -al 명령어를 이용하여 확인 할 수 있다.

로컬 리포지토리에서의 파일 상태

로컬 저장소는 Working Directory(unstaged), Staging Area, Repository로 나뉜다.

git add <파일이름> - unstaged한 파일을 staged한 파일로 바꿔준다. (다음에 무엇을 commit할 지 남긴다는 뜻)
git commit -m <커밋메세지> - git에 어떤 파일을 변경했고 그 내용을 알려줄 수 있다.
git status - git의 상태를 확인할 수 있는 명령어
git log - Commit 기록을 확인 할 수 있는 명령어

Git Branch

git의 branch를 사용하여 메인 코드와 달리 독립적으로 어떤 작업을 진행할 수 있다. branch는 필요에 따라 만들어 지고 지워 질 수 있고 다른 branch를 영향을 받지 않는다. 이러한 점 때문에 여러 작업을 동시에 할 수 있게 됩니다. (따로 commit된 상태로 나타난다) 또 완료된 branch는 병합할 수도 있다.
default로 main branch가 생성이 됩니다

git branch -v - git의 branch를 확인 할 수 있는 명령어
git branch <branch_name> - 새로운 branch를 만들어 주는 명령어
git checkout <branch_name> - 작업중인 branch를 전환해 주는 명령어
git merge <branch_name> - 작업중인 branch를 원하는 branch와 병합해 주는 명령어

Git, Github

Git - 로컬 저장소
Github - 원격 저장소
원격 저장소를 활용하여 다른 사람들과 협업을 보다 쉽게 할 수 있다!

github의 원격 저장소는 https://github.com/ 에 가서 new reposiory를 통해 생성을 할 수 있다.

git remote add <별칭> <원격저장소 주소> - <별칭>은 주로 origin을 쓴다. 원격 저장소로 등록을 해주는 명령어 이다.
git remote -v - 어떤 branch가 있는지 확인 할 수 있다.
git branch -M main - branch의 이름을 main으로 바꿔준다.
git push <remote_repo_name> <branch_name> - 로컬 저장소의 작업을 원격 저장소에 저장을 해준다.

github에 제출하기

Fork - 특정 repository를 나의 원격 저장소에 그대로 복제를 해온다.

git clone <remote_repo> <별칭> - 원격 저장소의 내용을 로컬 저장소로 가지고 오는 명령어

Pull Request - 제목과 어떤 내용을 바꿨는지에 대한 내용을 써서 제출을 하면 된다. base, compare를 잘 설정해 두자


git, github를 그냥 과제 올리는 용도로만 사용하다가 이번 기회에 자세히 알게되었는데 생각보다 복잡하고 PR하는 과정에서 삽질을 조금 했다,, 이번 방학에 익숙해져야겠다

profile
computer science student

0개의 댓글