반응형
0. 왜 Git과 GitHub를 익혀야 할까?
개발을 할 때 버전관리와 클라우드 저장소는 꼭 필요하다.
Git과 GitHub는 각각 버전관리와 클라우드 저장소로 가장 많이 이용되는 개발 협업 툴
✍ Git | 버전관리
- 원하는 시점에 버전을 만들고 이들 간 자유롭게 돌아다닐 수 있다.
- 동료의 버전으로도 접근할 수 있고
- 최신본으로 업데이트 할 수도 있다
CLI : 명령어를 쳐서 git을 다루는 방법
GUI : 버튼을 클릭해서 git을 다루는 방법
원하는 폴더에서 Git으로 버전관리하기
- git init (git 초기화)
- .git이라는 숨겨진 폴더가 만들어진다 = 로컬 저장소 생성
- 로컬 저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다
- 원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동 생성된다
- 한 폴더에 하나의 로컬 저장소만! (충돌 방지)
✍ GitHub | 클라우드 저장소
github에 어떻게 코드를 올릴까?
- 내 프로젝트 폴더에 git을 쓸거라는 것을 명령
- 코딩
- 변경한 파일 중 올리길 원하는 것만 선택
- 선택한 파일들을 한 덩어리로 만들고 설명 적기(commend)
- githu에서 저장소를 만들고
- 내 프로젝트 폴더와 연결하기
📌 용어 정리
커밋? | 하나의 버전. 게임으로 따지면 진행상황 저장
- '의미 있는 변동사항'을 묶어서 만든다
- 하나를 수정하기 위해 여러 파일을 수정했다면 이를 다 묶어서 하나로 커밋함
- 커밋의 단위를 잘 분리해야지 다음에 커밋 내용을 쉽게 파악하고 진행상황으로 복귀할 수 있다
- 커밋 메세지 !!! 완전 중요하다 하심 - 나도 몸으로 느낌😢💦
📌 Git 명령어
파일 안으로 들어가는 것 : cd 원하는 파일 경로
cd C:\Users\ME\coding\coding test
폴더에 있는 모든 것들을 보여주는 것 : ls
- (안을 보길 원하는 폴더 경로에서)
ls
원하는 파일 staging area에 저장하기(git이 파일을 추적가능하게 하기)
git add README.md
git add 원하는 파일 이름git add *
전체 다 add하려면*
을 쓴다
staging area에 저장된 파일 커밋하기 (파일 상태는 unmodified가 된다)
git commit -m "원하는 커밋 내용"
생성한 커밋 보기
- git log
GitHub에서 원격 저장소 만들고 커밋 push하기
- GitHub에서 새 repository 생성
- 내 컴퓨터와 GitHub 저장소 주소 연동
git remote add origin https://github.com/Juhyun/test.git
- 본인이 만든 레파지토리의 code부분에서 HTTPS부분을 복사하면 저장소 주소를 쉽게 가져올 수 있다
- 커밋 내용 올리기
git push origin master
혹은git push origin main
master로 연결된 저장소가 있고 main으로 연결된 저장소가 있어 잘 확인하고 올려주면 된다
다른 사람이 만든 저장소 받아오기
다른 사람이 만든 repository를 함께 협업해야 할 때 어떻게 코드를 받아와야 할까?
git clone https://github.com/다른사람/test.git
- 로컬 저장소까지 복제되어 받아와진다
- 이 때 git clone 명령어 뒤에 띄어쓰기 후
.
을 찍어야 현재 폴더에 생성된다 .
을 찍지 않으면 새 폴더가 생성된다
만약 진작 clone해서 가지고 있는 로컬 저장소가 있는데, 함께 협업하던 다른 사람이 새로운 코드를 짜서 push했다면?
=> 원격 저장소에 올라가있는 버전과 내가 가지고 있는 버전이 달라진다 (이 때 내가 새로운 코드를 짜서 push하면 충돌이 발생!)
=> 따라서 원격 저장소에 있는 새로운 버전을 받아와야 한다.
=> 그럴 때마다 clone을 쓰는 것은 비효율적!
git pull origin master
orgit pull origin main
- 내 로컬 저장소와 다른 부분만 받아와진다
collaborators 추가하기
GitHub -> Settings -> Manage access -> 비번 한번 더 치기 -> github username 적어주기
repositoy에 초대 완료~ (초대받은 사람도 push 권한이 생긴다)
?
왜 origin master / origin main이 나눠지나요?
인종 차별 문제로 기본 branch의 이름이 master -> main으로 변경되는 중이라고 합니다
잘 확인하고 사용하시면 오류가 없겠죠!?
💛 강의 소스 💛
팀 개발을 위한 Git, Github 입문
자세한 내용과 실습은 강의를 통해 배울 수 있습니다 :D 최고!
반응형
'🐙 Git & GitHub' 카테고리의 다른 글
[ GitHub ] github와 내 파일 연결하는 법 (잔디 심는법) (0) | 2022.04.01 |
---|---|
📌 카테고리 개설 이유 (0) | 2022.04.01 |