- Git을 통한 Github 원격 저장소와의 데이터 교환을 해보자.
- git init
- git clone
- git remote
- git pull
- git add
- git commit
- git push
- 위 과정을 직접 수행해보며 익혀보자!
- git init : 새로운 Git 저장소를 생성한다.
- 먼저, Desktop에 원격 저장소와 소통할 폴더를 만들어줍시다!
- mkdir GIT_TEST
- 생성한 폴더에 들어가, git init 명령을 통해 새로운 Git 저장소를 만들어줍시다!
- 이로써 GIT_TEST 폴더 안에 Git 저장소를 생성했습니다.
기본 branch로 master가 만들어졌음을 확인할 수 있네요!
- git clone : 원격 저장소를 로컬 저장소에 복제한다.
- 기본 형태 : git clone
원격 저장소의 주소
- 우선, 복제하고자 하는 저장소가 있어야겠죠?
저는 제 Github의 GIT_Study를 복제해보겠습니다!- 이제 git clone 명령을 통해 GIT_TEST 폴더에 복제해옵시다!
이때, 원격 저장소의 주소는 윗 사진의Code
버튼을 눌러 확인 가능합니다.
성공적으로 복제하였음을 확인할 수 있습니다.
- git remote : 원격 저장소를 관리한다.
- 어느 저장소로부터 pull을 하고 push를 할 것인지 Git에게 알려줘야한다!
- 기본 형태
- git remote -v : 현재 연결된 저장소를 보여준다.
- git remote add
원격 저장소의 이름
원격 저장소의 주소
- git remote rm
삭제할 저장소의 이름
- 아직 관리할 저장소를 알려주지 않았기때문에, git remote -v를 입력해도 아무것도 뜨지않음을 확인할 수 있다.
- 따라서, git remote add를 이용해 원격 저장소를 Git에게 알려주자!정상적으로 연결되었음을 확인할 수 있다.
- git pull : 원격 저장소의 변경된 파일을 가져온다.
- 기본 형태 : git pull
원격 저장소의 이름
branch 이름
- Github repository를 생성하면 default로
main
이라는 이름의 branch가 생성된다.- clone vs pull ?
- clone : 로컬 저장소와 원격 저장소가 동일해진다.
- pull : 로컬 저장소의 기존 작업물이 유지된 채 원격 저장소의 변경된 내용을 가져온다.
- git remote를 통해 작업할 저장소를 알려줬으니, 이제 그 저장소로부터 변경된 파일을 가져와보자!필자는 여러가지를 작업해본 후 pull하여 "이미 업데이트 상태입니다."라는 문구가 떴으나, 처음 pull을 작업했다면 위 사진과같이 GIT_TEST 폴더 안에 변경된 파일이 업로드 되었음을 확인할 수 있다.
- 위에서 설명한 clone과 pull의 기능 차이에 따른 목적의 차이로 인해,
다른 위치에 업로드되는 것또한 확인 가능하다.
- git add : 변경된 내용을 staging area에 추가한다.
- commit 이전에 변경된 내용들을 모아놓는 역할로서, 저장소에 영향을 미치지 않는다.
- Staging Area : 작업 디렉토리와 Git 저장소의 다리 역할.
원하는 파일만 commit 하게끔 하여, 버그 추적 및 roll back이 수월해진다.- 기본 형태 : git add
옵션
- 그러면, 본격적으로 pull한 파일을 수정하기 전에 GIT_Study의 내용을 확인해두자.
Lorem Ipsum1
파일을 작업해보도록 하자!
- 이제 로컬에서 Lorem Ipsum1 파일을 다음과같이 수정해보자.
- 수정을 마쳤으니, 변경된 내용을 git add . 명령을 통해 staging area에 넘기자.
그리고 git status를 통해 내역을 확인해보자!
커밋할 변경 사항에 Lorem Ipsum1이 잘 반영되었음을 알 수 있다.
- git commit : push할 파일을 확정한다.
- 기본 형태 : git commit -m "
수정된 내용에 대한 설명
"
- 모두가 알 수 있도록 수정 내용을 반영하여, git commit을 통해 원격 저장소에 반영할 파일을 확정지어주자!
git log를 통해 commit된 내역또한 확인해보았다. 내역은 내용이 길어 확인 후:wq
로 종료해 캡쳐화면에는 보이지 않는다.
- git push : commit된 내용을 원격 저장소에 업로드한다.
- 기본 형태 : git push
원격 저장소의 이름
branch 이름
- 마지막으로, 내가 수정한 내용을 드디어 원격 저장소에 올릴 차례!
git push를 통해 업로드하자.
이때 Username과 Password를 입력하라고 하는데, Password는 Github 비밀번호가 아닌 이곳에서 발급받는 키체인을 입력하는 것이다.
키체인 암호를 입력하라고 한다.
- 그렇다면, 정말로 원격 저장소에 반영되었는지 확인해보자!
😍 수정본이 정상적으로 업로드되었음을 확인할 수 있다.
git push 이후에 알게 된 사실인데, 로컬 저장소에서는 커맨드에서 볼 수 있듯이
master
라는 branch에서 작업을 하고 Github의main
이라는 branch로 push 하였기때문에 따로 Pull Request를 수락해야 Merge가 가능했다.
- 즉, branch가 통일되지 않아 Pull Request 수락이 필요하다.
- Pull Request를 거치지 않고 push하고싶다면?
- 로컬 저장소에서도
main
이라는 이름의 branch를 생성하여,
같은 branch에서 작업이 이루어지도록 한다!
로컬 branch가main
으로 변경된 모습이다.
인터넷
인터넷 작동 원리HTTP란?브라우저 동작 원리DNS 작동 원리도메인 네임이란?호스팅이란?
기본적인 프론트엔드 지식HTMLCSSJavaScript
OS 및 일반적인 지식터미널 사용방법OS 작동 방식프로세스 관리스레드와 동시성기본적인 터미널 명령어메모리 관리프로세스간 통신 (IPC)입출력(I/O) 관리POSIX 기초기본적인 네트워크 개념
버전 관리Git 기본 사용법
DataBase- PostgreSQL (변경 가능성 있음)
- MongoDB
DataBase 상세 정보- ORM
- ACID
- Transaction
- N + 1 Problem
- DataBase 정규화
- Index와 작동 방식
API- 인증
- REST
- JSON APIs
캐싱- CDN
- Server side
- Client side
웹 보안 지식- MD5, SHA family, scyrpt, bcrypt
- HTTPS, CORS, SSL/TL, 보안 정책
Testing- 통합 테스트
- 단위 테스트
- 기능 테스트
- CI/CD
개발과 설계 원칙- SOLID
- KISS
- YAGNI
- DRY
아키텍처 패턴- 모놀로틱 앱
- 마이크로서비스
- SQA
- Serverless
검색 엔진- ElasticSearch
메세지 브로커- RabbitMQ, Kafka
컨테이너화 vs 가상화- Docker
GraphQL- Apollo
- 웹 소켓
- 웹 서버
확장성- 측정, 모니터링, 원격측정
- 마이그레이션 전략
- 수평적 확장 vs 수직적 확장
- 관찰 가능성을 고려한 확장
잘봤어~~ 너도 맥북쓰는구나! ㅋㅋ
혹시 MySQL 안 했으면 PostgreSQL 전에 먼저 해도 좋을거같아!