| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 카카오뷰 부업
- ppt 도형 색
- 카카오뷰 온라인 수익화
- HTML
- Git 팀 작업
- 원씽
- 30일 글쓰기
- 엑셀 프린트하기
- 실시간 통신
- 위드굿즈 굿즈샵
- 카카오뷰N잡
- 도서 원씽
- 카카오뷰 성장
- 성공비법
- 카뷰 수익 인증
- Axios 라이브러리
- 책 원씽
- CSS
- 카카오뷰 초보
- 웹기초
- 카카오뷰 탭이동
- git 협업하기
- ppt 다이어그램
- 위드굿즈
- express.js 환경 셋팅
- 성공에 대한 거짓말
- 이석증
- 엑셀 기초 함수
- 카카오뷰 수익
- 자기관리
- Today
- Total
김데이의 개발공부
[ TIL ] Day 37 - Git / GitHub 기본 명령어 본문
[ TIL ] Day 37 - Git / GitHub 기본 명령어
theday365 2025. 11. 17. 19:09🗓️ 수업 일자 : 2025.11.17
✨ 오늘의 수업 평가 : [ PROJECT ] 프로젝트 끝! 하얗게 불태웠다~ 🤍🩶🖤
작업했던 내용과 연계된 부분까지 수정하고 나서 최종 PR 해서 진짜 정말 최종 작업을 마무리 지었다!
내일은 지금까지 작업한 내용들 API 테스트 하면서, 다른 팀원들이 작업한 코드 보며 공부 해야지🤓
진짜 우리팀 너무 고생 많았습니다 🤍🩶🖤
👩💻 [개인 / 팀 프로젝트] 오늘 작업 내용 💻
- 팀 프로젝트 작업 : "추가 개발" 파트에서 연장된 부분 수정 진행
📝 오늘 배운 내용
- Git 기본 명령어
- GitHub 알아보기
1. Git 기본 명령어
0) 기본 규칙
- 폴더 구조 : 아래 내용 작성 시 폴더/.. 로 1단계 구조로 작성하지만,
실제 작업 환경에서 여러 단계의 파일에 접근하는 경우 "폴더/폴더/폴더.." 구조로 사용 - 파일 구조 : 아래 내용 작성 시 "파일명"으로 기재하지만, 실제 사용시에는 "파일명.확장자" 구조로 사용
- 커밋 해시 : git 저장 = 커밋을 하게되면 고유 번호가 나오게 되는데, 이를 커밋 해시라고 함

