Git으로 협업하기2

유아현·2022년 11월 19일
0

Git & Github

목록 보기
3/12
post-thumbnail

1. Git 연결

Q. 김코딩은 local working directory를 Git의 관리 하에 들어가게 해 주려고 합니다.

A. git init

2. 리모트 연결 (origin)

Q. 혼자 작업을 조금 진행하고 commit 기록을 남겼습니다. 내 Remote Repository와 연결해서 Remote 상에도 이 코드를 적용해야겠어요. origin이라는 이름으로 내 Remote Repository를 등록하세요. 내 Repository 링크는 https://github.com/kimcoding/test 입니다.

A. git remote add origin https://github.com/kimcoding/test
A. git remote add origin https://github.com/kimcoding/test.git

+ 2.1 git remote

  • git remote 명령어는 원격 리포지토리를 다루기 위한 git 명령어

+ 2.2 git remote add <name> <URL>

  • git remote add는 로컬 리포지토리에 원격 리포지토리 주소를 등록하는 명령어

  • 쉽게 원격 리포지토리를 파악하기 위해 이름을 지정해줄 수 있고, 이름 뒤에 원격 리포지토리 주소를 적으면 작동

    	<name>
    	- 앞으로 로컬 리포지토리에서 원격 리포지토리 주소를 대신할 이름 (ex: origin)
    	<URL>
    	- 원격 리포지토리 주소 (ex: git@github.com:codestates-seb/agora-states-fe.git )

3. Push 1

Q. 페어와 함께 작업을 진행하려고 합니다. 지금까지 main 브랜치에 커밋한 기록을 방금 등록한 origin remote repository에 올려서, 페어에게 코드를 공유해야겠어요.

A. git push origin main

+ 3.1 git push <remote> <branch>

  • 다른 CLI 명령어처럼, git push 도 매개변수를 가질 수 있다. <remote> 에는 원격 리포지토리의 이름을 입력하고, <branch> 에는 브랜치 이름을 입력

4. 리모드 연결 (pair)

Q. 페어가 내 Remote Repository를 Fork 했다고 합니다. 페어의 Remote Repository를 내 Local에 pair라는 이름으로 등록해야겠어요. 페어의 리파지토리 링크는 https://github.com/pair/test 입니다.

A. git remote add pair https://github.com/pair/test
A. git remote add pair https://github.com/pair/test.git

5. 리모트 확인

Q. 리모트 리파지토리가 잘 연결된 것이 맞는지 모르겠어요. 연결된 리모트 리파지토리의 목록과 주소들을 확인해 볼까요?

A. git remote --verbose
A. git remote -v

6. Pull 1

Q. 리모트 연결이 완료되었으니 페어와 나누어서 작업을 진행했습니다. 내 commit을 Push하기 전에 페어가 작업해서 본인의 Remote Repository에 올려 놓은 내용을 합치려고 합니다. 페어의 코드를 내 Local로 받아올 수 있을까요?

A. git pull pair main

7. Push 2

Q. 특정 commit 시점으로부터 각기 다른 commit을 만들면, 기본적으로 다음과 같이 자동으로 merge가 됩니다. 이제 내 Remote Repository에도 Local의 내용을 반영합시다.

A. git push origin main

8. Staging area: 버전 관리하에 둠 1

Q. 내가 footer.html 파일을 수정했습니다. 작업한 사항을 commit 하기 위해 먼저 staging area에 작업한 파일을 추가해주세요.

A. git add footer.html

9. Commit 1

Q. staging area에 파일이 추가되었습니다. 'footer 수정' 이라는 메시지로 commit 을 진행해주세요.

A. git commit -m 'footer 수정'

10. Pull 2

Q. 페어도 footer.html에 변경한 사항이 있다고 합니다. 내 커밋을 Remote에 푸시하기 전에 페어의 코드를 내 컴퓨터로 받아올 수 있을까요?

A. git pull pair main

11. 충돌 해결하기

Q. 앗.. 하필 페어도 footer.html 파일의 동일한 라인을 수정했군요. 페어가 작성한 파일과의 충돌이 발생했습니다. 더 진행하기 전에 이 충돌을 해결해야만 합니다. 파일 내 충돌하는 부분은 다음과 같은 모양을 띄고 있습니다. (enter를 눌러 터미널 창에서 확인하세요. 터미널에 나오는 내용은 실제 터미널에는 나오지 않습니다. 여러분이 파일을 어떻게 수정할 지를 보여주는 예시입니다.)

12. Staging area: 버전 관리하에 둠 2

Q. 충돌이 해결된 후 staging area에 올라간 파일은 자동으로 commit 메시지가 생성됩니다. 자동 생성된 commit 메시지를 적용하는 명령어를 입력하세요.

A. git add footer.html

13. Commit 2

Q. 충돌이 해결된 후 staging area에 올라간 파일은 자동으로 commit 메시지가 생성됩니다. 자동 생성된 commit 메시지를 적용하는 명령어를 입력하세요.

A. git commit

14. Push 3

Q. 다음과 같이 merge commit 메시지가 자동으로 생성됩니다. 이제 내 Remote Repository에도 Local Repository의 내용을 반영합시다.

A. git push origin main

0개의 댓글