git(4)
-
소프트웨어 개발 방법 및 도구(5), Software Maintenance
Software Maintenance 만들어진 소프트웨어가 버저닝이 이루어지거나 백업을 하거나 하나의 어플리케이션으로 만들기 위해서 어떻게 유지 관리할 것인가 Q) 여러 사람이 함께 하나의 소프트웨어를 만들 때 어떻게 결과물을 공유할 것인가? A1) GitHub 오픈소스로 할 경우에는 무료로 저장공간이나 도구 등을 제공할 수 있다. 우리가 만든 코드를 공유하고 관리할 수 있는 도구이다. A2) Google Docs 설계를 위해 필요한 도구이다. 동일한 파일을 여러명이 동시에 작업해도 작업을 할 수 있다. 따라서 문서를 만들 때 매우 유용한 도구이다. 1. Version Control 1) Version Control이란? 소프트웨어가 개선될 때마다 버전을 매겨 이를 관리하는 것을 의미한다. 버전은 번호를..
2022.09.16 -
오픈소스SW개발 (4), Git Advanced
Git Advanced 0. Git 기타 개념 HEAD: 현재 branch의 포인트 Index: staging area에 위치한 다음 commit snapshot이 예정된 것 Working Directory: 수정하고 있는 폴더 1) Git working flow 2) add와 commit과 관련된 간단한 flow 예시 (1) git init을 통해 깃 폴더를 생성한다. (2) git add를 통해 파일을 추가한다. (3) git commit을 통해 add로 추가한 파일을 커밋한다. 이때 HEAD는 commit한 것을 가리킨다. (4) 파일을 수정한다. 그러면 working directory 상에서만 파일이 수정된다. (5) git add 명령어를 사용하면 Index의 내용도 바뀐다. (6) git co..
2022.04.11 -
오픈소스 SW개발 (3) Git Branch
Git Branch 소프트웨어의 기능을 가지치면서 개발하기 위해 사용한다. 즉, 독립적인 개발을 위해 사용한다. 1. Git의 주요요소 - Snapshot: Commit을 통한 변경 사항 - Tag와 Branch: 특정한 commit을 가리킴 1) SnapShot - Commit을 할 때 작성한 변경 사항을 저장한다. - 내부적으로 트리 형태로 저장되고 blob이라는 형태로 관리된다. - 누가 저장했고, commit할 때 남긴 메세지도 저장한다. - Commit은 부모 자식관계를 가지지고 있어, 이전 Commit을 가리킨다. - 최초 Commit을 제외한 나머지는 모두 부모를 가리킨다. 2) Branch - 레포지터리 생성 시 디폴트 Branch가 생성됨(master) - git hub에서는 main으로..
2022.04.07 -
오픈소스 SW개발 (2) Git basic
Git basic 1. Version control system을 사용하지 않을 때 발생할 수 있는 문제점 1) 혼자서 프로젝트를 진행할 때 발생할 수 있는 문제점 - 파일의 버전을 바꾸고 싶을 때 - 하드디스크가 크러쉬가 일어날 때 등등 ->> 이러한 경우를 방지하기 위해 여러 파일을 만들어야한다. 2) 여러 사람이 프로젝트를 진행할 때 발생할 수 있는 문제점 - 누가 관리할 것인지 - 동시에 동일한 파일을 수정했을 때 어떻게 수정할 것인가 - 잘못 파일을 삭제할 때 어떻게 대응할 것인가 등등 ->> 예전에는 클라우드를 공동으로 사용하거나 이메일을 주고받음 등의 방법을 사용했다. 3) 오픈소스에서 발생하는 문제점 - 어느 누구라도 소스코드를 볼 수 있고, 임의적으로 관리할 수 있기에 이에 대한 관리가 ..
2022.03.18