Git 공부를 위해 자료를 찾던 중 좋은 article이 있어서 올려본다.
2005년에 갓갓 Linus Torvalds가 Linux Kernel 개발을 위해서 새로운 version control system을 고안하게 되었고 Git을 만들게 된다.
소프트웨어의 변화를 추적하여 수정을 되돌리거나 개발자들간의 협업을 용이하도록 만드는 tool이다.
(변화를) 추적하는 모든 파일들을 한데 묶어 object라 하며 각 object는 유일한 hasn id를 가진다.
그리고 그 object들은 Directed Acyclic Graph (DAG) 로 표현된다.
Git은 distributed version control system으로 이를 그림으로 표현하면 이런 꼴이다.
몸체가 되는 server에 remote repository가 있고 local repository가 하나 이상 존재한다.
(보통 server로 bitbucket, github 등을 사용한다.)
local에서 remote repository의 내용물을 pull 해오던가 local repository의 내용물을 push 해서 remote repository의 내용을 바꿀 수 있다.
위 과정을 조금 더 면밀히 보면 이런 꼴이다.
위 article에서 여러 terminology를 소개하였는데 읽어보면 좋을 것 같다.
(Git이 대충 어떻게 실행되는지 모른다면 쉽게 이해하기는 어려울 듯)
Working directory가 필요하지 않은 (아마도 testing, 혹은 그냥 실행을 위한 목적에서의) repository를 bare repository라 한다.
'인턴 > 준비' 카테고리의 다른 글
Git #3 Revert, reset and restore (0) | 2022.12.30 |
---|---|
Git #2 Basics (1) | 2022.12.29 |
Go Language #1 (0) | 2022.12.16 |
속성 SQL (0) | 2022.02.28 |
I2C & SPI (0) | 2022.02.07 |
댓글