혼자 git을 사용할 때는 commit
이랑 push
만 잘 해주면 큰 어려움은 없었는데 팀프로젝트를 하면서 사용해보니까 많이 어렵게 느껴졌다...
특강도 2번이나 해주셨는데 clone
, pull
부분이 어렵다.
정확히 말하면 어느 파일을 열고 해야하는지 제대로 익혀지지 않은 것 같다.
그래서 지금까지 들은 특강 내용들을 싹 정리해서 기록하고 어려울 때마다 이걸 보면서 익혀보려고 한다!
git 명령어 정리
팀프로젝트를 시작할 때 가장 먼저 초기 세팅을 해야한다. 이건 보통 팀장이 화면공유를 해두고 세팅한 후 git에 업로드 한다.
프로젝트 시작 단계
초기 세팅 완료하면 git repository
를 생성한다.
repository
는 간단하게 말하면 git에 있는 내 폴더
라고 생각하면 된다.
우리가 폰(local)으로 사진을 찍어서 아이클라우드(github)에 올리는 것처럼!
이렇게 하는 이유는 여러명이 함께 작업하는 공간인만큼 최종으로 올릴 git branch를 정하는 것도 중요해서이지만 확장프로그램 같은 기본 설정도 모두 다르게 하면 clone이나 pull을 해왔을 때 서로 코드 정렬이 다를 수 있기 때문이다.
git init
: 초기 세팅이 끝난 프로젝트 파일을 초기화 하겠다. (프로젝트 처음 생성하는 사람만 하면 됨)
git status
: git이 관리하고 있는 이 폴더 안에서 일어나는 상태를 보여달라!
git add .
: 만든 파일들을 트래킹하겠다. (add 다음 띄어쓰기 주의)
git commit -m “변경한 내용”
: 변경사항들을 저장하겠다.
⭐️ 변경사항을 저장하려면 add
, commit
세트로 알기!!!!
⭐️ add
,commit
후 git status
해서 확인했을 때, “Nothing to commit”이 뜨면 더이상 commit할게 없다는 의미이다.
여기까지는 내 pc 그러니까 local에서만 git으로 저장한거고 아직 github 에는 아무런 변화가 없다.
내가 수정한 코드가 전혀 올라가지 않고 local에서만 뚱땅거린거!!
이제 진짜로 github에 올려서 다른 팀원들도 코드를 볼 수 있도록 해야한다.
위에서 add
, commit
으로 git에는 기록을 해둔 상태이므로 우리는 github에 만든 레파지토리와 연결(remote
)해주어야한다.
레파지토리를 만들면 위 사진과 같은 화면이 뜬다.
git remote add origin “생성한 레파지토리 주소”
❓잠깐!! origin 이것 뭐예요?
origin
은 변수
라고 생각하면 되는데 생성한 레파지토리 주소가 너어어어어어무 기니까 극한의 효율성을 따지는 개발자들은 이걸 변수에 담아서 사용하고 싶었던거다.
origin으로 해도 되고 tomato로 해도 된다.
근데 걍 origin으로 하자,,, 그것이 국룰이니까(?)
⭐️ origin은 주소를 저장하는 변수일 뿐임!, 주소를 저장해두고 push할 때 사용하는 것!
🔍 제대로 연결된건지 확인할래요!
git remote -v
: 변수(origin)에 할당되어 있는게 뭔지 확인 할 수 있다.git remote remove origin
: origin에 할당된거 삭제!git push origin “브랜치 명”
이 명령어는 git push {깃 레파지토리 주소} "브랜치명"
과 동일하다.
그런데 push할 때마다 주소를 적기 불편하니까 origin에 넣어두었으므로 git push origin “브랜치 명”
으로 적어주는 것!
clone
은 와아안전 처음! 그러니까 초기 세팅을 했다거나 뒤늦게 합류해서 현재 작업중인 코드가 나한테는 없을 때 통!째!로! 쌍둥이처럼 받아오는게 clone
이다.
처음 다운로드 받을 때, 세팅이 다 되어있는거 그대로! 받으려면 clone
!
git clone "레파지토리 주소"
git clone -b {가져오고 싶은 브랜치} --single-branch url
: 해당브랜치만 클론⭐️ 처음에 레파지토리 만들고 git init
으로 초기화를 시켜주는데 clone
한 사람은 이 과정을 하지 않아도 git에 의해서 해당 파일이 관리되고 있다는 거 알아두자!
지금 과정을 다 했다면 결과적으로 폴더들이 이렇게 되어있는것!
💡 main
브랜치가 바뀐거를 pull 하고 싶어요!
git pull origin main
: 최신화 된 main 브랜치 가져오기💡 다른 팀원의 브랜치가 바뀐거를 pull 하고 싶어요!
git pull origin 브랜치명
: 해당 브랜치 가져오기예를 들어 bbb라는 브랜치에 팀원이 수정작업을 했고 이를 올렸다면, bbb 브랜치는 수정한 코드가 있고, main 브랜치에는 아직 없다.
때문에 main(수정코드없음) 브랜치가 bbb(수정코드 있음) 브랜치 코드를 pull 해와야한다.
pull request
: 수정한 코드를 팀원들에게 떙겨가 달라고 요청하는 것수정을 하고 push 한 후 깃허브로 가보면 사진처럼 New pull request
라는 버튼이 생긴다.
이 버튼을 누르고 수정한 부분을 적는 PR을 생성한다.
다른 팀원들은 메시지를 보고 코드리뷰를 하고 이상 없을 시 merge
단계로 넘어간다.
이건 보통 팀장님처럼 높은 직급에 계신 분들이 하는건데... (일단 난 아니라는 뜻^^)
팀프로젝트 하면서 내가 팀장이 되어서 이걸 눌러보는 경우가 생길 수 있으니 꼭 알아두기로 헤...
예를 들어서 설명하면
B라는 팀원이 수정한 코드를 github에 올려서 코드리뷰를 요청하면 다른 팀원과 팀장이 코드리뷰해서 검증하는 단계를 거친다.
이후 코드에 대해 코멘트를 남겨서 수정하고 최종적으로 완료돼서 합칠 경우 merge 버튼 누르면 된다. confirm merge를 하면 합쳐짐!
⭐️ 소스 합치는거는 원격에서 하는것! 로컬 아니여!
(+merge관련 내용은 2차 특강 후 더 자세히 수정하자! 07.17)
mkdir
: make directory 의 약자로,ls
: 목록 보기clear
: 터미널 창 지우기cd
: 프로젝트 폴더로 들어가기pwd
: 현재 내가 있는 위치 확인하기정말 기본 중 기본만 정리한 git 기본 명령어...!
팀프로젝트 하면서 오류났었던 clone과 pull은 조금더 공부해보고 따로 정리하거나 추가할 생각이다.
못해도 내일까지는 정리해서 올릴거임🔥
나도 튜터님처럼 깃응애 탈출하고 깃마스터 하고 싶다...