Git

우리가 Git 을 사용해야 하는 이유?


▶ 소스코드나 작업물을 관리할 때 편리하기 때문입니다. 

 

Git 이란? 


● Git은 분산형 버전관리 시스템 입니다. (Distributed Version Control System)


버전 관리 시스템이란? (Version Control System)

 

● VCS은 사용자 프로젝트에 포함된 파일의 변경 내역을 추적할 수 있도록 하는 도구 또는 방법론입니다. 

 

소프트웨어 형상관리


SoftWare Configuration Management 줄여서 SCM이라는 단어를 쓰기도 하는데, SW 개발 및 유지 보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대한 형상을 만들고 이를 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동입니다. 

형상관리는 일반적으로 version control, revision control, source control, source code management, SCM 등 동일한 의미로 사용됩니다. 

▶ 기존 버전 관리 시스템은 중앙 서버에 소스코드와 history를 직접 저장하는 방식


▶ 분산 버전 관리 시스템은 여러 개발 PC와 저장소에 분산해서 저장하는 방식

 

 

중앙집중식 버전관리 - SVN(Subversion) 

▶ 각 개발자만의 version history를 관리할 수 없다. 

▶ commit 한 내용에 실수가 있을 시에 서버에(다른 개발자에게) 바로 영향을 미치게 되고 만약 중앙 서버에 문제가 
생기면 협업이 불가능 

 

분산형 버전관리 - Git 

▶ 모든 작업자가 원본을 가질 수 있다. 

▶ 개별 history를 관리할 수 있기 때문에 네트워크를 사용하지 못하는 상황에서도 대부분의 작업 진행이 가능하다. 

 

Git은 누가 만들었을까요? 


리눅스의 창시자인 리누스 토발즈가 Linux 커널을 관리할 목적으로 개발되었다. 

 

▶ Microsoft 웹 서비스입니다. 

gitHub는 분산형 버전관리 시스템(git)을 기반으로 소스 코드를 호스팅 하고, 협업 기능을 지원하는 서비스,

소프트웨어 개발 플랫폼입니다. 

 

 

깃허브 주소 : https://github.com
깃 랩 주소 : https://about.gitlab.com

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

The DevSecOps Platform

From planning to production, bring teams together in one application. Ship secure code more efficiently to deliver value faster.

about.gitlab.com

https://git-scm.com/

 

Git

 

git-scm.com

모두 기본설정으로 설치

 

Git 저장소 만들기 



저장소(Git repository) - 파일이나 폴더를 저장해 두는 곳 


▶ Git은 원격 저장소와 로컬 저장소 두 종류의 저장소를 제공합니다.

▶ 원격 저장소(Remote Repository): gitHub와 같은 전용 서버에서 관리되며 

여러 사람이 함께 공유하기 위한 저장소

▶ 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소

 

Git bash를 사용합시다 


▶ git bash는 window의 cmd , linux와 mac의 terminal 과 같은 역할을 한다.

▶ Git bash를 이용하면 window 에서도 리눅스의 명령어를 쓸 수 있다.

 

Git 명령어

● init 

$ git init

: git init 명령어를 수행하면 숨겨진 폴더 .git 이 생성됩니다. 이것을 저장소라고 하는데 깃은 이 폴더의 모든 변경 내용을 여기에 저장합니다. 즉 .git 폴더를 지우면 더 이상 깃으로 폴더의 변경사항을 추적할 수 없습니다. 

 

● status 

$ git status 
: 깃이 폴더의 현재 변경 상태를 보는 명령어입니다. 

● reset 

: 스테이징 된 (add 취소) 파일을 취소할 수 있습니다. 
$ git reset A.txt


▶ 폴더의 전체 변경 사항을 취소할 수도 있습니다. 
$ git reset *

● commit 

: 깃이 폴더의 변경 내용을 저장하는 단위를 "커밋(commit)"이라고 부르는데, add 명령어 이후 Staging Area 상태에 등록된 파일들만 commit 을 할 수 있고 명령어 실행 후에 Repository에 저장된다. 

$ git commit -m'첫번째 커밋 메세지 입니다'
▶ 매번 변경사항을 스테이징하고 커밋 하는 게 번거롭다면 -a 옵션을 사용하자.

$ git commit -am'add와 commit을 한번에 할 수 있습니다'

 

● log 

: 스테이징을 거쳐 커밋 한 결과를 로그(log)라는 형식으로 확인합니다. 

$ git log
▶ 많은 로그를 한 줄로 편하게 보기 위해서 --oneline 옵션도 자주 사용합니다. 

$ git log --oneline

cd .. 뒤로가기
tap 자동완성
git add * 모두 추가

git config --global user.email "dobear7@naver.com"
git config --global user.name "dokwonjae"

git checkout 이동할 위치 명시
git clone 원격 저장소 복제

 

1. 폴더 생성하기

2. 개인 저장소 생성하기 (git 명령어 사용)

3. cd .. , cd path… , ls 명령어를 확인해 보자

4. 개인 저장소를(로컬저장소) 만들어 보자 - git init

5. git 명령어 알아보기

6. git status

7. 파일들을 추적 가능한 상태로 만들기 - git add [파일명]

8. git commit -m’이력내용저장’

9. 사용자에 이메일과 사용자 이름이 등록이 안되었으면 먼저 설정하고 진행하기

10. git config 파일 확인해보기 (git cofig —list) 명령어로 확인하기

11. 스냅샷 찍어서 현 시점에 상태에 파일을 저장해 두기 ( git commit -m’이력내용’ )

12. git log 명령어를 통해서 이력을 확인해보자. git log —oneline

13. git status —> git add * —> git commit -m’…’ —> git log —oneline

14. 버전(HEAD) 원하는 곳으로 이동해보기 git checkout 이동할 위치 명시

15. HEAD를 다시 최신 상태로 되돌아 가고 싶다면 ( git checkout - )

 

원격지에 올리기 git push

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

집에서 git을 통해 코드 가져오는법

더 이상 내려받을 파일 없을 때

 

'Git' 카테고리의 다른 글

Github desktop 설치  (0) 2023.09.05
Git2  (0) 2023.08.09