세미나 : Let's GIT it~!

Inyeong Kang·2021년 9월 18일
0
post-thumbnail

1. Git과 GitHub이란?

Git과 GitHub은 엄연히 다른 것!
개발자라면 이 두 지를 모두 사용해 경험이 있거나 사용하게 될 텐데요.
둘의 차이점에 대해서 간단히 알아보았습니다 : )

- Git

Git은 소스코드를 효과적으로 관리하기 위해 개발된 분산 버전 관리 시스템(DVCS : Distributed Version Control Systems)입니다. Git 데이터베이스에 작업 기록을 남길 수 있고 덕분에 효과적인 코드 관리는 물론 코드 손상을 예방할 수 있답니다!

- GitHub

GitHubGit 호스팅 웹 서비스로 Git의 Remote Repository(원격 저장소)를 제공해주는 일종의 클라우드 서비스입니다. GitHub 외에 원격 저장소 서비스로는 GitLab, GitBucket 등도 존재한다고 하네요. 저장소를 여러 사람들과 공유하고 협업할 수 있기에 많은 개발자들이 사용하는 플랫폼으로 거듭날 수 있었습니다!

- 버전 관리 유형

  1. 로컬 버전 관리 : 디렉토리로 파일을 복사하는 방법이며, 작업 중인 디렉토리를 삭제하는 등의 실수로 인해 문제가 생길 수 있으니 주의해야함.
  2. 중앙 집중 버전 관리 : 파일을 관리하는 서버가 별도로 존재하며 클라이언트가 중앙 서버에서 파일을 받아서 사용하는데 이러한 중앙 서버관리에 주의해야함.
  3. 분산 버전 관리 : 히스토리를 포함한 저장소 전부를 복제하므로 서버 저장소에 문제가 생기더라도 로컬 저장소에서 다시 복구하여 사용할 수 있는 장점이 있음.

- Git 명령어와 Git 플로우

Reposiory는 저장소라고 불리며 실제 코드가 담겨 있다. 커밋 내역 등의 모든 작업 기록들이 담겨 있는 공간이라고 볼 수 있다.


2. Repository 생성 및 Clone 해보기

- GitHub에 Repository 생성

  • New 버튼 -> Repository name 설정 (Public) -> Create repository 버튼
    GitHub에 계정을 생성하고 Repositories 목록에 있는 "New" 버튼을 클릭하여 새로운 Repository를 생성할 수 있다.
    Repository name을 원하는 대로 설정한다. 프로젝트에 대한 설명을 적고 싶다면 Description을 작성할 수도 있다. Public과 Private 옵션 중에서는 Public을 선택하여 프로젝트를 공개해둘 수 있다. "Create repository" 버튼을 클릭하면 Repository에 접근할 수 있는 HTTPS와 SSH 주소가 생성된다.

- 로컬에 Repository를 Clone 하기

파일을 Clone 할 폴더를 우클릭하여 CMD 또는 Git Bash를 실행 or CMD 또는 Git Bash 실행 후 명령어를 사용하여 Clone 할 디렉토리로 이동 -> Repository 주소를 사용해 Clone 진행

  • 파일 경로 이동 명령어

    cd [경로]

  • Clone 코드

    git clone [복사한 주소]

+) 유용한 Git 코드

  • Git 상태 및 파일 수정 정보 확인

    git status

  • add 코드

    git add . 또는 git add [수정 파일명]

  • commit 코드

    git commit -m "[커밋 메세지]"

  • push 코드

    git push


3. GitHub에서 Fork 해보기

- GitHub의 Fork 기능

GitHub에 참여하고 싶은 프로젝트가 있는데 push 권한이 없어서 프로젝트에 참여하지 못 할 때에 Fork 기능을 활용하여 프로젝트를 통째로 내 저장소로 복사한 뒤에 pull request(PR)을 하여 프로젝트에 기여할 수 있다.

- 프로젝트 Fork 하기

  1. GitHub에 있는 프로젝트 중 마음에 드는 것을 골라 Fork 한다.
  2. 나의 로컬에 해당 프로젝트를 내 저장소로 Fork한 후 생성된 주소로 clone 한다.
  3. 기존 프로젝트의 주소로 remote 한다.
  4. 코드 수정 작업을 위한 branch를 생성한다.
  5. 에디터 등을 활용하여 파일 및 코드를 수정한다.
  6. 수정한 정보를 GitHub에 반영한다.
  7. 내 GitHub 저장소에서 기존 프로젝트 저장소로 pull request 한다.
  8. 기존 프로젝트 저장소에 내 수정 정보를 merge 한다. -> 해당 작업은 프로젝트에 대한 권한이 있을 때에만 가능하고, 권한이 없는 사람의 수정 정보는 프로젝트 관리자가 코드를 확인하는 절차를 거친 후 merge 된다.
  9. 코드를 동기화하고, 작업을 위해 생성했던 branch를 삭제한다.
* 해당 작업 이후에도 추가적으로 코드를 수정하고 반영하고자 한다면 pull을 하여 프로젝트 정보를 다시 불러오고 4 ~ 9번을 통해 작업을 수행한다.

- Fork 과정 중 사용 코드

  • 파일 경로 이동 명령어

    cd [경로]

  • clone 코드

    git clone [주소]

  • remote 코드

    git remote add [새로운원격저장소명upstream] [기존프로젝트주소]

  • 원격 저장소 정보 조회

    git remote -v

  • branch 생성 후 변경

    git checkout -b [새로운브랜치명develop]

  • add 코드

    git add . 또는 git add [수정 파일명]

  • commit 코드

    git commit -m "[커밋 메세지]"

  • push 코드

    git push [내저장소명origin] [작업브랜치명develop]

  • pull 코드

    git pull [원격저장소명upstream] [기본브랜치명main]

  • branch 변경

    git checkout [브랜치명main]

  • branch 삭제

    git branch -D [작업브랜치명develop]


마무리

게더 연결 문제로 조금 늦게 세미나를 시작하게 되었고, GDSC 블로그를 Fork 하는 실습까지 진행되어 세션이 길어지게 되었는데요. 그럼에도 불구하고 세미나에 집중해주시고, 커리큘럼 내에서도 끝까지 잘 참여해주신 GDSC 멤버분들에게 감사하다는 말씀을 드리고 싶네요!! 오늘 소개한 Git의 사용법 외에도 코드 에디터와 Git 연동 등 Git과 GitHub의 활용도는 정말 다양한데요. 오늘 저의 세미나를 계기로 여러분이 Git & GitHub과 조금이나마 친해진 계기가 되었다면 정말 기쁠 것 같네요🙏 다음에 더 좋은 세미나로 돌아오겠습니다~! 그럼 이만, let's git it-!

profile
안녕하세요. 강인영입니다. GDSC에서 필요한 것들을 작업하고 업로드하려고 합니다!

0개의 댓글