Git&GitHub 튜토리얼 (3)

이정아·2021년 10월 31일
0

Git&GitHub

목록 보기
3/3
post-thumbnail

1. github

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

GitHub repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 해주고, public 혹은 private 하게 협업할 수 있다.

2. Using GitHub

  1. repository 생성

  • 생성 완료
  1. 작업 폴더로 이동 후 터미널에서 순서대로 실행
echo "# github-tutorial" >> README.md #파일 생성
git init # 깃 초기선언
git add README.md #staging area에 추가
git commit -m "first commit" #커밋
git branch -M main #master >> main 으로 브랜치 이름 변경
git remote add origin https://github.com/wjddk97/github-tutorial.git # 깃헙 연동
git push -u origin main # 해당 remote repository 로 업로드 

로컬환경에 이미 Git repository 가 있다면 아래 ...or push an existing repository from the command line 부분에 나와있는 순서대로 진행하면 됩니다.

로컬 Git repo를 GitHub remote repo 와 연결 후 push 까지 했다고 로컬에서 작업한 내용들이 자동으로 remote 에 반영되는 것은 아니다. 그래서 변경사항이 있으면 다시 push 를 해줘야 GitHub repo 가 업데이트 된다.


3. repository 클론하기

clone 할 파일로 이동 후 진행

git clone <github-repo-link> 

ex)
git clone https://github.com/wjddk97/wecode.git

clone 받은 GitHub repository 의 이름을 그대로 딴 폴더가 생성되고 clone 시점에 remote repository에 존재했던 모든 폴더 및 파일들이 그대로 복제되어 있는것을 확인할 수 있다.

💡 이렇게 다른 개발자들의 public repository 를 클론받아 작업할 수도 있습니다.


4. merge

  • github에 브랜치 push 하기
#로그인 기능 작업 브랜치 feature/login 에서
git add .
git commit -m '커밋 메세지'
git push origin feature/login
  • Pull Request (PR) 생성 후 작성
    위 처럼 푸시를 하고 main 브랜치에 적용될 준비가 되었다면, Pull Request (PR) 라는 것을 통해 프로젝트 오너 (혹은 팀 리더) 에게 내가 작업한 브랜치의 작업내용을 main 브랜치에 반영해달라는 요청을 보낼 수 있다.

Pull Request 에서는 해당 repository 를 열람할 수 있는 권한이 있는 개발자들이 작업내용에 대한 리뷰를 해주거나, 변경 사항을 확인할 수 있다. (main 브랜치로 합쳐지기 전에 확인해야하기 때문에)

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

  • merge가 된 후
    로컬 repository 는 GitHub 에 있는 main 과 서로 다른 내용을 가지고 있다. 이 때 git pull 명령어를 통해 remote 의 최신화된 코드를 내 로컬 repo 에 반영할 수 있다.

📌 main 브랜치로 전환 후 최신화를 시켜준다.

git pull origin main

0개의 댓글

관련 채용 정보