1) 레포지토리(저장소) 만들기 - 순서대로 사용
- git init : 작업중인 로컬 공간을 저장소로 변경
- 다음으로 오는 커밋 작업을 이용해 파일 저장 및 버전 관리
2) 커밋 작업 - 순서대로 사용
- git add . 또는 git add 폴더명/파일명 : 작업중인 파일을 저장하기 위해 "스테이지"로 이동
- git commit -m "작업한 내용 작성" : 저장 작업에 대한 메세지를 입력,
git commit : 텍스트 에디터가 나와서 메세지를 자세하게 남길 수 있음 - git push origin 브랜치명 : 로컬 레포지토리와 연결된 원격 레포지토리(=GitHub)에 저장한 내용 업로드
+ 추가 git push origin 브랜치명 -f
: 원격 레포지토리에서 push에러가 났을때 강제로 로컬에 있는 내용으로 원격에 업로드 하는 명령어
[ 상황 예시 ]
- 수정 한 파일이 로컬에 있지만 불필요하여 스테이징에 올리지 않으면, 누락 된 파일이 있다고 Git이 친절하게 알려줌
- 작업을 하다 보니 로컬 레포지토리에 비해 원격 레포지토리의 커밋 내용이 앞서 있는 경우
3) 작업 되돌리기
- git restore 파일명 : 아직 스테이지에 올라가지 않은(no add) 파일에 대해서 되돌리는 방법
- git restrore --staged 파일명 : 이미 스테이지에 올라가 있는(add 한) 파일에 대해서 되돌리는 방법
- git reset HEAD^ : 커밋까지 모두 완료한 작업을 되돌리는 방법. 마지막 커밋이 취소됨
git restore 파일명 : reset은 커밋만 되돌리므로, 파일을 이전 상태로 돌리려면 해당 작업을 한번 더 실행 - git reset --hard 커밋 해시 : 지금까지 작업을 없애고 과거에 특정 위치의 커밋으로 파일 전체 상태를 돌리고 싶을 때 사용
- git revert 커밋 해시 : 지금까지 했던 커밋을 유지하면서 특정 시점으로 파일의 전체 상태를 되돌림
+ 추가 git reset 옵션
- git reset --hard HEAD^ : 마지막 커밋이 취소 되면서, 파일도 이전 상태로 되돌아감, 해당 명령어 사용 시 "주의"가 필요
- git reset --soft HEAD^ : 마지막 커밋은 취소하지만, 변경된 파일은 여전히 staging 상태로 유지되어 있음
- git reset --mixed HEAD^ : git reset HEAD^ 와 동일한 기능, 커밋을 취소하고 변경된 파일은 unstaging 상태로 만듦
4) 기타 상태 확인 관련 명령어
- git status : 현재 브랜치, 커밋 한 파일, 커밋 한 상태 등 전반적인 상태 표기
- git log : 현재까지 작업 한 커밋 목록 확인
- git branch : 지금 작업중인 레포지토리의 모든 브랜치 이름 확인
- git diff : 현재 파일이 로컬 레포지토리의 내용과 어떻게 다른지 확인
- git remote -v : 현재 연결된 원격 레포지토리 확인 가능
- git config --global -l : 저장 되어 있는 Git 자격 정보 확인
2. GitHub 알아보기
- Github란? Git(깃) 관련 원격 저장소, 가장 많이 사용.
- Github의 기능
- 무료로 원격 저장소를 사용 가능.
- 지역 저장소(로컬 레포지토리)의 작업을 백업 가능
- 온라인 개발 툴 사용 가능 : Git에서 제공 해 주는 온라인 소스 편집툴 사용 가능
- 협업 프로젝트로 사용이 용이함
- 자신의 개발 이력을 남길 수 있음 (=포트폴리오)
- 다른 사람의 코드를 볼 수 있음 (개발 방식 배우기)
- 오픈소스에 개발 참여 가능
- 로컬 레포지토리(내 컴퓨터) & 원격 레포지토리(github 저장소) 연결하기
1) 만들어진 지역 저장소를 원격 레포지도리에 연결하기 (로컬 작업 → 원격 연결)
- git init : 로컬 레포지토리 만들기
- git add . 또는 git add 폴더/파일명 : 작업 한 파일 스테이징에 올리기
- git commit -m "커밋 메세지" : 스테이징에 있는 파일 저장하기(버전 저장)
- git remote add origin 원격 레포지토리 URL : GitHub 원격 레포지토리와 연결하기
- git push -u origin main : 원격 레포지토리에 첫 업로드 시 사용하는 명령어, 업로드용 브랜치 설정
git push origin main 또는 git push : 원격 레포지토리에 저장 한 커밋 업로드(동기화)
2) 원격 레포지토리를 연결하고 로컬에서 작업하기 (원격 연결 → 로컬 작업)
- git clone 원격 레포지토리 URL : 원격 레포지토리를 현재 폴더로 복제하기(연결),
작업 시 상위 폴더에서 명령어 실행해야 꼬이지 않음
ex) work-place에 [project1]을 복제하려면 work-place에서 실행 - (작업 전) git pull : 원격 레포지토리에 있는 최신 정보를 내 로컬에 적용, Clone 한 직후에는 사용 안함
- git add . 또는 git add 폴더/파일명 : 작업 한 파일 스테이징에 올리기
- git commit -m "커밋 메세지" : 스테이징에 있는 파일 저장하기(버전 저장)
- git push -u origin main : 원격 레포지토리에 첫 업로드 시 사용하는 명령어, 업로드용 브랜치 설정
git push origin main 또는 git push : 원격 레포지토리에 저장 한 커밋 업로드(동기화)
📃 내일은 뭘 배울까 🤔
- Git & Github 팀 작업하기
'코드잇 Node.js(BE) 부트 캠프 > TIL (Today I Learn) 📑' 카테고리의 다른 글
| [ TIL ] Day 39 - Git / GitHub 팀 협업하기 (0) | 2025.11.19 |
|---|---|
| [ TIL ] Day 38 - Git / GitHub 브랜치 (0) | 2025.11.18 |
| [ TIL ] Day 36 - Javascript와 친구들👥 node.js / express.js / npm 등등 (0) | 2025.11.14 |
| [ TIL ] Day 35 - 서버와 클라이언트 📝 (0) | 2025.11.13 |
| [ TIL ] Day 34 - Swagger 전격 분석하기! 📋🖊️ (0) | 2025.11.12 |