[Github] Git이란 무엇인가?
참고사이트 :
https://backlog.com/git-tutorial/kr/intro/intro1_1.html
공식 사이트와 위키백과, 블로그 등 많은 곳에서 찾아 본 결과 backlog 라는 프로그램 공식사이트에 있는 git 설명이 가장 기본적이고 알기쉽게 설명되어 있던 것 같다.
사이트를 참고로해서 다시한번 정리해보았다.
[Git이란 무엇인가?]
'여러분은 파일을 편집 전 상태로 되돌리고 싶을 때 어떻게 하고 있나요?'
참고 사이트에서 처음으로 하는 질문이다.
가장 간단한 방법은 편집하기 전에 파일을 미리 복사해 두는 것이라 말하고있다.
여기서 나오는 문제점
1. 매번 복사하는 일은 번거롭다.
2. 실수할 가능성이 있다.
3. 특정 규칙이 없어서 어떤것이 최신 파일인지 구분하기 어렵다.
등등...
만약 개인 프로젝트가 아닌 여러 명이 공유하여 함께 편집하는 프로젝트라면?
-> 다른사람이 변경하고 있던 내용을 지우게 될 수 있다.
즉 해당 문제점들을 개선하기 위해 만들어진 것이 Git이라 할 수 있다.
Git - Wikipedia에 보면
'깃은 컴퓨터 파일의 변경 사항을 추적하고 여려명의 사용자들간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.' 라고 첫줄에 적혀있다.
공식사이트나 Wikipedia를 통해 새로운 지식이나 개념을 찾아보고 읽어볼 때 항상 드는 느낌이있다.
'이해한 것 같은데 이해된 것 이라 확신은 할 수없다.'
분산버전관리시스템 / 소스코드 관리 / 데이터 무결성 / 비선형 워크플로 지원 ......
찝찝하지만 일단 한번 사용해보고 다시한번 이해해 보도록 하자.
[기초 용어 및 개념]
1. repository - 파일이나 폴더를 저장하는 저장소.
- 변경 이력별로 구분되어 저장.
-> 원격 저장소(remote repository)
: 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
-> 로컬 저장소(local repository)
: 내 컴퓨터에 파일이 저장되는 개인 전용 저장소
2. commit - 파일 및 폴더의 추가/변경 사항을 저장소에 기록한다.
- 이전 commit 상태부터 현재 상태까지의 변경 이력을 기록한다.
- 시간순으로 저장된다.
3. push - 로컬 저장소의 변경 이력을 원격 저장소에 업로드 한다.
- 원격 저장소와 로컬 저장소가 동일한 상태가 되도록 한다.
4. clone - 원격 저장소 복제
- 원격 저장소의 내용을 통째로 다운로드 하여 해당 컴퓨터에서 로컬 저장소로 사용한다.
5. pull - 원격 저장소에서 로컬 저장소로 업데이트 한다.
- 원격 저장소의 최신 변경이력을 다운로드하여 내 로컬 저장소에 적용한다.
[사용법]
git에 대하여 간단하게 개념을 정리했으니 이제 사용해보자.
git을 활용하는 방법에는 2가지가 있다.
1. git 명령어를 사용한다.
2. GUI를 제공하는 프로그램을 사용한다.
일단 1번 방법으로 해보도록 하고 git을 먼저 설치해 보도록한다.
https://git-scm.com/downloads
git 공식 홈페이지에서 다운로드를 진행한다. (설치환경은 window)
디폴트 옵션으로 설치를 진행하였다. (닥치고 next)
이제 기초 용어에서 repository 떠올려보자.
repository는 2가지가 있다고 했다. remote와 local.
우선은 local repository를 생성.
1. 바탕화면에 새폴더를 생성한다.
2. 폴더를 열고 폴더 창에서 오른쪽 버튼을 눌러 Git Bash Here를 클릭한다.
3. 활성화된 git 명령창에서 git init을 입력하고 enter를 누른다.
이렇게 local repository가 생성되었다.
test를 위해서 폴더안에 텍스트 파일을 생성.
회원가입이 완료되면 로그인을 하고 repository를 생성해보자.
https://backlog.com/git-tutorial/kr/intro/intro1_1.html
공식 사이트와 위키백과, 블로그 등 많은 곳에서 찾아 본 결과 backlog 라는 프로그램 공식사이트에 있는 git 설명이 가장 기본적이고 알기쉽게 설명되어 있던 것 같다.
사이트를 참고로해서 다시한번 정리해보았다.
'여러분은 파일을 편집 전 상태로 되돌리고 싶을 때 어떻게 하고 있나요?'
참고 사이트에서 처음으로 하는 질문이다.
가장 간단한 방법은 편집하기 전에 파일을 미리 복사해 두는 것이라 말하고있다.
여기서 나오는 문제점
1. 매번 복사하는 일은 번거롭다.
2. 실수할 가능성이 있다.
3. 특정 규칙이 없어서 어떤것이 최신 파일인지 구분하기 어렵다.
등등...
만약 개인 프로젝트가 아닌 여러 명이 공유하여 함께 편집하는 프로젝트라면?
-> 다른사람이 변경하고 있던 내용을 지우게 될 수 있다.
즉 해당 문제점들을 개선하기 위해 만들어진 것이 Git이라 할 수 있다.
Git - Wikipedia에 보면
'깃은 컴퓨터 파일의 변경 사항을 추적하고 여려명의 사용자들간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.' 라고 첫줄에 적혀있다.
공식사이트나 Wikipedia를 통해 새로운 지식이나 개념을 찾아보고 읽어볼 때 항상 드는 느낌이있다.
'이해한 것 같은데 이해된 것 이라 확신은 할 수없다.'
분산버전관리시스템 / 소스코드 관리 / 데이터 무결성 / 비선형 워크플로 지원 ......
찝찝하지만 일단 한번 사용해보고 다시한번 이해해 보도록 하자.
[기초 용어 및 개념]
1. repository - 파일이나 폴더를 저장하는 저장소.
- 변경 이력별로 구분되어 저장.
-> 원격 저장소(remote repository)
: 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
-> 로컬 저장소(local repository)
: 내 컴퓨터에 파일이 저장되는 개인 전용 저장소
2. commit - 파일 및 폴더의 추가/변경 사항을 저장소에 기록한다.
- 이전 commit 상태부터 현재 상태까지의 변경 이력을 기록한다.
- 시간순으로 저장된다.
3. push - 로컬 저장소의 변경 이력을 원격 저장소에 업로드 한다.
- 원격 저장소와 로컬 저장소가 동일한 상태가 되도록 한다.
4. clone - 원격 저장소 복제
- 원격 저장소의 내용을 통째로 다운로드 하여 해당 컴퓨터에서 로컬 저장소로 사용한다.
5. pull - 원격 저장소에서 로컬 저장소로 업데이트 한다.
- 원격 저장소의 최신 변경이력을 다운로드하여 내 로컬 저장소에 적용한다.
[사용법]
git에 대하여 간단하게 개념을 정리했으니 이제 사용해보자.
git을 활용하는 방법에는 2가지가 있다.
1. git 명령어를 사용한다.
2. GUI를 제공하는 프로그램을 사용한다.
일단 1번 방법으로 해보도록 하고 git을 먼저 설치해 보도록한다.
https://git-scm.com/downloads
git 공식 홈페이지에서 다운로드를 진행한다. (설치환경은 window)
디폴트 옵션으로 설치를 진행하였다. (닥치고 next)
이미지 1 설치확인
바탕화면에서 우클릭 -> 메뉴에서 Git GUI Here / Git Bash Here -> 설치완료
이제 기초 용어에서 repository 떠올려보자.
repository는 2가지가 있다고 했다. remote와 local.
우선은 local repository를 생성.
1. 바탕화면에 새폴더를 생성한다.
2. 폴더를 열고 폴더 창에서 오른쪽 버튼을 눌러 Git Bash Here를 클릭한다.
3. 활성화된 git 명령창에서 git init을 입력하고 enter를 누른다.
이미지 2 local repository 생성
이렇게 local repository가 생성되었다.
test를 위해서 폴더안에 텍스트 파일을 생성.
이미지 3 test 파일 생성
이제는 remote repository를 생성해보자.
remote repository는 github 사이트에서 생성하고 관리한다.
github?
-> git을 호스팅해주는 웹 서비스
-> remote repository를 대신 유지 및 관리해주는 서비스
-> 오픈소스 프로젝트 무료 / private 프로젝트는 유료
먼저 github 공식 사이트에서 회원가입을 진행한다. (pro가 아닌 free로 회원가입)
이미지 4 github 회원가입
회원가입이 완료되면 로그인을 하고 repository를 생성해보자.
-----remote repository 생성-----
이미지 5 remote repository 생성1
github 사이트 -> 오른쪽 상단 프로필이미지 클릭 -> your repositories 클릭
이미지 6 remote repository 생성2
new 버튼 클릭
이미지 7 remote repository 생성3
repository name 입력 -> 나머지 디폴트 -> create repository 클릭
이미지 7 remote repository 생성4
github 사이트 -> 오른쪽 상단 프로필이미지 클릭 -> your repositories -> 생성된 repository 확인
-----remote repository 생성완료-----
local repository와 remote repository가 생성이 되었으니 이제 연결을 해야한다.
우선 이미지 7에서 빨간색으로 표시된 새로 생성한 repository를 클릭한다.
이미지 8 remote repository의 주소
다음으로 빨간색으로 표시된 repository 주소를 복사한다.
그리고 이전에 바탕화면에 생성한 local repository를 열고 git bash here을 클릭하여 명령어창을 띄운다.
*아래부터는 명령어창에서 순차적으로 진행하면 된다.
1. git remote add origin https://github.com/ll0301/githubTest.git(위에서 복사한 주소)를 입력한다.
-> 명령어 창은 컨트롤 c / v 가 작동하지 않는다. 우클릭 후 Copy / Paste
-> local repository에 remote repository의 주소를 입력하여 연결하는 명령어
2. git pull origin master를 입력한다.
-> 연결된 remote repository에서 정보를 끌어옴
-> 원격 저장소에서 로컬 저장소로 업로드
-> 처음에는 비워져있기 때문에 특별히 동작하지 않음
3. git status를 입력한다.
-> local repository에서 변화를 감지하고 변화가 있을때에만 동작
-> 위에서 text파일을 생성하였기 때문에 변화를 감지
4. git add .를 입력한다.
-> 띄어쓰기와 . 까지 정확히 입력해야한다.
-> local repository에서 변경된 파일들을 모두 트랙킹 하겠다는 명령어
5. git commit -m "message" 를 입력한다.
-> "message"안에는 자유롭게 메시지를 입력한다.
ex) git commit -m "200105 수정"
-> git 권장 메시지 형식
변경내용 요약 / 변경한 이유
6. git push origin +master를 입력한다.
-> 실제로 git에 push 한다는 명령어
-> push는 로컬 저장소의 변경 이력을 원격 저장소에 업로드하는 것
7. github 사이트에서 commit 확인
이미지 9 remote와 local repository 연결
순차적으로 진행되면 github 사이트에 text파일이 업로드 된 것을 확인할 수 있고 commit 내용과 메세지도 확인할 수 있다.
추가로 text파일의 내용을 변경해서 다시 commit을 해보자.
2commit으로 변경이 되었고 메시지와 변경된 내용도 잘 업로드 되었다 .
git remote add origin 주소 명령어는 처음 연결할때만 하면 된다.
git pull origin master 역시나 동작하지 않는다. 여려명의 사람이 함께 작업할 때 현재 원격 저장소에 변경사항이 있을 수 있기 때문에 사용하는 명령어인 것 같다.
여기까지 기본적인 사용법을 익혀보았다.
이번에는 github desktop을 활용해서 동일한 작업을 해보자.
위에서 언급한 GUI를 제공하는 프로그램을 사용하는 방법이라고 보면된다.
https://desktop.github.com/
github desktop을 설치한다. (모두 디폴트)
desktop을 실행하고 github 아이디로 로그인한다.
이후 설명은 캡처 사진으로 대체해도 무방할만큼 어렵지 않다.
지금까지 git과 github / github desktop을 사용해 보면서 기본적인 내용들을 정리해 보았다. 다음 포스트는 브랜치에 대해 알아보고 브랜치 환경을 구축해볼 계획이다.
앞으로 github 태그에서는 github를 사용하면서 나오는 오류나 이슈들 혹은 연구할만한 주제들을 정해서 정리하여 올릴 계획이다.
추가로 text파일의 내용을 변경해서 다시 commit을 해보자.
이미지 10 text파일 변경
이미지 11 2번째 commit
2commit으로 변경이 되었고 메시지와 변경된 내용도 잘 업로드 되었다 .
git remote add origin 주소 명령어는 처음 연결할때만 하면 된다.
git pull origin master 역시나 동작하지 않는다. 여려명의 사람이 함께 작업할 때 현재 원격 저장소에 변경사항이 있을 수 있기 때문에 사용하는 명령어인 것 같다.
여기까지 기본적인 사용법을 익혀보았다.
이번에는 github desktop을 활용해서 동일한 작업을 해보자.
위에서 언급한 GUI를 제공하는 프로그램을 사용하는 방법이라고 보면된다.
https://desktop.github.com/
github desktop을 설치한다. (모두 디폴트)
desktop을 실행하고 github 아이디로 로그인한다.
이후 설명은 캡처 사진으로 대체해도 무방할만큼 어렵지 않다.
이미지 12 github desktop repository 생성
github desktop 상단 File -> New repository 클릭
이미지 13 create repository
이름을 입력하고 create repository 버튼을 클릭
이미지 14 remote repository 생성
github desktop에서 publish repository버튼을 클릭하여 remote repository를 생성
이미지 15 remote repository 생성2
특별한 명령어 입력없이 자동으로 githun 사이트에 repository가 생성되었고 연결까지 완료
바탕화면에도 새로운 폴더가 생성됨
마찬가지로 test.txt파일을 생성
이미지 16 text파일 생성
github desktop을 확인하면 이미지와 같이 변경된것을 확인
이미지 17 github desktop으로 commit하기
빨간색 표시된 부분에 메시지를 입력하고 commit to master를 클릭
이미지 18 github desktop으로 push하기
빨간색으로 표시된 push origin버튼을 클릭
이미지 19 commit 완료
지금까지 git과 github / github desktop을 사용해 보면서 기본적인 내용들을 정리해 보았다. 다음 포스트는 브랜치에 대해 알아보고 브랜치 환경을 구축해볼 계획이다.
앞으로 github 태그에서는 github를 사용하면서 나오는 오류나 이슈들 혹은 연구할만한 주제들을 정해서 정리하여 올릴 계획이다.
댓글
댓글 쓰기