2023.11.19 - [GIT] - [GIT #2] 처음에 GIT 사용하는 방법 순서대로 알아보자!
이제 실제로 깃허브를 통해 협업하는 방법을 알아보겠다. 이전에 만들어 둔 test 저장소에서 작업을 계속 해보자!
만약 회사에 새롭게 들어가 기존 프로젝트에 참여한다고 가정해보자.
그렇다면 먼저 기존의 코드를 다운받아야하지 않을까?
기존의 코드를 다운받아 작업할 폴더를 새로 만들어보자.
필자는 간단하게 바탕화면에 "new"라는 폴더를 생성해보았다.
이제 해당 폴더에서 명령 프롬프트(cmd)를 열어보자
폴더에 들어가 위치를 더블클릭하여 다 지우고,
그 자리에 "cmd"를 입력한 후 enter를 누르면, 해당 폴더 위치의 명령 프롬프트가 뜬다.
이제, 기존에 존재한 test repository에 가서, 아래의 깃 주소를 복사해온다!
git clone https://github.com/사용자이름/test.git 00000
위의 코드를 명령 프롬프트에 입력한다. 00000 자리에는 폴더이름을 지정할 수 있는데, 이는 선택사항이다.
폴더 이름을 줄 경우에는 지정한 폴더 이름이 새로 생성되면서 그 안에 코드들이 다운로드가 되고, 폴더이름을 지정하지 않을 경우에는 깃허브 프로젝트 이름으로 폴더가 자동 생성된다.
필자는 폴더 이름을 지정하지 않고 실행해보겠다!
이제 만들어둔 "new" 폴더에 가보자.
test(저장소 이름 = 깃허브 프로젝트 이름) 라는 이름으로 폴더가 자동 생성됨을 확인할 수 있으며,
다음과 같이 깃허브 저장소에 있던 파일들이 내 로컬 폴더에 복사된 것을 확인할 수 있다!!
이제 나는 기존 프로젝트를 복사해왔으니, 새롭게 기능을 추가할 수 있다!
프로젝트에 참여를 해서 여러가지 코드 수정을 거쳐보자! (가정)
이제, 우리가 이전에 알아본 깃허브에 변경된 코드 올리기를 해보자.
# 변경한 파일 선택하기
git add .
# 히스토리 만들기
git commit -m "내가 처음으로 추가한 기능"
# 깃허브로 코드 올리기
git push origin master
그러나!!!!!!!!!!!! 이렇게 하면 안된다!!!!!!!!!1
마지막 줄에서 master branch로 코드를 올렸기 때문이다.
master branch는 말 그대로, master 즉, 중심이 되는 공간이다.
그러므로, 우리는 나만의 브랜치(branch)를 만들어야 한다.
git checkout -b 브랜치이름
이후, 내 브랜치에 소스코드를 업데이트 하는 과정을 진행하면 된다.
필자는 브랜치 이름을 간단히 me로 지었다.
# 변경한 파일 선택하기
git add .
# 히스토리 만들기
git commit -m "내가 처음으로 추가한 기능"
# 깃허브로 코드 올리기
git push origin me
이제, 나는 아무리 나의 코드를 망쳐도 master의 코드는 망치지 않게된다. 즉, 최종 프로젝트에는 영향을 미치지 않게 된다. 즉, 최종 프로젝트(메인 프로젝트)에는 내가 추가한 기능이 들어가지 않는다.
위의 코드를 터미널에서 실행하면 다음과 같이 깃허브에서 이런 정보가 뜬다.
이제 "Compare & pull request"를 눌러 master에 갈 수 있는 요청을 보내보자.
이제 아래의 "Create pull request" 버튼을 누르면,
다음과 같은 내용을 볼 수 있다!
이제 master 사용자의 기준으로 들어가보자.
브랜치를 master로 바꾸고,
commit을 통해 변경된 사항을 확인해본 후,
"Merge pull request" 버튼을 누르면, me가 추가한 기능이 master에 합쳐지게 된다.
이제 내가 추가한 기능이 메인 프로젝트(master)에 합쳐졌다!
만약, master 브랜치에서 새로운 코드가 생성되어 새롭게 코드를 가져와야 한다면..
# 마스터 브랜치에서 코드 가져오기
git pull origin master
를 통해 가져올 수 있다!
끄읏:)
'GIT' 카테고리의 다른 글
[GIT] 협업 Repository를 내 Repository로 복제해오기 (0) | 2024.06.12 |
---|---|
[GIT] DS_Store 파일 삭제 방법 (feat. Mac) (0) | 2024.06.12 |
[GIT #2] 처음에 GIT 사용하는 방법 순서대로 알아보자! (1) | 2023.11.19 |
[GIT #1] GIT 설치 및 GUI 프로그램(github desktop) 설치 (0) | 2023.11.19 |