-
참고 강의 : 모두의 깃 & 깃허브
https://www.inflearn.com/notes/30254
https://www.inflearn.com/notes/30254
www.inflearn.com
깃이 있을 때와 없을 때.
1. 변경 내역 확인이 어렵다. => 변경 내역들을 기억한다.
2. 작업을 되돌리기 어렵다. => 필요하다면 작업을 되돌린다.
3. 협력하기 어렵다. => 여러 명의 코드를 쉽게 나누고 합치며 개발할 수 있다.
버전이란?
버전이란 유의미한 변경을 뜻하고 프로그램 개발이라 하면 버전의 변경들을 쌓아 만드는 것
버전 관리의 큰 그림
작업 디렉터리, 스테이지(가상의 공간; 다음 버전이 될 후보가 올라가는 공간), 저장소(레파지토리;repo-가상의 공간)
작업 디렉터리에서 변경 -> 스테이지로 add -> 저장소로 commit -> 깃헙으로 push
버전 되돌리기
revert - 버전을 되돌린 새로운 버전을 만드는 것(이전 버전들을 유지하고 싶을 때)
reset - 버전을 완전히 되돌리는 것
- soft : 커밋 전으로 되돌리는 것
- mixed :커밋과, 스테이지 추가를 되돌리는 것
- hard : 커밋, 스테이지 추가, 디렉터리 변경 내역까지 모두 되돌리는 것
브랜치 - 가지치기
브랜치는 버전의 분기이다. 브랜치로 버전의 분기를 관리하는 방법은 3단계, 1.나눈다 2.작업한다 3.합친다 끝
헤드 - 현재 작업 중인 브랜치의 커밋을 가리킨다.(작업 중인 브랜치)
체크 아웃 - 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것
안전하게 통신 주고 받기 SSH(Secure Shell)
두 개의 암호키를 생성 : 공개키, 개인키
개인키를 깃 허브에 전달
ssh-keygen 명령어로 공개키 개인키 생성, 저장할 위치 저장, 통신 직전 암호 설정(필수x)
cat 명령어와 공개키 위치 입력으로 내용을 확인하고 그 값을 깃허브 세팅의 ssh 키 값으로 전달
이후 소스트리 계정에서 깃허브와 ssh로 연결
원격 저장소와의 네 가지 상호작용
clone 클론, 원격 저장소를 복제하기 - 컴퓨터로 가져오기
push 푸시, 원격 저장소로 밀어 넣기
fetch 패치, 원격 저장소로 일단 가져만 오기
pull 풀, 원격 저장소를 가져와서 합치기
origin -원격 저장소 경로의 별명
협업 하기
1. 기여하려는 저장소를 본인 계정으로 포크(fork)하기 - 개인 해석(포크로 찍어온다)
2. 포크한 저장소를 클론하기
3. 브랜치 생성 후 생성한 브랜치에서 작업하기
4. 작업한 브랜치 푸시하기
5. 풀 리퀘스트 보내기