반응형
📚 코딩애플의 '매우 쉽게 알려주는 git & github'을 수강하며 배우거나 추가적으로 찾아본 것들을 정리한 내용입니다.
내 코드를 github에 올리기
repository
- git이 파일 버전을 저장해두는 장소를 repository라고 한다.
- 로컬 작업 폴더엔 숨겨진 .git 폴더가 있는데 그것이 repository이다.
- 실제로 개발할 땐 온라인 repository를 많이 사용한다. (내 컴퓨터에서 만들어둔 저장소를 백업!)
push : 로컬 저장소에서 원격 저장소로 옮기기
git push -u 원격저장소주소 main
# 원격저장소에 특정 브랜치 푸시하기
git switch 푸시할브랜치명
git push origin 푸시할브랜치명 #origin 안될경우 원격레포주소.git
- 로컬저장소의 main 브랜치를 원격 저장소에 올리라는 의미이다.
- -u 옵션은 방금 입력한 주소를 기억하라는 의미이다. 다음부터는 주소를 길게 입력하지 않고 git push만 입력해도 된다.
- 원격 repo 주소는 https://로 시작해서 .git으로 끝난다.
.gitignore
- 저장소에 올리지 않을 파일들은 .gitignore에 저장한다.
- 해당 파일을 하나 만들면 저장소에 올리지 않을 파일들을 쉽게 명시할 수 있다.
- 그곳에 명시한 파일들은 git add .을 해도 스테이징되지 않는다.
github에서 타인과 협업하기
clone : 원격저장소 파일 내려받기
# 기존 소스코드 다운 받기
git clone https://원격저장소주소
단, 협업자(팀원)도 github 아이디가 있어야 하고 그 팀원의 아이디를 Collaborators 메뉴에 등록해둬야 협업이 가능하다.
pull : 원격저장소 내용 가져오기
# 원격 vs 로컬 내용이 다르다면 로컬 저장소에서 git push 불가, 따라서 최신화 해줘야 함
git pull 원격저장소주소
# 특정 브랜치만 가져오는 법
git pull 원격저장소주소 브랜치명
- 원격저장소에 있던 모든 브랜치 내용을 가져와 로컬저장소에 합친다.
- 로컬이 최신 상태가 되기 때문에 충돌없이 git push가 가능하다.
- 이전에 -u를 했다면 git pull, git push 까지만 입력해도 진행 가능하다.
[참고]
- git pull은 git fetch + git merge까지 자동으로 진행한다.
- fetch는 원격저장소에 있는 commit 중 로컬에 있는 신규 commit을 가져온다.
- merge는 그것을 merge하라는 의미이다.
- 따라서 git pull 시 여러 명이서 같은 파일을 작업하고 있으면 merge conflict 오류가 날 수 있다.
fetch
- 원격 저장소의 내용을 로컬 저장소로 받아오긴 하지만, 내 컴퓨터에 저장되어있을 뿐 우리가 실제로 작업하고 있는 Working Directory까지 끌고 오지는 않는다.
- 따라서 fetch만으로는 직접 작업을 하거나 수정을 할 수 없다. (git pull은 원격저장소의 소스를 받아올뿐만 아니라 Working Directory 병합까지 수행한다.)
[참고 자료]
https://codingapple.com/course/git-and-github/
반응형
'Etc.' 카테고리의 다른 글
[코딩애플 / git] git & github(6)_stash 사용법 (0) | 2023.04.01 |
---|---|
[코딩애플 / git] git & github(5)_branch 사용법 (0) | 2023.03.31 |
[코딩애플 / git] git & github(3)_restore, revert, reset 사용법 (0) | 2023.03.27 |
[코딩애플 / git] git & github(2)_branch, merge 사용법 (0) | 2023.03.26 |
[코딩애플 / git] git & github(1)_add, commit, diff 사용법 (ft. VSCode) (0) | 2023.03.26 |