Git(깃)과 GitHub(깃허브)의 개념
1. Git
0) 개념
- 모든 파일의 변화를 기록
- 같은 파일에 대한 각기 다른 버전을 보관할 수 있음
- 변경사항을 모든 각기 다른 n개의 파일에 바로 적용할 수 있게 도와줌
- 공동 작업자와 같이 서로의 영향 없이 작업 가능하게 해줌
1) VCS(Version Control System)
- 파일의 변화를 시간에 따라 버전별로 기록하고 추후 특정 시점의 버전을 다시 꺼낼 수 있는 시스템
- VCS가 없었을 때까지는 일일히 버전별 파일을 만들어야 했음
2) VCS 종류
- 중앙 집중식 버전 관리 시스템(Centralized Version Control)
- 각각의 개발자들이 원하는 내용을 서버에 업데이트하여 즉각적으로 동기화가 이루어지는 시스템
- 문제점
- 서버에 문제가 생기면 개발자들이 작업 x
- 인터넷이 없을 경우 개발자들이 작업 x
- 분산버전 관리 시스템(Distributed Version Control)
- ex) git, mercurial, darcs ...
- 중앙 집중식 버전 관리 시스템(Centralized Version Control) 의 문제를 개선하고자 나온 시스템
- 히스토리 정보
- 서버에만 히스토리정보가 있음( X )
- 모든 개발자들이 동일한 히스토리 정보를 가지고 있음( O )
- 분산된 시스템으로 관리로 서버에 문제가 생겨도
- 서로의 정보로 서버를 복원 및 이어서 작업 可
- 인터넷 없이도 작업 可
- 회사에서는 주로 서버를 사용하는 방법
- 사내 전용 서버
- github와 같은 클라우드
- 프로젝트의 전체 내용을 snapshots해 가지고 있음
- 버전들 사이를 자유자재로 이동 가능
- 변경되지 않은 파일들은 링크로 주기 때문에 모든 동작이 빠름
- 쉽고 빠른 브랜치
2. GitHub
0) 개념
- 클라우드에 있는 Git 제공자
1) GitHub의 흐름
- 내 pc에 있는 Git 히스토리 ----(푸시)---->> GitHub ----(히스토리 = 변화기록)---->> 공동 작업자
2) 관련 용어
- 푸시(Push)
- 로컬 리포지토리의 파일을 리모트 리포지토리로 올리는 것
- 풀(Pull)
- 리모트 리포지토리에서 로컬 리포지토리로 내려받는 것
- 리포지토리(Repository)
- 저장소
- 포크(Fork)
- 다른 사람의 리포지토리 수정, 추가를 위해 해당 리포지토리를 자신의 GitHub 리포지토리로 복제하는 기능
- 원본 리포지토리와 연결되어 있음
- 클론(Clone)
- 리모트(원격) 리포지토리와 나의 로컬 pc를 연결하여, 데이터를 복사해 가져오는 작업
- 포크한 리모트 리포지토리 ----(연결)---- 나의 로컬 pc
- 위 작업으로 데이터를 복사해 가져오는 작업
- 브랜치(Branch)
- 동일한 소스 코드에서 가져온 독립적인 개발라인
- 새 기능이나 버그 수정 작업 시 브랜치를 사용하여 다른 팀 구성원의 작업과 분리 可
- 별도의 브랜치를 하나의 브랜치로 병합 可
참고 사이트
https://www.youtube.com/watch?v=YFNQwo7iTNc
https://www.youtube.com/watch?v=lPrxhA4PLoA
버전 관리 시스템과 GIT의 특징
버전 관리 시스템과 GIT을 알아보자.
velog.io
[Git] Git 개념 이해
프로그램 공부를 하다보면 한 번쯤은 Git에 대하여 들어보거나 사용해보게 된다. 대충은 알겠는데 자세히는 모르겠는것, 사용할 줄은 알겠지만 정확히는 모르겠는 것, 이번 기회에 정확한 정의
velog.io
https://tech.10000lab.xyz/git/how-git-is-different.html
깃(Git)은 뭐가 다른가? - 스타트업 엔지니어링
깃(git)에 관한 기본 지식 개발자라면 여러 종류의 버전관리 시스템(Version Constol System, VCS)을 사용해 보신 분도 있겠죠. 서로 비슷한 면들이 있겠지만 그래도 깃이 어떻게 동작하는 지 한번 짚어
tech.10000lab.xyz
[Git/GitHub] 자주 사용하는 용어와 커맨드를 제대로 알아보자
그동안 git을 사용하면서 빈번하게 사용했던 용어와 커맨드의 의미를 알아보자
velog.io
https://velog.io/@jidam03/%EA%B9%83%ED%97%88%EB%B8%8C-fork
깃허브 fork
출처(https://eunhee-programming.tistory.com/159개발자들끼리 협업할 때 쓰인다원작자 코드를 fork하면 내 원격 저장소에서 코드를 맘대로 뜯어 고칠 수 있다git remote -v 원격 저장소 확인 git remote add u
velog.io
https://devlog-wjdrbs96.tistory.com/6
[Git] clone 과 Fork 의 차이점
이번 글에서는 clone과 Fork의 차이점을 알아보려 한다. 1. fork란? fork는 다른 사람의 Github Repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 Github Repository로 그
devlog-wjdrbs96.tistory.com
Git 브랜치란 무엇입니까? | Git tutorial | Nulab
Git 브랜치는 본질적으로 독립적인 개발 라인입니다. 새 기능이나 버그 수정 작업을 할 때 브랜치를 사용하여 다른 팀 구성원의 작업과 분리할 수 있습니다. Git 브랜치는 동일한 소스 코드에서
nulab.com