Git & GitHub

김형석·2022년 5월 12일
0

WECODE

목록 보기
18/33

add, commit, push만 하면 끝!일줄 알았으나 팀 프로젝트를 하려면 기본적으로 Git과 GitHub에 대해서 아주 잘 알아야 한다는 것을 느끼고 정리를 해보자한다.

Git?

Git의 공식 명칭은 분산 버전 관리 시스템(vcs)라고 한다. 쉽게 말해, 프로젝트 파일의 변경 사항을 추적할는 시스템이다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다. Git은 개인 혹은 팀 간의 프로젝트를 관리하는 데 가장 널리 사용되고 있는 툴이다. 따라서 Git을 다를 줄 아는 것은 요즘 모든 개발자들에게 가장 중요한 기술 중 하나이다!

GitHub?

GitHub는 Git repository를 위한 호스팅 플랫폼이다. GitHub 없이도 git을 사용할 수 있지만ㄴ 다른 개발자와 같은 프로젝트를 두고 협업하거나 내 코드를 공유하기 어렵기때문에 사용한다.

Using GitHub

Common Workflow: 내 로컬 Repository를 GitHub 에 push 하기

  • 로컬에서 add / commit
  • Github 으로 이동 후 새 repository를 생성
  • 나의 로컬 repository 를 GitHub repository 와 연결 (remote 추가)
  • 새 remote 를 이용하여 코드를 Push

Pull Request (PR)

커스텀 브랜치를 push 하고 master 브랜치에 적용될 준비가 되었다면, Pull Request (PR) 라는 것을 통해 프로젝트 오너 (혹은 팀 리더) 에게 내가 작업한 브랜치의 작업내용을 master 브랜치에 반영해달라는 요청을 보냄

Conflicts (충돌)

순조롭게 merge 까지 진행되면 너무 좋겠지만, merge 하기 전 conflicts (충돌) 가 발생할 수도 있음. 충돌은 어떤 파일의 변경사항이 기준이 되는 master 브랜치의 파일과 겹쳐, Git 에서 어떤 버전의 코드를 선택해야하는지 모를 때 발생하는데, 개발자가 직접 충돌을 해결 후 merge를 해야한다.

변경사항 pull 하기

Pull Request 를 통해 master 브랜치를 업데이트했다면, 이제 로컬 repository 는 GitHub 에 있는 master 와 서로 다른 내용을 가지고 있겠지요? 이 때 git pull 명령어를 통해 remote 의 최신화된 코드를 내 로컬 repo 에 반영을 해주는 것이다.

git과 github를 간단하게 정리하자면

  • Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구
  • GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스

git & gitHub 명령어

git init - git 초기화
git status - git 상태 확인
git add - staging(중간 저장) git status로 상태 변화 확인
git commit -m "메세지" - commit
git log - commit hitory 확인
git remote add origin repository주소 -github repository연동
git push - git push

git branch <new-branch-name> - 브랜치 생성하기(브랜치는 따로 설명을 아래에 추가해보겠다.)
git checkout <branch-name> - 브랜치 전환하기(전환 되었으므로 이후에 남기는 커밋은 전환한 브랜치에 추가)
git branch - 프로젝트에 존재하는 모든 브랜치를 확인
git merge <branch-name> - 브랜치 병합하기(merge)
git branch -d <branch-name> - 브랜치 삭제하기(조심해서 사용하자)

git clone <github-repo-link> - repository 클론하기(다른 개발자들의 public repository 를 클론받아 작업)
git checkout -b <branch-name> - 한번에 새로운 브랜치를 생성하고 이동
git pull origin master - GitHub 으로부터 변경사항 pull 하기

Branches

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념! 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.
여러 명이서 동시에 작업을 할 때에 다른 사람의 작업에 영향을 주거나 받지 않도록, 먼저 메인 브랜치에서 자신의 작업 전용 브랜치를 만든다. 그리고 각자 작업을 진행한 후, 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치의 변경 사항을 적용한다.
각자 작업을 진행한 후, master브랜치에 병합시켜 프로젝트를 완성해 나간다.

Wecode - westagram 팀프로젝트 git 가이드(Team Project Flow)

profile
블로그 이사 : https://hengxi.tistory.com

0개의 댓글