본문 바로가기

Tool/Git

Git

git 버젼관리 branch 까지 학습 필요


git 공식홈페이지 https://git-scm.com/

를 참고하다가 빡대가리라서 찾아보니 생활코딩이 있어서 참고


생활코딩 https://opentutorials.org/course/2708/15242






설치 및 실습방법

https://opentutorials.org/course/2708/15129

 Linux & Unix에서 설치 https://youtu.be/S1BYwbkrojw








저장소 만들기

https://opentutorials.org/course/2708/15170


여기서는 프로젝트 환경을 만드는 법을 알아봅니다.


프로젝트 파일을 만듭시다. 

1
mkdir gitfth

프로젝트 디렉토리로 들어갑니다. 

1
cd gitfth

현재 디렉토리를 git의 (버전) 저장소로 만듭니다. 

1
git init








git이 관리할 대상으로 파일 등록    git은 기본적으로 새로운 파일을 관리하지 않습니다.         파일을 관리하기 위해서는 관리 대상으로 등록을 해야 합니다.파일을 생성합니다. 

1
vim f1.txt

git이 파일을 추적하도록 명령합니다. 

1
git add f1.txt

프로젝트 폴더의 상태를 확인합니다. 

1
git status






        1. https://opentutorials.org/course/2708/15172

버전에 포함될 버전을 만든 사람에 대한 정보를 설정합니다. 이 설정은 ~/.gitconfig 파일에 저장되고 1번만 해주면 됩니다.

1
2
git config --global user.name "자신의 닉네임"
git config --global user.email "자신의 이메일"








        1. Git은 commit 전에 add를 꼭해야 합니다. 그 이유는 선택적으로 파일을 버전에 포함시키기 위해서 입니다. 






        1. 버전관리를 하는 가장 중요한 효용은 수정된 내용을 추적해서 문제해결을 하는데 이용하기 위해서라고 할 수 있습니다. 
        2. 수업에서 사용된 명령어

          로그에서 출력되는 버전 간의 차이점을 출력하고 싶을 때 

          git log -p 

          버전 간의 차이점을 비교할 때

          git diff '버전 id'..'버전 id2'

          git add하기 전과 add한 후의 파일 내용을 비교할 때 

          git diff








      1. 버전관리의 중요한 효용은 과거의 상태로 돌아갈 수 있다는 점입니다. 여기서는 이 방법에 대해서 알아봅니다. 한가지 주의하실 점은 과거로 돌아가는 작업은 위험한 작업입니다. 여기서는 과거로 돌아가는 방법이 있다는 점만 우선 확인하시고, 실제로 사용할 때는 좀 더 깊게 공부하고 사용하시는 것이 좋습니다. 
      2. 수업에서 사용한 명령

        아래 명령은 버전 id로 돌아가는 명령입니다. 

        git reset --hard "버전 id" 

        버전 id의 커밋을 취소한 내용을 새로운 버전으로 만드는 명령

        git revert "버전 id"

        참고

        reset과 revert의 차이점에 대해서 재미있게 설명하는 카툰입니다. 

        http://www.popit.kr/

    1. 로그에서 출력되는 버전 간의 차이점을 출력하고 싶을 때
      git log -p
      버전 간의 차이점을 비교할 때
      git diff 'commit hashcode 1'..'commit hashcode 2'
      git add 하기 전과 add 후의 파일 내용을 비교할 때
      git diff

      git 에는 commit 을 되돌리는 명령어가 두가지가 있다
      git reset --hard 'commit hashcode'
      : 이것은 로컬의 커밋 내용을 아예 삭제하는 것이다. 기록도 남지 않는다
      하지만, 웹 저장소에 푸쉬한 후에는 사용해봤자 의미가 없다.
      업데이트가 뒤쳐진 상태로 변하게 될 뿐이니,
      로컬에서 푸쉬 전 잘못된 커밋을 되돌리는 경우에만 사용하도록 하자.
      git revert 'commit hashcode'
      : 이것은 reset 명령어 처럼 해당 버전으로 되돌아 가긴 하지만,
      지워진 버전의 기록이 흉터처럼 남는다.
      웹에 푸쉬한 이후에도 그전 커밋 기록이 남고 새로운 버전으로 선언하기에
      revert 명령어로 되돌아간 버전이 최신버전으로 인식되게 하며
      다른 사용자로 하여금 업데이트를 받게 한다.

      git 명령의 빈도 수







          1. git init
            vim f1.txt 
            (a추가)
            git add f1.txt
            git commit -m "1"
            vim f1.txt 
            (a밑에 b에 추가)
            git commit -am "2"
            git log
            git branch exp
            git branch
            rm .git/refs/heads/exp
            git branch 
            (exp브랜치가 삭제된 것 확인)
            git log
            (최신 커밋 아이디값 드래그해서 복사)
            vim .git/refs/heads/exp
            (복사한 최신 커밋 아이디값 추가 후 저장)
            git checkout exp
            vim f2.txt
            git add f2.txt
            git commit -m "3"
            git checkout master
            ls -al
            git log --branches --decorate --graph













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

linux git コマンド  (0) 2018.07.29
Console 명령어  (0) 2018.07.11
Git의 기초 - Git 저장소 만들기  (0) 2018.07.10
Git - 시작하기 (설치, 초기설정)  (0) 2018.07.10