본문 바로가기

Data Science/git

git 시작하기

!얄팍한 코딩사전을 참고하여 작성했습니다.

 

git을 사용하는 이유?

git은 코드를 버전별로 관리할 수 있다.

내가 실수를 해서 이전으로 되돌려야 하거나, 전이랑 뭐가 바꾸었는지 헷갈릴 때 되돌릴 수 있다! (매번 폴더를 압축해서 저장할 필요없이)

또 한 프로젝트의 코드를 여러 사람이 함께 작업할 수 있도록 도와주는 등 여러가지 이점이 있다.

 

사용법

 

git_test 폴더를 만들고 vs code로 열어준다

$ mkdir git_test #git_test 폴더 생성
$ code git_test #vs code로 열기

 

테스트로 cat, mouse 파일을 만들어준다

 

*맥에서 control + shift + ~ 를 누르면 vs code아래 터미널창 생긴다.

 

git init

여기서 git init => 이 폴더가 git의 관리 하에 들어갔다.

git init

git init을 입력하면 master branch가 생성된다.

 

git_test 폴더에 해당 폴더에서 숨겨진 파일을 보면(command + . + shift) 아래와 같이 git  폴더가 생성된걸 확인할 수 있다.

*git관련 파일들이 .git폴더에 저장된다. git 폴더는 건드리는 일이 없도록 하자

git status

status는 파일들의 상태를 확인하는 것이다.

파일의 상태는 크게 Tracked(관리대상), Untracked(관리대상아님)으로 나뉜다. Tracked 파일은 이미 스냅샷에 포함된 파일이다.

다시 vs code 터미널로 돌아와서 git status를 입력하면 cat과 mouse가 untracked 상태이고 아직 커밋된 내역이 없다는걸 확인할 수 있다.

git status

 

git add 

- git add 파일명 -> 해당 파일을 저장한다.

- git add --A -> 현재 폴더의 파일들과 하위 폴더의 파일 모두를 저장한다.

git add -A

git commit

git commit은 저장이라고 생각하면 된다. -m은 저장하면서 메시지를 남긴다는 옵션이다. 메시지를 남겨놓지 않으면 헷갈리니 commit 할 때 마다 메시지를 남겨놓도록 하자

git commit -m "First commit"

 

dog 라는 파일을 만들어주고 다시 커밋

 

cat파일은 지우고, penguin 파일을 만든 후 위와 같이 저장, 커밋해줌

 

git log

git log를 해주면 지금까지 commit한 정보와 메세지가 뜬다.

 

과거로 되돌리기

 

1. 과감한 방법 -> 돌아갈 과거 이후에 행적을 완전히 지우겠다.

2. 신중한 방법이 있다. -> 과거로 돌아가지만 log에는 이후 행적이 남아있다.

 

 

git reset

1번 방법으로 penguin 파일을 만들기 전으로 돌아가보쟈

git reset 일련번호 앞 6자리 --hard

 

 

=> penguin은 사라지고 cat이 다시 생성되고, mouse의 이름은 다시 jerry로 돌아옴

 

 

git revert

2번 방법으로 dog를 추가하기 전으로 돌아가 보쟈

git revert 일련번호 앞 6자리

 

 

=> dog 파일은 삭제 되었지만 log에는 남아있는걸 확인할 수 있다.

 

 

git branch

my-idea라는 브랜치 생성 -> 원본 branch(master)를 그대로 복사하여 my-idea 브랜치를 생성하는 것

git branch my-idea

 

git checkout

git checkout으로 my-idea와 master를 자유롭게 드나들 수 있다.

새롭게 파생한 branch에서 작업을 하다가 최종적으로 결정된 사항을 master에 적용?할 수 있다.

git checkout my-idea

git merge

other-idea의 작업 내용을 master에 적용해보쟈

git checkout master -> 마스터로 이동

git merge other-idea -> other-idea와 합침

git merge other-idea

=> dinosaur가 생성되고 dog, mouse는 삭제됐다.

 

 

git log --graph --all --decorate

master와 other-idea의 작업내역을 볼 수 있다.

git log --graph --all --decorate

다른 브랜치에서 같은 파일을 수정하면 충돌 문제가 생긴다.

가능하면 다른 브랜치에서 같은 파일을 수정하는 일은 없도록한다.

 

다 사용한 브랜치는 제거할 수 있다.

git branch -D my-idea

 

 

 

 

reference

www.youtube.com/watch?v=FXDjmsiv8fI

www.a-mean-blog.com/ko/blog/%ED%86%A0%EB%A7%89%EA%B8%80/_/Git-GitHub-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EB%B2%95

git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

'Data Science > git' 카테고리의 다른 글

git hub - 다른 사람과 협업하기(내 코드 올리기)  (0) 2021.03.07