[Git] Git・GitHubとは?
こんにちは!グンです。안녕하세요! 근입니다.開発の仕事や勉強してる人達なら聞いてみたと思うGit・GitHubは聞いたことがあると思います。개발 일이나 공부를 하시는 분들이라면들어보신 적 있을거라 생각하는 Git・GitHub는 들어보신 적 있으실 거라 생각합니다.開発業界では使わない方が珍しいくらいのツールなので開発を勉強してる方々は必須的に知っておく価値があると思います。개발업계에서는쓰지 않는 편이 드물 정도의 툴이기 때문에개발을 공부하고계신 분들은 필수적으로 알고 계실 가치가 있을 것이라 생각합니다.基本的にはファイルを管理してくれるツールです。Wordとかのファイル管理にも便利なので使ってみるのおすすめします。기본적으로는 파일을 관리해주는 도구입니다.워드같은 파일을 관리하기 편하기 때문에사용해보시는 것을 추천드립니다.この記事にはGitとGitHubの概念を整理してみようと思います。이 글에서는Git과 GitHub의 개념을 정리해보려고 합니다.Gitとは? / Git이란?Gitはバージョン管理ツールです。バージョンっていうのは簡単に考えると現在のファイル・フォルダの状態を保存することです。ファイルの内容修正、削除に限らず、フォルダ内のファイル作成、変更、削除の情報を一つのバージョンとして記録します。以前のバージョンに戻すのも可能で、現在のバージョンをコピーして独立的な内容を保存することも可能です。また、独立的な内容達を一つに合わせるのも可能です。Git은 버전 관리 도구입니다.버전이라는 것은 간단하게 생각하면 현재의 파일・폴더상태를 보존하는 것입니다.파일의 내용 수정, 삭제에 국한하지 않고, 폴더 내의 파일 생성, 수정, 삭제 정보를 한 버전으로써 기록합니다.이전 버전으로 되돌리는 것도 가능하고, 현재의 버전을 복사해서 독립적인 내용을 보존하는 것도 가능합니다.또, 독립적인 내용들을 하나로 합치는 것도 가능합니다.GitHubとは? / GitHub이란?簡単に考えるとGoogle DriveやiCloudのような物です。クラウドサービスとの違いはファイル・フォルダ単位の変更を保存することではなく、ファイル・フォルダ内部の全ての変更を記録します。간단하게 생각하면 Google Drive나 iCloud 같은 것입니다.클라우드 서비스와의 차이점은 파일・폴더 단위로 변경 사항을 저장하는 것이 아니라,파일・폴더내부의 모든 변경사항을 기록합니다.Git・GitHubはどこに使う? / Git・GitHub은 어디에 쓰지?例えば、発表資料を作ると考えてみましょ。예를 들어, 발표 자료를 만드는 것을 생각봅시다.フォルダにはPowerPoint、写真、動画ファイルが入っています。この発表資料が気に入ってこのまま保存しました。そして、内容2を修正するうち、動画1の資料が内容と少し合わないと思って動画1を消して動画2を追加したいと思いました。でも、以前の内容も良かったのでコピーして修正しました。폴더에는 파워포인트, 사진, 영상파일이 들어있습니다.이 발표자료가 마음에 들어서 이대로 저장했습니다.그리고, 내용2를 적다보니, 영상1의 자료가 내용이랑 조금 맞지 않는다고 생각해 영상1을 삭제하고 영상2를 추가하고싶다고 생각했습니다.発表資料2に満足して、メンバー達にこの資料を送ってみたらメンバーの一人が「この写真、内容少し変えたいと思うから変えるね」と言います。でも、私は発表資料2が良いと思ってたので、「コピーして発表資料3に作成してくれ」と言います。こう言う感じでお互い意見を合わせてみたらメンバー全員少しずつ違う発表資料を持つことになりました。발표자료2에 만족해서, 맴버들에게 이 자료를 보냈더니맴버의 한 명이 "이 사진, 내용 조금 바꾸고싶으니까 바꿀게"라고 말합니다.하지만, 나는 발표자료2가 좋다고 생각했기 때문에, "복사해서 발표자료3으로 작성해줘" 라고 말합니다.이러한 느낌으로 서로 의견을 맞추다보니맴버 전원이 조금씩 다른 발표자료를 가지게 되었습니다.この後は「以前の資料誰が持ってる?」「あなたの資料には内容何で違うの?」のような問題が次々と発生します。問題を解決する為にリダーが資料を全部まとめて一つの発表資料にしようとします。そしたら「以前何の考えでこういう変更した?」のような問題にあたって、結局メンバー全員と話を合わせるしかなくなりました。이후에는 "이전 자료 누가 가지고 있어?" "니 자료에는 내용 어떤게 달라?" 같은 문제가 계속해서 발생합니다.문제를 해결하기 위해서 리더가 자료를 전부 모아서 하나의 발표자료로 만드려고 합니다.그러자 "이전에 누구 생각으로 이렇게 바꿨었지?" 같은 문제에 부딛혀서, 결국 맴버 전원과 말을 맞출 수 밖에 없어졌습니다.こういう作業方法はすごく不便です。一つの発表資料を作る為に時間と容量が多く掛かります。この時使うのがGitとGitHubです。이런 작업방법은 엄청 불편합니다.한 발표자료를 만들기 위해서 시간과, 용량이 많이 걸립니다.이럴 때 사용하는 것이 Git과GitHub입니다.Git・GitHubの使い方は? /Git・GitHub의 사용법은?これから使う用語は下記のようです。지금부터 사용할 용어는 다음과 같습니다. Repository:作業空間 / 작업 공간 Branch:作業状態のヒストリー (パラレルワールドを作る!) / 작업상태 히스토리 (평행세계를 만든다!) Commit:今の状態を保存する。(バージョンを作成する)/ 지금의 상태를 보존한다. (버전을 만든다) Merge:違うバージョンを合わせる。/ 다른 버전을 합친다. Reset : 以前のバージョンに戻る。(今まで変更した記録を消す)/ 이전 버전으로 되돌린다. (지금까지 변경했던 기록을 제거한다.) Revert:以前のバージョンの状態に現在の状態を変更する。/ 이전 버전의 상태로 현재 상태를 변경한다. Push:現在の状態をGitHubに介在する。/ 현재 상태를 GitHub에 게시한다. Pull:GitHubに介在されている物を持ってくる。/ GitHub에 게시되어 있는 것을 가져온다.上記の例えてGit・GitHubを使ってみると위의 예시로Git・GitHub를 사용해보면 発表資料のフォルダをRepositoryとして設定する。/ 발표기록 폴더를 Repository로 설정한다. メンバーの人数分のBranchを作ってCommitする。/ 맴버의 인원수 만큼의 Branch를 만들고 Commit 한다. CommitをしたRepositoryをGitHubに介在する。/ Commit한 Repository를 GitHub에 올린다. GitHubのRepositoryへメンバーを招待し、各Branchで作業をすることを指示する。/ GitHub의 Repository에 맴버를 초대해, 각 Branch별로 작업을 하도록 지시한다. 自分達の作業内容をCommitしてPushする。/ 각자의 작업 내용을 Commit해서 Push한다. 作業が一段落ついたら、リダーは各Branchに介在されている内容を確認し、Root BranchにMergeさせる。/ 작업이 일단락되면, 리더는 각 Branch에 올려져 있는 내용을 확인하고, Root Branch에 Merge시킨다. 各メンバーは自分のBranchをRoot Branchで最新化する。/ 각 맴버는 자신의 Branch를 Root Branch로 최신화 한다. 以降の変更事項からは5から7を繰り返す。/ 이후 변경사항부터는 5에서 7을 반복한다.終わり自分なりにGitとGitHubに付いて書いてみました。この記事を見て何となくGitとGitHubに付いて分かるようになったなら嬉しいと思います。ここまで読んでいただき誠にありがとうございます。次は実財にGit・GitHubを使うことに付いて書いてみようと思います。