최근 마이크로소프트사의 오픈소스 진영에 대한 활동 확대와 그 맥을 같이 하는 괜찮은 웹 개발도구를 하나 만나게 되었습니다. "웹 개발"이라 하면 브라우저에 표시되는 가장 기본적인 HTML 편집을 비롯해서 CSS, 자바스크립트 편집과 같은 클라이언트 레벨의 개발 과정이 있고 서버 레벨로는 ASP.NET, PHP, Node.js 편집과 함께 데이터베이스 질의 및 관리 등이 연상됩니다. 이런 개발 과정을 위해서 드림위버와 같은 전문 웹 디자인 도구도 있고 노트패드++("노트패드++ 한글 사용 환경 준비하기" 참조)와 같은 전문 텍스트 편집기도 있고 이클립스나 넷빈즈처럼 소스 코드 편집과 빌드 및 디버깅 도구를 합친 통합 개발 환경도 있지만 웹매트릭스는(https://www.microsoft.com/web/we..
"깃(Git)으로 브랜치/태그 만들기"에서 다루었던 브랜치 만들기로 개발을 진행하다가 테스트 및 디버깅 작업이 완료되어 메인 트랙(master)에 합치거나 다른 브랜치에 병합해서 진행할 경우에 사용하는 기능이 머지(Merge)입니다. 병합 작업의 절차는 합칠 대상으로 작업 사본(Working copy)을 준비합니다. 작업 사본 준비는 대상 브랜치로 체크아웃 받거나 갈아타기를 수행하면 됩니다. 합칠 대상으로 작업 사본을 준비 했으면 가져올 브랜치나 태그를 지정하여 병합을 수행합니다. 병합 과정에 문제가 없이 자연스럽게 합쳐지면 병합 작업을 그대로 끝나지만 브랜치간 병합 여부를 자동으로 판단하지 못하는 "충돌(Conflict)"이 발생하면 충돌을 해결하는 과정을 거쳐야 합니다. 충돌 발생 여부와 관계없이 브..
많은 경우 깃의 원격 저장소는 웹서버를 앞단에 두고 인증을 수행하면 서비스를 제공합니다. 그런데 나의 로컬 저장소에 있는 내용을 원격 저장소에 푸시(push)하지 않고 간편하게 공개하는 방법이 바로 "git daemon" 명령입니다. 윈도우 토터스깃에서는 저장소의 컨텍스트 메뉴에서 토터스깃>공개하기(Daemon)를 선택해서 서버를 가동시킬 수 있습니다. 문제는 이 방식으로 서버를 가동시키면 인증 과정이 없기 때문에 접속할 수 있는 누구나 읽기/쓰기가 가능한 상태가 된다는 것입니다. 그러므로 사용에 주의를 기울여야 하고 진행하기 원한다면 [계속]을 클릭합니다. 서버를 동작할때 위의 그림과 같은 보안 경고창이 나올텐데 서비스 가동을 계속하려면 [액세스 허용]을 눌러야 합니다. 위의 화면은 서버 가동 중임을 ..
토터스깃으로 프로젝트 시작하기에서 언급한것처럼 외부 저장소를 복제해서(Clone) 프로젝트를 시작한 경우, 특히 해당 프로젝트가 활발하게 활동하는 오픈소스 프로젝트라면 해당 프로젝트의 원본 저장소는 지속적으로 업데이트가 수행되기 때문에 현재 로컬 저장소로 복제한 내용이후로 많은 변경이 일어났을 가능성이 큽니다. 변경된 최신의 코드를 확인하고 싶다면 "가져오기(fetch)"와 "가져와 병합하기(pull)"를 사용할 수 있습니다.차이점은 가져오기(fetch)는 원격 저장소의 가져오기는 하지만 현재 로컬 저장소에 반영하지는 않고 반영하고 싶다면 나중에 병합(merge)을 수행해야 합니다. 반면에 가져와 병합하기(pull)는 원격 저장소의 내용을 가져와 로컬에 병합하며 반영하는 동작을 수행합니다.탐색기에서 로컬..
프로젝트를 시작하기 이전에 이미 형상관리를 사용하도록 체계화되어 있다면 별 문제가 아닐 수 있습니다. 프로젝트 팀장이나 팀원중 한명이 프로젝트의 코드 저장소를 생성하고 이메일등으로 그 주소만 통보하면 각 팀원은 해당 주소의 저장소를 로컬 저장소에 복제(Clone)하여 작업을 바로 시작하면 되기 때문입니다. 그렇지만, 형상 관리 시스템 없이 진행했던 프로젝트를 형상 관리 체계로 가져오거나 대량의 프로젝트의 초기 파일을 형상 관리에 등록하는 경우에는 이미 존재하는 저장소에 접근하는 것과는 다른 방식을 사용합니다.깃의 경우 팀원들이 함께 사용할 원격저장소나 깃허브같은 서버의 유무와 관계없이 로컬 저장소를 만드는 것으로 시작할 수 있습니다. 본 포스팅은 WCopyfind라는 오픈 소스 프로젝트를 한글화하고 수정..
윈도우에서 깃(Git)을 사용할 수 있는 환경을 구축했지만(윈도우에서 깃(git) 설치하기 참조) 예전부터 TortoiseSVN을 사용하면서 탐색기 상에서 파일을 변경 여부와 관리 대상 여부를 바로 확인할 수 있었던 기능을 사용할 수 없음을 아쉬워하던 차에 TortoiseGit을 설치하기로 했습니다. 사실 TortoiseGit을 사용하기 위해서는 윈도우에서 깃(git) 설치하기에서 설치한 "Git for Windows"를 먼저 설치해야 합니다.TortoiseGit의 다운로드 주소는 https://tortoisegit.org/download/ 입니다.자신이 사용하는 운영체제를 확인하여 32/64비트용을 적절히 다운로드 받아 설치 프로그램을 실행했으면 [Next]로 진행합니다. 라이선스와 관련된 내용을 확인..
윈도우에서 깃(git) 설치하기을 통해서 윈도우에서도 깃(Git)을 사용할 준비를 했다면 우선 오픈 소스 프로젝트를 체크 아웃 받는 작업을 통해서 깃의 동작을 맛볼 필요가 있습니다. 많은 오픈 소스 프로젝트에 대해서 Git 호스팅 서비스를 제공하는 GitHub(github.com)에서 C# 기반의 실시간 게임 엔진으로 인기 있는 OpenRA를 체크아웃 받아 보겠습니다. 프로젝트의 일원이 아니더라도 소스 코드를 내려 받을 수 있도록 하고 있는데 위의 그림의 우측에서 보듯이 깃으로 접근하기 위한 주소를 제공하므로 아이콘을 클릭하여 깃 접속을 위한 주소를 복사합니다. 윈도우 탐색기에서 원격 프로젝트를 복제할 위치로 이동하여 마우스 우측 마우스로 팝업메뉴를 띄우고 "Git Gui"로 GUI 화면을 아래와 같이 ..
깃(Git)은 Mercurial과 함께 분산 버전 관리 시스템(DVCS, Distributed Version Control System)의 대표 주자입니다. 최근에는 깃허브(githum.com)의 활성화와 함께 깃의 인기는 지속적으로 상승하고 있고 이로써 전통적인 버전 관리 시스템인 서브버전(Subversion)의 자리도 하나 둘씩 깃(Git)으로 대치되고 있는 상황으로 보입니다. 물론 개발에 직접 참여하지 않고 소스 코드를 주기적으로 업데이트 받고 싶다면 이전에 사용하던 서브버전을 그대로 사용할 수도 있습니다. 깃허브와 같은 서비스 시스템에서 통상 깃 리포지토리 호스팅 뿐만아니라 서브버전 인터페이스도 제공하기 때문입니다. 그렇지만 개발 조직에서 도구를 깃으로 통일하고 기존에 버전 관리하던 내용도 깃으로..