본문 바로가기

카테고리 없음

Git으로 협업하기 2

repository를 만들었다면, 이게 준비가 끝났다. cmd와 vscode를 통해서 Git으로 협업할 수 있다. 

 

 

 

이후, 이 내 repo에 있는 저 초록박스 코드를 누르면, .git으로 끝나는 주소를 얻을 수 있다.

 

이 주소가 필요하다.

 

 

처음에 내 컴퓨터(로컬)에서 cmd키고 이 git으로 협업할 컴퓨터 주소로 간다. cd ~~ 사용

 

그리고나서

git clone [저 URL] < 이 명령어를 입력해준다.

 

그리고나서 code .을 통하든 아니면 vs코드로 해당 폴더를 열면

 

repo 처음 만들때 기본적으로 있던 README나 .gitignore이나 이런 것들이 보인다. 

 

git status 

입력시 뭐 변화가 있나 이런거 확인할 수 있다. 

 

내가 파일 내에서 뭘 수정하고 나서 이걸 저장하려면 다음과 같은 과정이 필요하다. 

 

 

git add .

 

git commit -m "커밋 메시지"

여기서 커밋메시지는 방금 수정한 내용이 뭔지 그런걸 일반적으로 써줌.

git push

이 마지막 push를 통해 로컬 환경에서의 수정된 코드가 웹상의 깃헙으로 수정되고 반영된다. 

 

 

 

 

 

 

 

다른사람이랑 협업할 때는 Branch라는 기능을 사용한다. 

 

지금은 아까 그 repository가 아니라 내 동료의 repository에 들어갔다고 가정하자. 

(지금 case는 repo의 주인이 내가 아니다.)

 

일단 git clone으로다가 바뀐 주소를 입력해주고 작업을 시작한다. 

 

4명이 하나씩 기능을 맡아서 개발을 진행한다고 치면, 이 4명의 수정된 코드가 하나의 파일이나 장소에서 작업하는 것보다 각각 개별적으로 떨어져서 작업하다가, 반영해야될 코드만 모아서 나중에 합치는 것이 좋다. 

 

그래서 브랜치를 생성한다. 그리고 그 장소에서 내가 할 작업을 한다. 

 

git branch 이름

내가 명명할 브랜치의 이름을 갖다가 써주면 된다. (얘는 main branch는 아니겠지)

 

그다음에 그 브랜치에 가서 작업을 할 것이라면 

git checkout [내가  갈 브랜치 이름]

git switch [내가  갈 브랜치 이름] 이렇게 하면 branch를 이동할 수 있다. 

 

내가 잘 이동했는지 확인하려면 

git branch 를 입력해보자. 현재 내가 어디에 있는지 확인할 수 있다. 

 

 

그 branch로 옮겨가서 작업을 끝냈다고 치자,

저장하고

 

git commit -am "커밋메시지"  (이렇게하면 add .과 commit -m "커밋메시지" 한번에 하는 효과 있음)

 

그다음 내가 만든 브랜치를 협업하는 그 github에 올릴 때, 그냥 git push하면 될 거 같지만 안된다. 

처음 내 브랜치를 원격 repository에 올리려면 

 

git push --set-upstream origin [내가올릴 브랜치이름] 을 해줘야한다. 왜??

 

첨에 올릴때 내 로컬 환경의 git과 웹상의 github이 연결되어야 하기 때문에 그렇다. 

 

저렇게 해서 잘 올라갔다 치자. 

 

 

 

 

 

이번엔 내가 repo의 주인이고, 다른 사람들이 작업한 결과물들을 각자의 branch에 저장해놓았고, 이것이 웹상의 github에 반영되었다고 치자. 

 

나는 반영된 코드들 중 내가 반영하고 싶은 코드들을 모두 반영하고 싶은 상황. 

 

그럴땐 내가 코드를 모을 branch로 이동한다. (보통 main 이겠지)

 

그 후에 그 브랜치 위치에서 다음과 같이 입력한다. 

 

git merge [merge 대상 브랜치 이름]

 

근데 보통 이 코드가 나의 main 브랜치와 차이나는 부분이 명확하다면 그 부분만 반영되어서 merge가 삭 되겠지만

 

차이나는 부분이 매우 많은경우 conflict가 발생한다.

이런 경우는 서로 다른 변경을 동일한 코드에 적용하려고 할 때 발생한다.

 

conflict 발생한 경우 VS코드에서 어떤 부분이 다르고 충돌되었는지 다 보여준다. 아주 친절하다. 

 

그럼 내가 반영하고 싶은건 반영하고 빼고싶은 건 뺀다음에, 

 

그 상태에서 

git commit -am "커밋 코멘트"

git push 해주면 된다. 

 

 

 

 

 

 

 

 

*추가 pull & push & commit

 

git의 웹상 repository에서 코드들을 받아와야 할 일이 있다. 업뎃차원에서 

그럴때는 git pull 해주면 된다. 

 

출처:https://www.youtube.com/watch?v=0nqJKEh3YCc

 

우리가 작업을 끝낸 후, ctrl +s를 눌러 저장하듯이, 로컬환경에 수정된 것들을 저장하는 도구는 commit이다.

commit하기 전에, 저장하기 원하는 파일들을 묶어주는 작업이 먼저 필요하다. 이것이 add 작업.

 

그리고 수정사항이 반영된 로컬에 있는 코드들을 웹상 remote repository 환경에 올려놓는 걸 push라고 부른다. 

 

add > commit > push > 마지막엔 웹상에 잘 반영되었는지 확인 !