git, gitHub.. 분명 너무나도 좋은 버전관리 및 협업 도구지만 처음 접하는 입장에서는 솔직히 너무 어려웠다🫠
기능을 이해하는건 쉬워도 협업에 적용하는건 쉽지 않았다.
튜터님 강의를 듣고 다 이해했다며 자신만만했던 나 반성해...(말하는 감자🥔)
"main branch 말고 다른 branch를 생성해서 거기에 저장하고 나중에 main branch에 병합하세요"
예?..새로운 branch는 또 어케 만드나요... merge는 또 뭐죠...ㅜㅠㅜ
팀원들의 설명을 3~4번은 듣고 나서야 겨우 큰 틀을 잡았다.
완벽하지는 않지만 기록하는 과정에서 정리가 많이 되니 써내려가보겠다.
🟡 main branch 생성하기
1. Git 저장소 생성 - git init
우선 프로젝트를 저장할 수 있는 저장 공간(Git 저장소)을 만들어야한다.
git init을 통해 Git 저장소를 생성할 수 있다.
참고로 git init은 프로젝트 시작 시 딱 한 번만 입력하면 된다.
주의: 프로젝트 파일이 있는 폴더에서 git init 명령어를 입력한다.
(잘못하면 다른 파일들까지 다 깃헙에 올라가는 대참사가 일어난다...)
git init 명령어를 통해 practice라는 폴더에 Git 저장소를 생성했다. ⬆️
성공적으로 생성되면 빨간 밑줄이 그어진 문구가 나오는데, 'Git 저장소를 00폴더에 생성하였습니다'라는 뜻이다.
참고로 git init을 하면 빨간 동그라미처럼 .git이라는 디렉토리(폴더)가 생긴다.
.git 디렉토리는 Git 저장소의 정보를 관리하는 중요한 역할을 한다!
해당 디렉토리가 있어야 Git이 내가 저장소로 선택한 폴더(여기서는 practice)를 저장소로 인식하고 버전 관리 기능을 제공한다.
2. Git 저장소에 파일 저장하기 - git add & git commit
저장소를 만들었으니 이제 원하는 파일을 저장할 수 있게 되었다!
파일 저장에는 git add 와 git commit 2개 명령어를 사용한다.
아주아주 간단히 설명하자면 아래와 같다.
- git add 파일명
저장할 파일을 지정하는 명령어
한번에 모든 파일을 지정하려면 파일명 대신 .을 써주면 된다. (git add .) - git commit -m "커밋 메세지"
지정한 파일을 저장하는 명령어
git add는 다음 저장 전까지 저장 예정인 파일들을 모아놓기 위해 사용한다.
즉, 파일을 아무리 add해도 commit 전까지 저장은 되지 않는다.
3. 온라인에 코드 저장 하기 - Github repository 생성
코드를 원격 저장소에 백업하고 공유하기 위해서는 GitHub에 새로 저장소(repository)를 만들어야한다.
(참고로 Git과 GitHub은 다르다)
새로운 repository를 생성하면 아래와 같은 화면이 나온다. ⬇️
빨간 상자 안에 있는 내용을 터미널 창에 복사 붙여넣기 한다. ⬇️
복붙한 명령어의 의미
- git remote add origin <github 주소>
git remote 는 원격 저장소를 관리하는 명령어이며,
git remote add 는 새로운 원격 저장소를 추가하겠다는 뜻이다.
origin은 새로 추가한 원격 저장소의 이름이다. 따라서 다른 이름으로 바꿔도 무방하다! - git branch -M <새 branch 이름>
1) 현재 지정된 branch와 새 branch 이름이 다른 경우: branch 이름을 새로운 이름으로 변경
2) 현재 지정된 branch와 새 branch 이름이 같은 경우: 기존 branch를 덮어 씀
+) git branch -m <기존 branch 이름> <새 branch 이름>
역시 branch 이름을 바꾸는 명령어이지만,
차이점은 새 branch 이름이 기존 branch 이름과 동일할 경우 오류가 발생함.
- git push -u <원격 저장소 이름> <branch 이름>
git push -u 는 파일을 push할 원격 저장소와, 기본(upstream)으로 사용할 branch를 설정하는 명령이다.
쉽게 말해 앞으로 git push만 입력해도 지정된 저장소와 branch를 사용하는 것으로 알아서 처리하라는 것.
(git push만 입력해도 git push origin main으로 처리해!!)
git push에 성공하면 아래와 같이 add, commit 했던 파일이 Github 저장소에 올라간 것을 확인할 수 있다!
🟡 새로운 branch 생성 및 main branch에 연결하기
현재 repository에는 main branch 한 개밖에 없지만, 새로운 branch를 만들어야하는 경우가 있다!
이번에 정리할 내용은 new branch를 만들어 main branch에 연결하는 것이다.
1. 새로운 branch 생성 - git checkout -b <branch 이름>
git branch <branch 이름> 이 명령어로도 새로운 branch를 생성할 수 있다.
하지만 git checkout -b <branch 이름>을 사용하면 새로운 branch를 생성함과 동시에 해당 branch로 이동할 수 있다.
2. main branch에 새로운 branch 연결 - git push <github repository 주소>
새로운 branch에서 저장할 파일을 이전에 설명한 대로 add, commit 해준다.
그 다음 git push를 해줘야하는데, 이때 주소를 지정해 줘야한다! 바로 main branch가 있는 repository의 URL로!
URL 은 '<> Code' 버튼을 누르면 확인할 수 있다.
push에 성공하면 아래 사진 처럼 1개 였던 branch가 2개로 늘어난 것을 확인할 수 있다.
새로운 branch가 저장소에 push 되었다는 알림도 확인할 수 있다.⬇️
🟡 new branch에 있는 파일을 main branch에 merge 하기
merge는 좀 더 간단하다 노란색 박스 안에 있는 'Compare & pull request'를 클릭한다.
merge가 가능하다는 메시지가 떴다.
new branch에서 main branch로 merge한다는 내용도 확인할 수 있다.
필요한 내용을 채우고 'Create pull request' 버튼을 클릭해준다.
마지막으로 충돌이 없는지 검사 후 확인 메시지가 뜬다.
'Merge pull request' 버튼을 클릭하고 이어서 'Confirm merge'버튼도 클릭해준다.
merge에 성공하면 아래 메시지를 확인할 수 있다.
다시 '<>Code' 화면으로 돌아가면 새로운 파일이 추가된 것을 확인할 수 있다.
이렇게 새로운 branch 생성부터 merge까지 정리했다!
아직 아는 것이 별로 없기에 앞으로 많이 경험하고 꾸준히 정리해나가 보겠다.