SW 형상관리
형상관리란, SW의 형상을 관리하는 것이다. 구체적으로 말하자면 음.. 일단 소프트웨어라는건 서비스가 출시를 한다고해서 거기서 끝나는게 아니고, 어떤 오류가 났다, 아님 어떤 기능을 추가한다, 아님 어떤 기능을 없앤다 등.. 유독 변화가 심한 제품이라고 할 수 있다.
특히 대규모 프로젝트인 경우는 개발자들이 수십, 백 단위로 개발이 되었을텐데 내가 이부분 수정하고, 저사람이 이부분 수정하고 그렇게 하다보면 개판이 되어버릴꺼고 통합하는데 어려움일 있을 것이다.
그래서 나온 것이 그 소프트웨어의 형상을 관리해주는 툴이다..! 같은 말만 반복하고 있는거 같은데, 예시를 들어 알아보자. ㅎㅎ 형상관리툴은 중앙에 우리 프로젝트의 메인 소스들이 있고, 사람들이 그 메인 파일을 각자 컴퓨터에서 지지고 복고, 수정을 한다음에 자신의 부분만, 중앙에 있는 메인소스에 반영을 시키는 것이다. 아까 말했던것처럼 다른 사람과 중복으로 수정한 부분이 있으면 이것또한 Conflict가 발생했다고 알려주고, 가장 편리한 점은 언제 어떤 소스를 누가 Commit 했는지까지 추적이 되는 것이다.
뭔가 서비스를 운영하다가 갑자기 안된다.. 그럼 가장 최근에 Commit했던 코드부터 의심한다. 왜냐..? 그전까진 잘됐으니까! 그 코드중에 어떤부분이 바꼈는지 또 어느상태로 Rollback 해야하는지까지 할 수 있는 것이다.
형상관리 툴의 종류
SVN vs GIT
1. SVN
이친구는 SubVersion의 약자로 중앙방식의 형상관리 툴이다. GIT도 나중에 설명하겠지만, 이친구는 중앙에 하나의 메인 저장소만 두고, 각 콤퓨타들이 그 메인 중앙서버에 소스를 반영하는 방식이다. 머야..? 당연한거자나!? 라고 생각하겠지만, 맞다. 아주 당연하게 만든 프로그램이라 2004년도에 개발됐다...상당히 오래된 방식.. 하지만 아주 직관적이고 편리해서 지금까지도 널리 쓰이고 있다.
2. GIT
자 GIT이다.. 요즘 컴퓨타를 배우는 사람들은 많이 들어봤을 것이다. 왠만한 오픈소스들은 GIT으로 많이 공유가 되니까말이다.. 이름이 GIT인 이유는 제작자가 만들다보니 그냥 이렇게 됐다고.. 이거 출시일도 SVN이랑 비슷하다. 아주 오래 됐는데 SVN과의 관계를 보면. 제작자가 SVN쓰다가 더이상 이거 못 써먹겠다 하고 개빡쳐서 만든게 바로 GIT이라고 한다. 소문에 의하면 2주만에 만들었다고..
암튼 기업형 소프트웨어 개발이 아닌 우리같이 주식개미마냥 취미로 개발하는 사람들한테 인기가 더 많은 이 GIT은 GITHUB라는 소스 공유 사이트까지 운영하고 있다. 왠만한 라이브러리나 누군가 개발해놓은 소스들을 여기가면 다있으니 그야말로 오픈 소프트웨어의 성지라고 할 수 있다.
GIT이 SVN과 다른점은 머 많은 기능들도 있지만, 가장큰 차이점은 동작 방식이 조금 다르다. SVN은 중앙서버에 직접 소스를 반영하는 방식이라면, GIT은 내 로컬서버에 해당 저장소가 있어서 각 개발자들이 본인이 개발한걸 본인들 로컬 저장소에 Commit한다. 그리고 최종적으로 로컬에 있는 소스들을 중앙 메인서버에 Push하는 방식이다.
차이점을 한 눈에 이해했나..!? 바로 로컬서버가 존재한다는 것.! 이제 구성 방법에대해서 알아보자!
1. GIT 설치
자 들어가보자 ㄱㄱ
별거 없다. 좋은 사이트란 어려우면 안된다. 저렇게 큼지막하게 직관적으로 버튼이 있어야하는데 아주 좋다. 다운버튼을 눌러보자.
뚜둔..! 다운 받았당 히히....실행해서 설치하장.
진짜 별거 없다. 뭐... 선택할 수 있는 버튼도 많고.. 알겠는데... 미안한데..뭔지 모르겠다.. 일단 최선의 선택을 디폴트로 뒀을거라고 GIT 개발자들을 믿으며 긍정적인 버튼들만 눌러서 설치를 완료해보자!
2. GIT 디렉토리 생성
자. 자기 GIT 소스들을 저장할 폴더를 원하는 위치에 만들고 그 빈 폴더를 오른쪽마우스를 눌러 Git Bash Here 버튼을 눌러주자.
Bash 쉘이 실행되면서 간지나는 화면이 나온다. 거기다가 git init 을 입력하고 엔터를 눌러주자.
git init
를 입력해보자! 그럼 저 위치를 저장소로 초기화했다는 문구가 나온다.
우리가 지정했던 폴더에 .git 이라는 폴더가 생겼다 히히..만약 안보이는 사람이 있으면 폴더 옵션에 숨김파일 표시를 체크해주자!
짜잔..! 로컬 GIT 저장소를 만들어따..!! 짝짝짞
#GIT #설치 #로컬 #저장소 #만들기 #형상관리 #툴 #SVN #차이점