목차
Visual Studio Code에서 Git으로 협업하기
Visual Studio Code에서 Git으로 협업하기 - 1. github.com - YouTube
본 글은 유튜브 무료 강의 생활코딩의 키워드만 정리하는 글
1. github.com
git client(git cli, source tree, vscode git)
↓ (push) ↑ (pull)
git server(github.com)
branch : 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능
ex. master, origin, head
2. clone
복제 : 원격저장소의 주소 복사 → clone repository
git에서 push/pull을 통해 여러 장소에서 작업 가능.
3. 협업
github.com
settings - collaborators에서 다른 사람을 현재 저장소로 추가할 수 있음.
두 명이 서로 다른 버전을 push할 때 한 명은 push가 안되고 거부될 수 있음.
Why?
먼저 push한 사람이 그 버전의 master가 된다.
즉 뒷 사람이 push를 하게 되서 master가 되면
먼저 한 사람의 버전이 날라갈 수 있기 때문에 거부된거라 이 경우 pull하고 올리는 방법도 있다.
※ 단 pull = fetch + merge (땡겨와서 병합한다.)
fetch : 원격 저장소에서 읽어와서 다른 가지를 만들 수 있음.
이후 merge를 통해 다시 같은 가지로 합칠 수 있고 서로 다른 가지로 작업하다가 합칠 수 있고
다양한 방식으로 협업 가능.
이런식으로 부모가 둘인 버전이 나타남.
이렇게 해야 push가 정상적으로 잘 작동함.
이제 다른 사람이 pull해서 작업하고 push하고 fatch하고 merge하는 방식.
4. 충돌
다른 사람들이 서로 같은 파일을 수정했을 때 나타나는 과정을 살펴보자.
1. 서로 같은 걸 수정했을 때 비슷하게 pull하고 push하는 방식으로 하면 정상 작동됨.
2. 같은 파일을 수정하는데 서로 다른 줄을 수정하고 pull을 하면 자동으로 내 파일도 수정이 되는 것을 확인할 수 있음.
3. 서로 다른 사람이 같은 파일은 수정하는데 서로 다르게 수정했을 때 어떻게 충돌할까? (conflict)
자동으로 병합하면 안되는 걸 병합을 안시켜주는 기능.
마무리
git이 정말 유용한 프로그램인 걸 인지를 했고
지난편 git 버전 관리에서 보았던
git의 원리인 아래 표를 계속 보면서 익히면 수월하게 적응할수 있을 것이라고 생각됨.
working directory | Stage Area | Repository (.git) | Pointer | .gitconfig | ||||||||||
name | content | name | content | message | files(tree) | parent | commit id | HEAD current version |
||||||
name | content | |||||||||||||
work1.txt | 1 | work1.txt | 1 | work 1 | work1.txt | 1 | fe0dee8 | master | [user] | |||||
work2.txt | 2 | work2.txt | 2 | work 2 | work1.txt | 1 | fe0dee8 | 0f4ba54 | email = name@example.com | |||||
work3.txt | 2 | work3.txt | 2 | work2.txt | 2 | master last commit |
name = name | |||||||
work3.txt | 2 | 0f4ba54 |
'IT > 컴퓨터' 카테고리의 다른 글
[Git] 생활코딩 Visual Studio Code 내용 정리 (기본 사용법, Git) (0) | 2023.03.17 |
---|---|
[Git] 생활코딩 Git1 내용정리 (Git은 무엇인가?) (0) | 2023.03.16 |
[IT] 기초 내용 정리 (0) | 2023.02.23 |
댓글