git, github 개념 모음

신동윤·2023년 1월 14일
0

https://paullabworkspace.notion.site/GitHub-435ec8074bcf4353afb947f601a030df
https://backlog.com/git-tutorial/kr/
https://teamsparta.notion.site/GIT-Assignment-a4d1c046fef84dff8ff672a25a43060a

버전 관리: 프로젝트 상태가 변경되는 정보를 알고 있다는 것입니다.
Git 은 가장 널리 쓰이는 버전관리 도구 중에 하나로 commit 을 사용해서 버전이 달라지는 것을 관리합니다.

git 초기화(git initialize) : 컴퓨터에 있는 프로젝트를 Git 이 관리하는 프로젝트로 만들 수 있습니다. 앞으로 Git 으로 관리할꺼야! 하고 설정해주면 됩니다. 이 작업을 한다고 표현합니다.

commit : 현재 프로젝트의 상태를 찰칵 📸 저장하는 것을 이라고 합니다.
누가(author), 언제 commit 했는지의 정보와 프로젝트 변경 내용
작업내역이 어떤 것인지 알아볼 수 있게 적는 메시지를 'commit 메시지'라고 합니다.

add (혹은 staging, 스테이징) : commit 에 반영할지 안할지는 파일 단위로 선택할 수 있습니다. commit 에 반영할 파일을 선택하는 것

commit history : commit 한 순서대로 리스트. 역사!

repo : 'Git으로 관리되는 프로젝트' 를 Git 에서는 repo(리포, repository 리포지토리의 약자) 라고 부릅니다. 내 컴퓨터에 저장되어있는 리포지토리를 로컬 repo(local repository) 라고 합니다. Github 처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 것을 원격 repo(remote repository) 라고 합니다.

Tracking(추적) : 로컬 repo 와 원격 repo 를 연결한다!
push : 로컬 repo 의 commit 들을 원격 repo 에 반영하기(push)! 밀어넣기. 원격 repo 에 없는 즉,새로운 commit 내역을 모두 원격 repo 에 한 번에 반영합니다.
pull : 원격 repo 의 commit 들을 로컬 repo 로 반영하기(pull)! 땡겨오기. 로컬 repo 에 없는 즉,새로운 commit 내역을 모두 로컬 repo 에 한 번에 반영합니다.
clone : 원격 repo 를 내 컴퓨터에 가져와서 초기 repo 세팅하는 것을 clone(복제하기)!


협업할 때는 아래의 단계를 따릅니다.
1단계. 누가 이 작업 할 것인지 정한다. - Issue
2단계. 각자 맡은 것을 작업한다. - Branch
3단계. 각자 작업을 프로젝트에 합친다. - merge
(경우에 따라). 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다. - PR 후 merge

issue 는 내가 할 작업, 기능 추가, 버그 리포트 등 여러 방식으로 사용할 수 있습니다.
협업을 하기 위해 issue 를 만들어 누가 작업할지 정하고, 브랜치를 만들어 작업할 공간을 나눕니다.

브랜치(branch)는 특정 commit 에서 갈라져나와 작업할 수 있습니다. 우리는 기능별로 이름을 만들어주어 브랜치에 작업해줍니다.
작업할 브랜치로 바꾸는 것을 체크아웃(checkout)이라고 합니다. 체크아웃된 브랜치에만 commit 이 반영됩니다.

브랜치의 작업 내역 commit 들을 다른 branch 로 반영(합치기)는 것을 Merge(머지, 병합) 이라고 부릅니다. 개발할 때는 기준이 되는 기본 브랜치를 정해놓고 해당 브랜치에 내용을 merge합니다.

브랜치명은 규칙을 가지고 잘 이름 지으면 프로젝트 관리가 쉬워집니다.

작업이 완료되면 작업한 브랜치는 보통 삭제해줍니다. 나중에 브랜치 설정이 꼬이는 것을 방지할 수 있습니다.

각 작업 브랜치에서 작업할 때는 다른 브랜치의 영향을 받지 않고 독립적으로 작업할 수 있습니다. jjigae.txt 파일을 각각 브랜치에서 자유롭게 수정한 것처럼요!

Merge 하는 과정에서 같은 파일이 동일한 부분이 수정된 게 발견되면 Merge conflict(병합 충돌) 이 발생합니다.
Git 이 똑똑하게 충돌을 파악할 수 있도록 파일 내용을 고쳐서 충돌 내역을 보여줍니다.
conflict 를 수정하려면 최종적으로 반영할 내역으로 고친 후에 merge commit 하면 됩니다.

tracking 한다는 것은 로컬 repo와 원격 repo의 특정 브랜치를 연결해주는 것입니다.
push와 pull 은 기본적으로 tracking(추적)되고 있는 브랜치를 기준으로 commit 내역을 반영합니다.

0개의 댓글