Git 이란 무엇일까?
Git이란 분산 버전관리 시스템으로 컴퓬터 파일의 변경사항을 추적하고 여러명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용되는 프로그램이다.
쉽게말해 코드의 변경점을 기록하는 것이다.
git으로 코드의 변경점을 기록한 것을 Github이라는 곳에 올려 타인과 공유하고, 개인적으로 백업을 진행하는 것이다.
그러므로 Github은 백업과 공유가 가능한 온라인 코드 저장소이다.
다음으로 git 명령어를 조금 알아보고자 한다.
먼저 git bash에서 필수로 사용되는 명령어를 알아보자.
내가 만약 numMemo라는 html파일을 깃허브에 올려 백업해두고자 한다.
그렇다면 터미널을 열어 git bash를 키고, num Memo가 존재하는 폴더로 이동해야한다.
현재는 code라는 폴더에 있지만, numMemo html파일은 sparta 폴더 안의 numberRemember이라는 폴더 속에 존재한다.
그럼 먼저 pwd를 쳐서 git bash가 위치한 폴더가 어딘지 확인하자.
1. pwd - 현재 내가 작업하는 폴더가 어딘지
물론 터미널에 뜨긴 하지만 확인하는 코드는 pwd이다.
그리고 ls를 사용하여 해당 폴더내에 어떤 파일이 있는지 확인해야한다.
sparta라는 폴더가 존재한다! 그럼 sparta 폴더 내부로 이동하자
그리고 한번 더 numberRemember 폴더로 이동하자.
2. ls - 작업하는 위치의 파일과 폴더 목록 보이기
3. cd 폴더명 - 작업하는 위치에 있는 폴더속으로 이동
원하는 폴더로 작업위치를 이동했으니, 이제 깃헙과 연결하여 레포지토리에 올려보자.
깃헙 리포지토리에서 new버튼을 눌러 새롭게 생성한다.
원하는 리포지토리 이름을 입력하고 생성한다.
vscode로 돌아와 아래 명령을 실행한다.
git init
git commit -m "first commit"
git branch -M main
git remote add origin ~~~
git push origin main
리포지토리에 먼저 작업했던 파일이 올라가있다!
이제 협업을 할 때 공유를 하거나 혹시모를 상황을 대비한 백업이 완료된 것이다.
이번엔 다른사람의 리포지토리를 clone해서 내 컴퓨터에서 확인해보자.
원하는 기능 혹은 원하는 언어로 만들어진 리포지토리를 찾는다.
초록색 CODE버튼을 누르고 HTTPS에서 복사버튼을 누른다.
gitbash에서 원하는 폴더로 이동하여 새로운 폴더를 생성한다.
mkdir "폴더명" - 원하는 이름의 폴더를 작업위치에 생성한다.
폴더를 만든 후 해당 폴더로 이동한다.
cd infiniteScrolling
누군가 작성한 무한스크롤 관련 리액트파일이 잘 저장된 것을 볼 수 있다.
이후 npm install이든지 yarn install 이든지 해당 작성자가 설치해둔 라이브러리를 설치하면 잘 작동한다.
Git 필수 명령어
1. git init - 코드 관리를 시작하는 명령어, 정확한 프로젝트 폴더에서 입력해야 함, 프로젝트 시작 시 딱 한번만 입력하면 됨
2. git add - 깃에 추가하길 원하는 변한파일을 스테이징함 (파일 지정)
git add . - 모든 변경사항을 지정한다. > 커밋작성하면됨
3. git commit - 커밋 메시지 입력 git commit -m "입력할 메시지", 어떤 코드를 짰는지
4. git status - 변경된 파일이 남아있는지 확인, commit하면 남아있지 않음
5. git log - 저장 내역을 확인하는 명령어 - q를 눌러 빠져나오면 됨
6. git remote add origin ~~ - 깃 연결git branch -M main - 메인 브랜치 변경git push -u origin main - git push만 해도 git push origin main의 기능을 하게 함 근데 브랜치 자꾸 바뀔 수 있어서 안 하는 것도 좋음 그냥 origin 원하는 브랜치로 하는 게 편할 수도 있음
7. git push - github에 push함, 브랜치 지정해야 함 origin main처럼 뒤에 붙이면 됨
8. git clone "레포지토리복사" . - 원하는 레포지토리를 복사해옴 git clone "깃헙에서 복사한 링크", "."(점)을 꼭 입력해야함
9. git pull - 다른사람이 변경한 코드 가져오기
'2차 공부 > TIL' 카테고리의 다른 글
24.07.17 미니프로젝트 script, style 모듈 분리하기 / try{...} catch(err){...} (0) | 2024.07.17 |
---|---|
24.07.16 미니프로젝트 troubleshooting (0) | 2024.07.16 |
24.07.12 Vite로 리액트 프로젝트 생성하기 (0) | 2024.07.12 |
24.07.12 최소공약수와 최대공배수 (0) | 2024.07.12 |
24.07.11 json server와 axios를 이용하여 데이터 통신하기 (0) | 2024.07.11 |