Git & GitHub

[Git & GitHub] 깃(Git)의 정의 및 실습(1)

wookjae 2021. 10. 11. 13:33

* Git(버전관리) ?

- 깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들을 작업을 조율하기 위한 분산 버전관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다.  -- 참조: 위키백과(Wikipedia) 

 

- 깃(Git)은 자신이 만든 버전(Version) 간의 이동 또는 팀원이 만든 버전으로 반영할 수 있으며, 

자신이 만든버전과 팀원이 만든 버전을 비교해서 최신본으로 코드를 업데이트(Merge) 할 수 있다.

 

* GitHub(원격 저장소 - Cloud Service) ?

Git Hosting Site 주관사 특징 비용
GitHub GitHub Inc
--> Microsoft 
세계 최대 규모의 Git 호스팅 사이트 공개저장소 생성 무료, 비공개 저장소는 팀원(작업자) 3인 이하인경우에 무료, Enterprise버전은 작업자 수 제한이 없으며 유료
GitLab GitLab Inc  NASA, Sony등 10만개 이상 조직이 사용, GitLab 자체 오픈소스 공개, 비공개 저장소 생성무료
BitBucket Atlassian 사용자 600만명. 지라(JIRA)와 연동 쉽다. 5명이하 팀이면 공개 및 비공개 저장소 생성무료

* 지라(JIRA): Atlassian에서 만든 형상관리 이슈 트래킹 서비스 

 

* 깃, 깃허브 (Git & GitHub) 사용방법

CLI (Command Line Interface) - 명령어입력 기반, GitBash, (Window/Mac) Terminal 
GUI (Graphic User Interface) - 화면제어 기반, SourceTree

 

* 깃, 깃허브 사용흐름(Flow)

1 깃(Git) 사전설치된 상태..
2 로컬PC 프로젝트 폴더에서 깃(Git) 사용설정  $ git init
3 소스코드 작성 후 원하는파일 로컬저장소에 올리기 $ git add [files]
4 선택 한 파일들을 패키징하고 설명 적기..  $ git commit -m "커밋Message"
5 웹에서 원격저장소 깃허브(Git Hub) 생성하기 
6 로컬PC 프로젝트 폴더에서 생성한 깃허브(GitHub) 
저장소 주소 알려주기
$ git remote add
7 깃허브(GitHub) 저장소에 업로드하기 $ git push 
(3, 4, 7)과정 이 후 반복..

 

 

 


 Git Exercise..

 

 

1. Git 설치여부 확인 (Windows 명령프롬프트 - CMD)

$ git

 

 

2. Git 설치(git-scm.com)

* 로컬PC 운영체제(macOS, Windows, Linux/Unix) (32Bit/64Bit)에 맞게 설치.

* 설치진행 팝업창에서 (Select Components - "Git Bash Here") 필수체크

 

 

3. Git 설치 후 재 확인

$ git

 

 

4. 깃(Git) 형상관리를 적용 할 영역생성

 

 

5. 깃 배시(Git Bash) 실행 - Git CLI

$ pwd
--> 현재 위치한 경로확인

$ cd C:\myprogram\study-git-first
--> 깃(Git) 로컬저장소 생성경로 이동

 

 

6. 깃(Git) 로컬저장소 생성 

$ git init
--> 깃(Git)으로 버전관리 시작.. (로컬저장소 생성) 

$ ls -al 
--> 현재 위치에서 파일목록 확인 

Initialized empty Git repository --> 비어있는 깃 저장소로 초기화 완료.

* git init 명령시  (.git)이름의 숨김폴더 생성되며 이는 "로컬저장소"이다. 여기에 Git으로 관리되는 버전정보, 원격저장소 주소 등.. 저장된다.

 

* 로컬저장소를 생성하는 방법으로 git init 명령 외, 원격저장소로부터 소스코드를 받아오면 로컬저장소가 생성된다. 

 

* 하나의 영역에는 하나의 로컬저장소(.Git) 이 존재해야한다. 로컬저장소는 중복으로 존재할 수 없다.