msysgit: 윈도용 Git 인스톨러

feanor의 이미지

Git은 리누스 토발즈가 BitKeeper를 대체하기 위해 개발하기 시작한 소스 관리 시스템입니다. 현재는 커널, Xorg, Wine과 같은 큰 프로젝트들이 사용하고 있는 인기 있는 소프트웨어가 되었습니다.

그러나 윈도에서 Git을 사용하기 위해서는 Cygwin을 설치하고 컴파일을 해야 하는 등 불편한 점이 많아 여러 프로젝트에서 사용을 꺼리고 있던 것이 사실입니다. (http://git.or.cz/gitwiki/WindowsInstall 참고)

msysgit은 아직 비공식적인 Git의 MinGW 포트를 바탕으로 필요한 의존성들을 깔끔하게 패키징해 윈도 인스톨러로 배포하는 프로젝트입니다. 8.4 MB의 exe를 다운받아 실행하면 설치가 완료됩니다.

프로젝트 홈페이지는 http://code.google.com/p/msysgit/ 입니다.

댓글

imyejin의 이미지

Git 이외에도 많이 쓰는 분산 버전 관리 도구들이 있습니다.

darcs http://darcs.net/

Haskell 로 작성된 버전 관리 프로그램으로 http, ssh, ftp 등을 지원. Windows 를 포함하여 여러 유닉스, 리눅스 등의 플랫폼에서 컴파일된 바이너리 패키지가 제공됨. (윈도우즈 바이너리는 cygwin을 이용하는 버전과 cygwin에 의존하지 않는 버전이 있으며, cygwin에 의존하지 않는 버전은 putty의 ssh, ftp기능을 이용하며 putty 바이너리와 함께 패키징되어 있음) Haskell 관련 프로젝트들의 대다수가 darcs 를 사용하며 Pugs, Zwiki 등의 유명 GNU 소프트웨어의 버전 관리툴로 쓰이고 있음.

Mercurial http://www.selenic.com/mercurial/

Python 으로 작상되어 있어서 Python 이 깔려 있는 시스템에서 동작함. Windows 에도 설치되지만 일단 Python 및 필요한 라이브러리들을 깔아야 함. 현재 Mozilla, Xine 등의 유명 GNU 소프트웨어의 버전 관리 툴로 쓰이고 있음.

@ 저는 개인적으로 darcs 를 즐겨 씁니다.

임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

keedi의 이미지

여담이지만 분산 버전관리 도구라면 SVK도 있습니다.
SVK의 특징은 Subversion을 모태(파일시스템으로 이용)로 사용하며,
Perl을 기반으로 구현했다는 점이죠.

부연하자면 SVK의 author인 cao를 RT로 유명한 Best Practical 사에서
전격 채용(?) 하면서 지금은 RT와 마찬가지로 Best Practical의 제품이
되었고 이쪽에서 배포 및 관리하고 있습니다. :-)

http://bestpractical.com/svk/

http://svk.bestpractical.com/view/HomePage

http://search.cpan.org/~clkao/SVK-v2.0.2/lib/SVK.pm

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Keedi Kim

----
use perl;

Keedi Kim

마잇의 이미지

우분투 프로젝트 관리 사이트인 launchpad.net에서 Bazzar(bzr)라는 툴을 사용하더군요. 거기에 코드를 좀 등록하려고 사용해봤는데 어렵지 않길래 제 컴퓨터 /etc 아래 설정 파일들을 관리하는 용도로도 사용을 시작했습니다.

bzr은 cvs, svn, git같은 툴에 비교해서 어떤 차이점이 있을까요?

--
마잇


--
마잇

imyejin의 이미지

cvs나 svn에서는 저장소에서 받아온 소스를 모래통에서 고치면서 바뀐 점을 중간중간 기록할 방법이 마땅치 않습니다. 그래서 등록된 committer로 프로젝트를 가지치기 할 수 있는 사람이 아니고서는 따로 실험용 개발 브랜치를 만드는 일이 번거롭죠.

반면 darcs, git, bazzar, mercurial 같은 분산 버전 컨트롤 시스템은 저장소와 모래통이의 구분이 없습니다. 저장소를 받아오면 자기도 또 하나의 저장소를 갖게 됩니다. 자신의 저장소에서 소스를 고치면서 바뀐 점을 중간중간에 기록할 수 있고 작업이 충분히 완료되었다 싶으면, 권한이 있는 사용자의 경우에는 자신의 저장소를 push 해서 공식 프로젝트 저장소에 변화를 반영할 수도 있고, 그러한 권한이 없는 사용자라도 공식 프로젝트 개발 저장소와 비교하여 차이를 패치로 만들어 프로젝트 관리자에게 보낼 수 있습니다. 물론 대부분의 분산 버전 컨트롤 시스템은 패치를 만들어 원본 저장소 관리자에게 메일 등으로 발송하는 것이 자동화되어 있습니다.

이렇게 되면 프로젝트 관리 자체를 여러 개로 분산해서 하는 것이 가능해집니다. 프로그램에 세 개의 큰 덩어리가 있다면 공식 개발 저장소 한 단계 아래의 저장소를 세 개로 두고 그 세 개의 저장소에 각각의 관리자가 책임을 지고 또 그 아래 단계 아래에서 분업을 하는 식으로 계속해서 나누어 가면서 프로젝트를 관리할 수 있게 됩니다. 원본을 복사하면 복사본은 원본 저장소의 하위 단계의 저장소가 된다고 생각하시면 됩니다.

분산 버전 관리 시스템은 중앙집중식 저장소보다 일을 분담하고 권한을 이양하고 프로젝트를 가지치는 것이 쉽고, 등록된 개발자가 아닌 사람들의 개발 참여를 유도하기 좋다는 장점을 갖고 있습니다.

임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

ssggkim의 이미지

음... 궁금했던 사항을 잘 설명해주셔서 감사합니다. :)

익명 사용자의 이미지

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.