git는 머꼬? github는 또 머지?
TRANSCRIPT
볼만한자료들• 튜토리얼
• 을시작하기위한간편안내서 어렵지않아요•
•
• 영문
• 한글슬라이드• 버전관리를들어본적없는사람들을위한
•
• 능력자를위한 개념가이드•
• 엄청난간략비교•
그럼 이발표의목적은• 오픈소스에서왜 을많이사용할까
• 도있던데 하고같은걸까
• 자료읽다보니명령어들이많은데 을알려면이명령어들을꼭다알아야할까
• 이런것들은무엇일까
• 와 도있던데
•
•
그냥먼가다른관점에서 와 를이야기해보고싶었습니다
시작하기전 한가지참고• 일부설명들은편의를위해정확한내용을담고있지않을수도있습니다
• 해당부분을보신분께서는 또는덧붙이고싶은내용이있으신분께서는으로알려주시면내용을수정 보완하고자합니다
는무엇일까•
• 버전관리를위한도구• 리눅스커널의창시자 리누스토발스께서직접만드심
• 라는상용도구를무료사용하여버전관리를했었는데무료사용이제고되면서직접만들게되었다고함
이미지출처
질문 버전관리란무엇인가요• 소스하나또는묶음을하나의버전으로간주하여관리합니다
• 파일 폴더를추가 수정 삭제하여사람이직접묶음을버전으로관리하자고지정• 원하는때예전버전내용전체를되돌려볼수있음• 특히복잡한코드개발할때는이전버전과비교해보기가쉬워짐
파일 개또는여러개수정
파일 개또는여러개수정
버전버전
버전
질문 버전관리를대체언제사용하나요개발협업을위해사용합니다• 전체개발소스를공유하면서개발파트를나누어공유
• 같은모듈을개발하더라도소스를서로공유하면서개발• 이때 특정파일은변경하지못하도록 을걸수도있습니다 이걸로퇴근못하는직원분들도꽤
• 권한설정을통해각개발자별로접근가능한소스목록도제어하기도합니다
개별적으로버전등이력을관리하기위해사용하는경우도있습니다
버전관리되는내역전체를오픈소스로공유하기도합니다
개발자
모듈
개발자
모듈
개발자
모듈
개발프로젝트전체소스
질문 다른버전관리도구들은• 오픈소스버전관리도구
• 년대말 년대쯤 아는분들은사용한다고들었던버전관리도구이대중화되면서쓰는사람들이많이줄었던것같음
• 여러파일업로드중실패시롤백 원자성이진파일지원 파일이름변경도이력관리 등 를대체가능한많은기능이추가되어많은사용자들이 에서전환된것으로알고있습니다오늘날과같이 이많이사용되기전가장보편화되었던버전관리도구
• 와비슷한류의분산버전관리도구라고합니다
• 상용버전관리도구• 제가써본건 와 밖에
질문 분산 버전관리도구는머가다른가요• 이를설명하기위해보통 과 를많이비교합니다
• 은버전관리를하려면반드시 서버와통신하여버전을관리해야합니다
• 반면 는네트워크가되지않아도우선자신의컴퓨터에서버전관리를하고네트워크통신이될때서버와통신해도됩니다• 이런이야기도있었습니다미국의개발자들은인터넷이안되는휴양지에가서도 를이용하면충분히개발할수있고 나중에인터넷되는곳에가서서버와쭉통신하여업무를할수도있다고반면한국은인터넷이아주잘되니 가대중화되지않을수도있겠다고그런데 요즘은 이많이사용되네요
질문 명령어들을꼭익혀야하나요• 적어도초창기에는그랬습니다
• 지금도 를잘쓰려면명령어들을알면도움이많이됩니다
• 요즘엔명령어들을몰라도 등의기본개념만알면쓸수있는좋은 들이많습니다•
• 그래픽화면으로나와명령어보단쓰기편합니다
용어•
• 저장소서버로부터내컴퓨터로컬로버전정보전체를가져온다
•
• 추가 수정 삭제된폴더 파일들을 개버전으로간주하여내컴퓨터로컬에버전정보를기록한다
•
• 내컴퓨터로컬에저장되어있던버전정보를 저장소서버로올린다
용어•
• 버전들을묶어서 라고합니다• 기본은 입니다• 내컴퓨터내에있는 는로컬 외부서버에있는 는리모트
라고합니다
•
• 는왔다갔다하면서각각에대해내용을변경하고버전관리까지가능합니다• 반면 는특정버전위치에대해나중에쉽게찾아갈수있도록이름을지정해놓은것뿐입니다
몇가지좋은 의기능• 좋은 를제공합니다
• 에파일을올리면 계정명 저장소명홈페이지가완성됩니다
• 여러질문 답변 이슈사항을기록하기위한 페이지제공
• 제공
• 월정액으로돈을내면공개되지않은사설저장소제공
• 돈을더내면권한관리가가능한 저장소제공
• 너무많아서
결론• 의
• 오픈소스활성화에많은도움이된유익한기능이라고생각합니다
• 따라서 는 기반의단순한저장소공간이아닌 이제는커뮤니티공간으로자리매김하지않았나생각합니다
• 다음번에는•
• 및 저장소들이실제로이런환경을쓰고있습니다