1. 필수 리눅스 명령어 (git 명령어 아님)
- pwd (print working directory) : 현재 내가 작업하는 폴더를 보여줌
- ls (list) : 내 폴더 안에 있는 폴더&파일 내역 보여줌
- ls -a (list all) : 숨겨진 파일(보통 .으로 시작함)도 모두 볼 수 있음
- cd 폴더명 (change directory) : ls 명령어에서 확인된 폴더로 이동 가능
- cd .. : 상위폴더로 이동(한단계 위)
- cd 폴더명/폴더명 : 한번에 더깊이
- mkdir 폴더명 (make directory) : 현재 경로에서 폴더를 생성
- touch 파일명 : 현재 폴더에서 파일을 생성하는 명령어
- 해당 이름을 가진 파일이 없으면 생성 / 있으면 파일의 날짜, 시간 변경
2. Git & Github의 개념
- Git : 코드 변경점 기록(버전 관리 도구)
- Github : 온라인 백업,공유,협업(온라인 코드 저장소)
3. Git 필수 명령어
- git init : 코드 관리를 시작 (초기 세팅)
- 프로젝트 시작 전 딱 한번만 입력하면 됨(여러번해도 문제는 없음)
- ⭐(중요) 정확한 프로젝트 폴더(경로)에서 입력해야함
- 입력 시 .git 폴더 생김 ( ls -a 입력 시 숨겨진 파일보임)
- .git 폴더에서 코드변경점을 계속 추적&기록함 ( ⭐정확한 프로젝트 경로에 있어야 함)
<<<코드를 저장하는 명령어>>>
1. git add 파일명 : 저장하기 전 저장할 파일 지정
- git add . : 현재 나의 경로의 모든 변경된 사항 한번에 지정
2. git commit -m "메시지 작성" : 실제로 저장하는 명령어
*
(1) 파일 수정 시 : working directory
(2) add 후 : staging area
(3) commit 후 : repository
- git status : 변경 상태 확인 (저장 여부 확인)
- 코드 변경 있는데 저장안된파일 빨간색으로 표시됨
- git log : 저장 내역 확인 (commit했던 내역들 볼 수 있음)
- 커밋 메시지로 코드 변경점 추측 가능
- 커밋 아이디로 git diff 코드변경확인 / git reset 과거로 돌아가기 가능
- q로 빠져나오기
- git push : 추가로 수정된 코드 github에 반영하기
- git clone <깃허브 주소> . : 코드 복사해오기
(. 안쓰면 내 폴더 내에 폴더가 또 생성되어서 그 폴더로 또 cd해서 해야함)
- git pull : 다른 사람이 변경한 코드를 내 코드에도 가져오기
4. Github로 코드 백업하기
*처음에 올릴 때!!*
(1) Github repository 생성
(2) vscode의 터미널 창에 아래의 명령어 입력
git remote add origin <깃허브 레포지터리 주소> : 깃허브 주소를 origin이라는 이름으로 저장
(아래에서 쓰이는 origin = 깃허브 주소)
git branch -M main (기본 브랜치명을 main으로 바꿈)
git push -u origin main (-u : 매번 "git push origin main"할 필요 없이 "git push"로 가능하게)
(3) *추가로 수정된 코드 반영하기*
코드 수정 - 코드 저장 명령어(add&commit) - git push origin 브랜치명
5. Github 협업 & 충돌 해결법
(1) collaborator 등록하기
(2) 코드 복사해오기 - git clone <깃허브 주소> . (뒤에 . 없으면 내 폴더 내에 폴더 또 생성됨)
(3) 다른 사람이 변경한 코드를 내 코드에도 가져오기 - git pull origin 브랜치명(main)
※ 경고문 오류 발생 시 일단 지금은 merge
git config pull.rebase false
git pull origin 브랜치명 (다시 입력)
vim에디터 뜨면 나가려면 esc누르고 :wq 입력 후 엔터
- <충돌(conflict) 발생 이유> : collaborator와 같은 파일의 같은 위치의 코드가 변경되었기 때문
: 충돌 코드 수정 - 코드 저장 명령어(add&commit) - git push origin 브랜치명