본문 바로가기
Wecode_Session/Git

Git과 Github

by 2cong 2020. 3. 22.

누구나 쉽게 이해할 수 있는 Git 입문 및 위코드 자료를 참고하여 공부

Git & Github

git

git은 컴퓨터 파일의 변경사항을 추적하고 관리하는 버전 관리 시스템 (Version Conrtol System)

  • 여러 명의 작업자 간에 파일들의 작업을 조율하기 위하여 만들어 졌음
  • 여기서 Version은 파일들의 소스코드를 의미함

github

github는 git을 사용하는 프로젝트를 인터넷에서 관리할 수 있는 중앙 system ( 중앙 서버 )

  • 깃허브가 없으면 서버를 만들어서 올리면 되지만 비용이 많이 든다는 단점이 있음

Git repository

파일이나 폴더를 저장해 두는 곳
원격 저장소와 로컬 저장소로 나눌 수 있음

1. 원격 저장소 (Remote Repository)

  • 여러 사람이 함께 공유할 수 있음
  • Github가 바로 Remote Repository

2. 로컬 저장소 (Local Repository)

  • 내 PC에 파일이 저장되는 개인 저장소
  • Working directory/ Index/ HEAD로 구성되어 있음
  • Working directory
    • 실제 파일로 구성
  • Index
    • 준비영역 (stage)
    • git add 명령어를 이용하여 Working directory --> index
  • HEAD
    • 최종 확정
    • git commit 명령어를 이용하여 Index --> HEAD

img ref) https://rogerdudler.github.io/git-guide/index.ko.html

Remote Repository <---> Local Repository

git clone

Remote repository에 있는 소스 코드를 로컬환경에 다운받는 명령어

git push

git에서 다운받아서 작업한 내용을 서버에 업로드하려면 push라는 명령어 사용

git pull

수정하여 업로드한 내용을 다운받으려면 pull

git clone vs git pull

  • git clone : 처음 소스를 다운받을 때만 사용
  • git pull : 이미 다운받은 소스의 변동사항을 다운받을 때 사용

Git status

git을 사용해서 파일 버전 관리를 할 때 파일은 아래의 3개의 상태 중 하나의 상태에 있게 됨

Modified

  • 수정된 파일
  • 처음 수정이 일어나서 변화를 감지했을 때
  • Modified file : 아직 commit되지 않은 상태의 파일

Staged

  • 중간 저장 단계
  • modified와 committed의 중간 상태
  • commit하고 난 이후에는 다시 되돌리기 까다롭기 때문에 중간 저장을 하여 다시 되돌릴 수 있도록 함
  • stage가 되었다는 것은 곧 commit 할 수 있다는 의미

Committed

  • git 기본 상태 중 마지막에 일어나는 상태
  • 수정 사항들이 git에 저장된 상태
  • commit 되었을 때 push할 수 있다

Git 설치

우분투에서 설치하기
터미널에 아래 내용 입력 후 설치

sudo apt-get install git-core

초기 설정

다음을 이용하여 초기 설정 리스트를 확인 할 수 있다.

git config --list

  • 아래 명령어를 이용하여 사용자 정보를 user.name 과 user.email을 추가 하기
git config --global user.name "사용자명"
git config --global user.email "메일 주소"

※ 참고 : 사용자 정보(user.name, user.email)를 설정해두지 않으면 아래의 commit 때 에러가 뜨기때문에 사용자 등록 해주기

 

  • Git 색상 설정 하기 (기본 값은 auto)
git config --global color.ui auto

 

  • Git 단축키(alias) 설정 (기본 값은 co - checkout)

    예시) "checkout"을 단축키 "co"로 설정

git config --global alias.co checkout

저장소 만들기

아래의 명령어를 이용하여 git 저장소를 만들 수 있음

mkdir 저장소 이름 
cd 저장소 이름
git init 

ex) project라는 폴더를 git 저장소로 등록하기

 

  • mkdir project
    projgect라는 새 폴더 생성

  • cd project
    project 파일의 경로를 가져옴

  • git init

    • 새로운 git 저장소 생성하는 명령어
    • project 폴더 안에 새로운 git 저장소를 만들기 위해서는 cd 명령어로 경로를 설정해줘야함

파일 add

1. project 폴더에 ex.html을 만들기

아래의 내용을 담은 ex.html을 project 폴더 안에 만들었음

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    example
</body>
</html>

그 후 git 상태를 확인하는 명령어 --> git status를 사용하면 다음과 같이 나타남

위 사진과 같이 추적하지 않는 파일에 ex.html이 있음
이유는 ex.html을 추가해두지 않았기 때문! 파일을 추가해 두어야 commit 할 수 있음

 

따라서 ex.html을 추가해주기

2. project 폴더에 파일을 add

파일을 추가 할 때는 아래의 명령어 사용

git add 파일이름

여기서는 파일이름이 ex.html 이므로 아래의 명렁어를 입력하기

git add ex.html

이 후 git status로 확인 --> 아래 그림과 같이 파일이 잘 추가 되었음

git add 명령어를 사용하면 modified file이 staged file이 됨

파일 commit

아래의 명령어를 이용하여 commit 할 수 있음

git commit -m "내용"

※ 참고 : 사용자 정보(user.name, user.email)를 설정해두지 않으면 commit시 에러가 뜨기때문에 사용자 등록 해주고 commit 하기

 

아래의 명령어로 commit 한 후 git status로 확인

git commit -m "first commit" 

아래의 사진처럼 commit되었음

git commit 명령어를 사용하면 staged file이 committed file로 

git log

아래의 명령어를 이용하여 저장소의 변경 이력을 확인 할 수 있음

git log

gitk

사용 변경 이력을 git-gui에서 확인 할 수 있음
아래의 명령어를 이용하여 이용 가능

gitk

 

'Wecode_Session > Git' 카테고리의 다른 글

Branch  (4) 2020.04.04

댓글