GIT

깃허브 시작하기

ai-world.tistory.com 2019. 11. 26. 09:17

버전관리

 

소스 - 일반적으로 변경사항은 저장되지 않는다.

 

1. 중앙집중식 : CVS, SVN ( team server )

버전관리를 중앙 서버가 해줍니다. 만들어준 소스를 연결하면 서버에도 동일한 소스가 서버에 존재합니다. 

소스를 변경하면 서버에서 변경이력이 자동으로 추가돼 Lock이 걸립니다. 다른 사람이 같은 소스를 변경하려고 하면 충돌이 일어나고 변경된 소스를 받아와야 자신의 소스를 올릴 수 있습니다.

 

2. 분산방식 : GIT

깃에서는 공동으로 변경 이력을 파악할 수 있어 비교가 가능합니다.

클라이언트와 서버로 구분돼 있습니다. 처음에는 서버의 저장소와 클라이언트 각각의 저장소가 같습니다.

클라이언트는 변경 이력을 개인이 관리할 수 있습니다. 개인이 서버에 변경이력을 반영할 수 있습니다.

개발자 1이 변경1과 변경2를 서버에 반영합니다. 이때 개발자 2가 merge를 하면 겹치는 변경 이력을 확인해 충돌을 막을 수 있습니다. 개발자 1은 개발자 2가 변경한 것을 다시 받아와 변경을 확인할 수 있습니다.

 

Commend 

GUI

이클립스 플러그인

 

 

 

gitforwindows.org

모두 다 NEXT를 누르고 넘어가줍니다.

 

 

 

이런것이 나옵니다

 

 

 

 

 

 

비쥬얼 스튜디오에서 git 사용하기

 

 

 

 

 

 

 

 

git status - 상태를 확인한뒤 (Not a git repository)

git init - 저장소가 만들어 집니다. (Initialized empty git repository)

git status - 작업 저장본(on branch master)

 

 

 

ls -al - 디렉토리 안쪽에 있는걸 보겠습니다.

사용자를 지정해줘야합니다. (--global 을 해주면 pc전체의 git을 관리할 수 있습니다.)

git config --global user.name 

git config --global user.email 

 

 

 

 

디렉토리 살펴보기

작업 DIRectory (실제 파일 위치)

 

 

 

실제 파일 위치 Stage 

    -  작업 디렉토리에서 a.txt를 변경하면 stage에 저장됩니다.(staging작업, 내용을 뺀다면 unstaging)

    -  staging을 하기 위한 명령어 git add a.txt(작업 디렉토리에서 stage로 추가해줍니다.), git add . (현재 디렉토리 아래 모든 변경사항을 저장합니다.) stage에서 저장소로 commit하면 변경 이력 추가가 확정됩니다.

 

 

 

 

저장소 ( 변경 이력 관리)

첫번째로 commit된 파일이 Head가 됩니다.

 

 

 

 

 

 

 

직접 해봅시다.

LOCAL PC

 

#git 연습

 

## 저장소 생성

 

    - git init

        - git config

        user.name 이름

        - git config

        user.email 이메일

                        --파일 생성(작업DIR안쪽에 readme.md가 생성됐습니다.)--

 

## 변경 사항 Staging

 

    - git add 파일명

    - git add * : 변경 사항 전체

    - git add . : 현재디렉토리 아래 모든 변경 사항

 

## 변경 사항을 저장소로

    - git commit -m "현재 변경사항의 설명"

 

## 변경 로그의 확인

    - git log

 

## Staging 추적 제외를 위한 설정 파일

    - .gitignore에 제외할 파일명의 패턴을 명시

 

## 원격 저장소의 추가

    - git remote add origin 원격저장소주소

 

## 원격 저장소에 변경 이력 반영

    - git push origin 로컬브랜치 이름

    - git push origin master # 원격저장소(origin)에 로컬 브랜치 master를 업로드

 

## 가지 치기

    - git checkout 브랜치명 : 브랜치명 가지로 이동

    - git checkout -b 브랜치명 : 브랜치명 가지를 만든 후 이동

 

    - git checkout을 할 때 현재 가지에 변경 중인 파일이 남아 있으면 안된다.

 

## 가지 병합

    - 다른 가지의 변경 사항을 현재 가지로 반영할 경우

    - git merge 브랜치명

 

## 태그 달기

    - git log에서 commit의 ID확인

    - git tag 태그명 commitID

    

## 태그 업로드

    - git push 원격저장소 로컬브랜치명 --tags

    - 예) git push origin master --tags # 태그와 함께 브랜치 push

    

## 저장소 복제

    - git clone 원저장소 URL

    - git clone 원저장소 path

 

 

visual studio에서 readme.md라는 마크다운 파일을 만들어줍니다.

 

 

 

 

 

 

 

github.com 에 들어가 가입합니다.

저의 저장소 주소입니다.