21.1.10

커피 내리는 그냥 사람·2021년 1월 10일
1

위코드 사전스터디

목록 보기
4/36

#1. 수강 과목 : Git 이론
#2. 수강 콘텐츠 : 생활코딩 Git강의 정리

도저히 안 되겠어서 그냥 깃 강의를 듣기로 했다.

  1. 깃의 목적 : 버전관리 / 백업 / 협업

  2. 버전관리 : 비슷한 개념으로 save as 같은 느낌? 누적되어서 전에 하던 것도 저장된다. 그리고 그걸 마음껏 볼 수도 사용할 수도 있다.

  3. 백업 개념 보다 보니 이해 바로 된 것 :
    로컬(즉 내 컴)에서 저장한 것을 깃에 업로드 해주는 것을 커밋,(다른 버전을 만듦) 그 커밋한 내용을 깃허브(원격저장소)에 업로드해주는 것을 푸쉬(최종 저장). 그리고 그걸 다시 가져오는 작업을 pull.

  • 약간 아이튠즈 있을 때 동기화 하는 느낌이다.
  1. 협업 : 커밋, 푸쉬, 풀이 원격 저장소를 매개로 해서 일어나는 협업.

지금까지 깃1 수업이었는데 2, 3까지는 들어보면 나쁘지 않을 것 같다.


<GIT의 버젼관리>

1개의 파일만 수정할 때

워킹트리 : 수정한 파일들
스태이징 에리어 : 버전을 만드려는 파일들(커밋하는 것)

nano hello.txt (들어가서 수정)
git status (수정된게 빨간 글씨로 나오는지 확인)
git add hello1.txt

리파지토리 : 만들어진 버전들이 올라가 있는 것.

git commit -m "Message 1"(새로운 이력 커밋했다고 명령)

리파지토리로 올린 상태 확인은 git status 보면 비어 있음(커밋 완료)
git log 하면 상태 볼 수 있음(수정된 버전들 및 커밋된 것의 고유 넘버)

  1. 여러 개의 파일을 수정할 때
  • 그냥 git add 하면 스테이징 에리어에 다 올라감
    그 이후도 비슷.

  • 만일 연루된 구분이 필요하다면?(리스트를 보고 싶다면?)

git log --stat

즉 여러 번의 버전이 올라갔을 때 버전별로 변화를 한 번에 리스트로 보는 방법.

  1. 버전 간 차이점 비교
git diff

워킹 트리 내에서 전 버전과 현 버전이 어떤 점이 차이가 나는지 화면에 표시해주는 것.

git log -p

모든 버전의 로그를 하나 하나 보여주는 것.(문제점 추적에 도움을 주는 것, 버전관리의 효용)

  1. checkout : 특정 버전으로 워킹트리를 변경시키는 방법(특정 시점으로 돌리는 방법) ; 깃 내에서 시간여행을 하는 법.
git checkout + ~~(돌아가려는 버전 고유 넘버)

-> 그 버전으로 돌아가서 새로 만들거나 추가한 모든 파일이 사라짐.

다시 원래대로?(마스터 단계)

git checkout master
  1. 보충
    git add ~(파일명) 을 하지 않고 add 하는 법
    git add .
    git commit -am "Message4"
    단 앞에서 최초로 1회 이상 추적은 되었을 때만 됨.

git commit
만 누르고 바로 하면 기본 에디터가 떠서 다양한 이름의 커밋을 할 수 있다.

  1. 버전 삭제
git reset --hard ~~(버전 이름)
  • 이 (버전 이름)이 되겠다! 라는 뜻.(수정하고 있었던 것까지 강력하게 hard로 지운 것임)

  • 수정하던 건 살리고 싶다 : mixed로 바꾼다.

  1. 버전 되돌리기(삭제+보전)
git revert (리버트 할 버젼)

잘 이해는 안 되지만 로그는 그대로 있지만 상태는 내가 원하는 버젼으로 돌아와있다는 것과 역순으로 해야 그 전에 했던 버젼들과 충돌이 안 일어난다고 하는 것까지는 이해 했다. 이건 시간이 지나서 다시 공부해야겠다.

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글