티스토리 뷰
git push, pull 어쩌구 배우기 전에
원격 repository 개념과 왜 사용하는지부터 알고 지나갑시다.
그래야 자신있게 git push 이런거 사용가능
repository가 뭐냐면
git이라는 친구가 파일버전을 저장해두는 장소를 repository라고 합니다.
로컬 작업폴더엔 .git 폴더가 있는데 그게 repository 입니다.
repository는 한국말로 저장소라고합니다.
실제로 개발할 땐 온라인 repository를 많이 사용합니다.
내가 컴퓨터에 만들어 놓은 git repository를 온라인으로 저장해두는겁니다.
그렇다면 1. 스타크래프트 립버전 1.17 다운받다가 컴퓨터 랜섬웨어 걸려도 안심가능
2. 다른 사람과의 협업도 가능해집니다.
사람들 많이 쓰는 github.com 에서 온라인 repository 하나 만들어봅시다.
github 가입하고 repository (저장소) 하나 만들기
원격 저장소를 제공해주는 github.com에 들어가서 가입하고 원격저장소를 하나 만들어봅시다.
로그인 후에 우측 상단 + 버튼 누르면 repository 하나 만들 수 있습니다.
▲ 이름 대충 짓고 확인만 잘 누르면 됩니다.
그럼 이것저것 git 명령어가 나오는데 그거 따라해도 되고
싫으면 절 따라합시다.
일단 작업폴더에서 git으로 commit 몇번 해보셈
원격저장소 왜 쓴다고 했습니까.
내 컴퓨터에서 만들어둔 저장소를 백업해둘 수 있다고 해서 쓴다고 하지 않았습니까.
그래서 내 컴퓨터에서 만든 로컬저장소를 원격저장소로 백업해봅시다.
일단 새로운 작업폴더에다가 git init 해서 저장소 하나 만들어보십시오.
1. 작업폴더를 하나 만든 다음 터미널에서 열어서 git init 합니다.
그게 로컬 리포지토리 생성 법임
2. github.com은 이제 기본 브랜치 이름을 master가 아니라 main으로 사용하라고 강요합니다.
그래서 우리 로컬 작업폴더에 있는 기본 브랜치 이름도 main으로 변경해줍니다.
터미널 열어서
branch이름변경법
git branch -M main
입력하면 기본 브랜치 이름이 변경됩니다.
안해도 될 수 있음
3. 그 다음에 파일같은거 만들어서 commit 몇 번 해보십시오.
Github에서 만든 원격 저장소에 올리기
로컬저장소 -> 원격저장소
이렇게 업로드하고 싶으면 작업폴더에서 터미널켜서
git push -u 원격저장소주소 main
- 로컬저장소의 main 브랜치를 원격저장소에 올리라는 뜻입니다. 다른 브랜치도 올릴 수 있음
- github 로그인하라고 뜨면 로그인하면 됩니다.
- 참고로 -u 옵션은 방금 입력한 주소 기억해두라는 뜻입니다. 다음부터는 주소를 길게 입력안하고 git push만 입력해도 잘됩니다.
▲ 원격 repository 주소는 이렇게 https:// 부터 시작해서 .git으로 끝납니다.
잘 찾아보십시오.
▲ 저런거 안뜨면 주소창에 있는거 그대로 복사해와서 .git만 뒤에 붙이면
그기 님들 원격 repository 접속url입니다.
▲ 그랬더니 진짜로 로컬에 있던 파일과 commit 내역이 올라갔습니다.
아무튼 결론은 원할 때 git push 어쩌구 하면 여러분이 작업한 파일들을 원격저장소에 업로드할 수 있습니다.
이제 전 세계 사람들이 여러분의 부끄러운 코드 관람가능
(참고)
github 사이트에서도 파일 수정삭제, commit 이런 것들 자유롭게 가능합니다.
github 원격저장소는 비공개로 돌릴 수도 있음
원격저장소주소 길게 입력하는게 귀찮으면 (변수만들기, -u)
그니까 https://github.com/codingapple1/lesson.git 이거 매번 입력하기 귀찮으면 어떻게 하냐는 겁니다.
그럴 땐 그 주소를 변수에 저장해서 사용할 수 있습니다.
변수에 저장하려면
터미널에 git remote add 변수명 저장소주소
입력하면 됩니다.
git remote add origin https://github.com/codingapple1/lesson.git
이렇게 입력하면 "https://어쩌구" 주소가 필요할 때 마다 origin 이라는 변수명을 쓸 수 있습니다.
길던 명령어를 git push -u origin main 이렇게 짧고 귀엽게 쓸 수 있겠군요.
(참고)
실은 -u는 방금 입력한 주소를 기억하라는 뜻이라
-u 붙여서 1번 했었으면 나중엔 git push 까지만 입력해도 알아서 잘됩니다.
진짜로 git push만 해보셈
(참고)
변수목록을 살펴보고 싶으면 git remote -v 입력해보십쇼
원격저장소에 있던거 그대로 내려받기
돈벌어서 맥북을 샀는데 그 컴퓨터에서 갑자기 개발을 시작하고 싶은겁니다.
그럼 귀찮게 컴퓨터간 소스코드를 공유할 필요 없이
원격저장소에 있던 내용을 그대로 내려받아서 시작하면 편리합니다.
git clone https://원격저장소주소
저장소에 올리지 않는 파일들은 .gitignore
원격저장소를 효율적으로 쓰고 싶으면 쓸데없는 파일은 commit 해서 올리지 않는게 좋습니다.
여기서
- 보안상으로 위험성이 있는 파일
- 프로젝트와 관계없는 파일
- 용량이 너무 커서 제외해야되는 파일
.gitignore 파일을 하나 만들면 저장소에 올리지 않을 파일들을 쉽게 명시가능합니다.
거기 명시한 파일들은 git add . 해도 스테이징이 되지 않아서 편리합니다.
웹개발을 제일 많이 하니까 웹개발을 예로 들면
node_modules 이런 폴더 이런 것들은 안올립니다.
(어짜피 package.json 파일만 잘 있으면 터미널에서 npm install 입력하면 자동으로 node_modules 폴더가 생성됩니다.)
git init 을 한 폴더 에다가 .gitignore 이라는 이름으로 파일을 하나 만들어준다.
그 안에 한줄씩 제외할 파일 혹은 폴더를 쓰면 된다.
그냥 어려울것 없이 한줄씩 쓰면 된다.
예시 )
# 특정 파일 fileName 제외하기
fileName.js
# 현재 경로에 있는 fileName_1 만 제외하기. (다른경로 fileName_1 말고)
/fileName.js
# 특정 폴더 node_module 안의 파일 다 제외하기
node_module/
# 특정 경로의 특정 파일 제외하기
folder/my.txt
# 특정 경로 아래의 모든 fileName_2 제외하기
folder/**/fileName_2.txt
# 특정 확장자 파일 다 제외하기
*.txt
# 예외 만들기
!fileName.txt
'CI CD > git' 카테고리의 다른 글
git 협업2 branch (full request) (0) | 2023.05.30 |
---|---|
git 협업1 git clone,pull (협업시 push에러나는 이유) (0) | 2023.05.30 |
git revert(커밋), reset(커밋,파일), restore(파일) 돌아가기 (0) | 2023.05.30 |
git merge종류(3-way, fast-forward, squash, rebase) (0) | 2023.05.30 |
git branch만들고 merge합치기 conflict충돌해결 (1) | 2023.05.30 |