목차
1. Git 설치하기
2. 필수 리눅스 명령어
1) pwd (print working directory)
- 현재 내가 작업하는 폴더를 보여달라는 뜻.
- ~ 는 home 경로이며, 바탕화면을 의미하는 Desktop 폴더의 상위 경로임.
* Working directory : 현재 작업중인 directory
2) ls(list)
- 현재 폴더 안에 있는 폴더 & 파일 내역을 볼 수 있음.
3) ls -a (list all)
- 숨겨진 파일(보통 . 으로 시작함)도 모두 볼 수 있음.
4) cd 폴더명(change directory)
- ls 명령어에서 확인된 폴더로 이동 가능.
- Desktop 안에 있는 다른 폴더로 이동 가능.(데스크탑의 폴더를 더블 클릭해서 들어간 것과 같은 효과)
- .. → 한 단계 위의 폴더라는 뜻.
- 폴더명/폴더명 으로 한 번에 더 깊이 들어갈 수 있음.
- . 은 현재 디렉토리를 의미함.
* 리눅스 명령어 입력 시 풀네임을 칠 필요 없이 어느 정도 입력 후에 tab을 치면 자동완성이 가능함.
* 폴더가 하나 밖에 없을 경우에 아무것도 치지 않고 tab키를 누르면 알아서 자동완성됨.
* 폴더명은 영문명으로 작성해야함.
* 터미널에 clear 치면 터미널이 꺠끗하게 지워짐.
* 프로젝트 경로를 미리 메모장에 복사해두면 다음날에 들어가기 편함.
* cd / + Enter 와 cd + Enter 모두 최상위 폴더로 바로 이동하게 됨.
5) mkdir 폴더명(make directory)
- 현재 경로에서 폴더를 생성하는 명령어.
6) touch
- 현재 경로에서 파일을 생성하는 명령어.
- 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어.
3. Git의 개념
1) Git
- 로그가 있으면 에러 발생 시 과거의 코드 기록으로 쉽게 되돌아가기 가능.
- 버전 관리 도구(= 형상 관리 도구)
- 코드 변경점 기록.
- 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것.
2) Github
- 백업과 공유가 가능한 온라인 코드 저장소.
- 온라인 업로드 → 팀원들에게 쉽게 공유도 가능.
- Github으로 공유 및 협업 가능.
4. Git 필수 명령어
1) git init
- 코드 관리를 시작하는 명령어.
- initialize(초기화하다, 초기 세팅하다)의 준말.
- 프로젝트 시작 전 딱 한 번만 입력하면 됨
(여러 번 입력해도 문제 되지 않지만 기존 데이터가 날아가는 경우도 있으니 주의할 것!)
- 정확한 프로젝트 폴더(경로)에서 입력해야함.
(잘못하면 데스크탑 전체 파일, 폴더가 다 기록됨)
- git init 명령어를 입력하면, .git 이라는 숨겨진 폴더가 생기고, 이 때부터 코드 변경을 git에서 추적함.
- initialized empty Git repository in~ 이라고 나오면 성공한 것.( =깃 저장소를 초기화했습니다)
- windows 사용자는 터미널을 git bash 또는 bash로 열 것!
2) git status
- 저장 되기 전 상황을 확인하는 명령어.
- 어떤 파일이 어떤 상태가 되었는지 확인.
- 코드의 변경이 있으나 add 하지 않은 파일은 붉은색으로 표시됨.
- branch가 어떤 branch인지까지 확인 가능함.
3) git add & commit
- 코드를 저장하는 명령어.
- git add 파일명 → 저장하기 전 저장할 파일 지정
(저장할 파일을 선택한 상태이지 저장한 상태가 아님!!)
- git commit -m "메시지 작성" → 실제로 저장하는 명령어.
- git add + . → 내 프로젝트의 모든 변경사항을 한 번에 지정(모두 선택)
- 커밋할 사항이 없음 → 커밋이 잘 되었다는 뜻.
* Please tell me who you are 에러
→ 계정 설정을 하지 않은 경우에 이와 같은 에러 발생, Git commit 후 저장이 안됨.
* git config --global user.name "유저 이름"
* git config --global user.email "유저 이메일"
두 명령어를 입력해서 설정해주면 됨.
→ 유저 이름과 유저 이메일은 github 가입 시 사용한 것과 일치시키는 것이 좋음.
* 항상 git 명령어를 치기 전에 git status 명령어로 한 번 체크하는 것이 중요함.
* Staging area : 커밋을 하기 위해 $ git add 명령어로 추가한 파일들이 모여있는 공간.
* Repository : 커밋들이 모여있는 저장소.
참고한 블로그
[Git] Git 3가지 영역 (Staging Area) - Commit 이해하기
Staging Area Commit을 할 때, 총 3가지 영역을 바탕으로 작동합니다. Working Directory : 내가 작업하고 있는 프로젝트의 디렉토리 Staging Area : 커밋을 하기 위해 $ git add 명령어로 추가한 파일들이 모여있
iseunghan.tistory.com
4) git log
- 내가 했던 로그들을 확인할 수 있음.
- 저장 내역을 확인하는 명령어.
- 커밋 메시지로 코드 변경점 추측 가능.
- q 누르면 log에서 나갈 수 있음.
5) git reset
- git log에서 "commit 아이디"를 복사하고 git reset + "commit 아이디" 하면 리셋됨.
6) git reflog
- git에서 했던 모든 기록을 볼 수 있음.
- reset한 기록까지 싹 다 출력됨.
- reset했던 내역도 git reset + "commit 아이디" 하면 reset했던 내역을 다시 취소할 수 있음.
5. Github로 코드 백업하기.
1) 온라인 저장소(github repository) 만들기.
repository 이름 입력 후, create repository 버튼 클릭.
2) 내 코드를 Github repository로 업로드
A. 업로드할 프로젝트 폴더를 VSCode로 열기.
B. 박스 속 명령어들 복사
C. VSCode의 터미널에 붙여넣기.
D. Github Repository로 코드가 잘 올라갔는지 확인하기.
3) git push - 추가로 수정된 코드 Github에 반영하기.
A. 코드 수정
B. 코드 저장 명령어 실행
→ git add . & git commit -m "메시지"
C. git push origin main(=브랜치명) 으로 간단하게 push 가능.
4) 업로드 시의 3가지 명령어와 의미
A. git remote add origin <github 주소>
- 원격저장소( <github 주소>)를 origin 이라는 이름으로 지칭하겠다.
- git push origin 브랜치명(= main) → 편하게 적을 수 있음.
- 꼭 origin으로 적을 필요는 없으나, 대부분 origin으로 작성하므로 맞추는 것이 좋음.
* remote repository : github repository를 의미함.
* local repository : 내 컴퓨터의 로컬 저장소를 의미함.
B. git remote -v
- 현재 등록(연결)되어있는 remote repository를 볼 수 있음.
C. get remote remove abc
- abc라고 지정한 repository가 없어짐.
D. git branch -M main
- branch 이름을 main으로 바꾸겠다는 의미.
- 최초 브랜치명은 master인데 노예 제도와 관련이 있다는 논란이 있어, main으로 바꾸는 것.
E. git push -u origin main
- -u : origin main을 치는 것조차 귀찮을 때 사용.
(팀 프로젝트 시에는 추천하지 않음! 개인 프로젝트 시에는 상관없음.)
* git push 만 입력해도 제대로 push가 되긴 하지만 추천하지 않음.
git push origin main 을 다 써줄 것!!
6. Github 협업하기 + 충돌 해결하기
1) Github 협업하는 법
① 팀장이 Repository 생성 및 초기 코드 작성 후, 협력자(Collaborators) 등록하기.
② git clone 명령어를 통해 코드 복사해오기.
프로젝트를 작성할 directory 폴더를 만든 뒤,
terminal을 열고 git clone + github 주소 + . 를 입력한다.
→ github repository에 있는 코드만 현재 경로에 복제해달라는 뜻.
③ 팀원의 코드 변경 및 github 에 올리기.
A. 코드 수정 → 코드 저장 명령어 실행 → git push origin main 순으로 진행.
B. git pull : 다른 사람이 변경한 코드 내 코드에 가져오기.
a. 다른 사람이 이미 git push 한 것을 내가 git push 하면 에러 발생.
→ git push 전에 git pull을 받아야함.(오류 발생 시 해결 힌트 제공함)
b. git pull 시 오류 발생하는 경우!
git config pull.rebase false 를 실행한 후, 다시 pull을 받으면 정상적으로 동작함.
c. 터미널에 아무것도 입력이 안되는 vim 에디터가 뜬 경우
→ esc + : + wq + Enter키를 입력하면 w(저장) + q(나가기) 가 됨.
2) 충돌 해결하기
A. git pull 명령어로 가져왔는데 코드가 충돌난 경우
→ 충돌이 발생한 파일 확인해보기 → 충돌된 코드 중에 옳은 것을 두고 직접 수정하기.
같은 파일의 같은 위치 코드가 변경되지 않게 조심할 것!!
충돌 해결 후 다시 git push 하면 됨.
'스파르타 내일배움캠프 > TIL(Today I learned)' 카테고리의 다른 글
25.02.19 TIL - 웹개발 미니 프로젝트(2) (1) | 2025.02.19 |
---|---|
25.02.18 TIL - 웹개발 미니 프로젝트(1) (4) | 2025.02.18 |
25.02.14 사전캠프 TIL - SQL JOIN문 (0) | 2025.02.14 |
25.02.14 사전캠프 TIL - SQL 조건문 (1) | 2025.02.14 |
25.02.13 사전캠프 TIL - SQL 기초 (0) | 2025.02.13 |