본문 바로가기

COA Lab's Coding Tips

git, git Hub -0. 정의

https://github.com/

 

Build software better, together

GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

 

contribution :

오픈소스에 참여해 수정하거나 운용할 수 있는 오픈소스 활동이다. 이는 왜 하는 것일까? 

어떤 프로젝트를 운용하고 기여하는지를 기록으로 남길 수 있기 때문에 개발자들이 많이 올려두기도 한다.

오픈소스를 다른사람들이 평가하고 개선시킬 수 있는 이유가 있기 때문에 많이 사용하고 있다. 

 

commit :

contribution의 반대라고 볼 수 있다. 누구나 소스코드를 수정하면 좋지 않기 때문에 권한을 가지고 관리하는 것이라고 할 수 있다. 

 

프로젝트를 공개해서 누구나 볼 수 있게 하는 이유 :

- 사회공헌

- 부득이 하게 오픈소스로 공개해야 하는 프로젝트를 하는 경우, 즉 라이센스를 가지고 있는데, 오픈소스는 라이센스를 갖고 있는데, 그에 맞게 사용해야 한다. 공개할 의무가 있는것 또한 아니다. 

 

Mit : 공개할 의무가 있는것은 아님

Gpl : 공개할 의무가 있어서 다른 라이센스에 비해 제약이 있다고 볼 수 있다. 

beerwear : 그냥 술 한잔 사주고 쓸 수 있게 하자는 의도로 만든 오픈 소스이다. 

 

 

즉, 협업으로서, 사회적 공헌으로서 공유의미 + 오픈소스활동에 참여하는 것에 의미를 두면 좋을 것이다. 

 

 

  기본적으로 깃(Git) 프로젝트에 담겨 있는 데이터들은 파일 시스템 상에서의 스냅샷(Snapshot)이라고 볼 수 있다.

실제로 프로젝트를 커밋(Commit)하여 적용할 때의 순간을 중요시한다는 특징이 있습니다. 파일 자체를 저장하기보다 수정 내역 자체를 저장함.

 

  Git의 동작 원리를 바르게 이해하기 위해서는 Git 프로젝트의 세 가지 구성요소에 대해서 이해할 필요가 있다.

 

  - Working Directory: 작업할 파일이 있는 디렉토리

  - Staging Area: 커밋(Commit)을 수행할 파일들이 올라가는 영역

  - Git Directory: Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리

  - Repository : 저장되는 장소라고 볼 수 있을듯....

 

아래에서는 명령어를 활용하여 수정 및 관리하는 방법을 알아보겠다.