개념
소프트웨어를 만드는 과정에서 새로운 기능을 추가하거나 제거하기도 하고 수정하기도 한다. 이러한 과정이 빈번하게 발생하며, 이 외에도 다시 이전 버전으로 돌아가야 하는 상황도 존재한다. 이러한 경우 소프트웨어를 만드는 과정을 저장해둘 필요가 있었고 이를 해결해주기 위하여 등장한 것이 Git이다.
Git을 사용하기 위한 용어 및 개념 정리
•
Repository: 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장
•
Working Tree: 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점 즉, 저장소의 수많은 길 중 현재 작업하는 시점을 이야기한다.
•
Staging Area: 저장소에 commit 하기 전에 준비하는 위치
•
Commit: 현재 변경된 작업 상태 점검을 마치면 확정하고 저장소에 저장하는 작업
•
Head: 현재 작업 중인 branch
•
Branch: 가지 또는 분기점을 의미하며, 작업을 할 때 현재 상태를 복사하여 Branch에서 작업 한 후에 작업이 완료되면 Merge하여 작업
•
Merge : 다른 branch의 내용을 현재 branch로 가져와 합치는 작업
전반적인 흐름
sourcetree 와 git
git License
오픈소스 사용 및 배포 시, 지켜야 할 규칙들을 의미한다. 그런데 왜 License가 중요할까? 일단 오픈소스라고 하더라도 지적재산권에 포함된다. 그래서 어느정도 참고한 오픈 소스가 있다면, License를 명시하는 것이 좋다.
•
오픈소스를 조금이라도 참고했다면, License를 명시하는게 좋다.
•
오픈소스라고 저작권이 없는게 아니다.
•
종류는 많지만 실제로는 10개 정도가 80%정도 차지한다. (카더라)