Lina's Toolbox

Git 필수 명령어 본문

스파르타 내일 배움 캠프 AI 웹개발 과정/git

Git 필수 명령어

Woolina 2024. 7. 5. 15:18

CLI: 커멘드 라인(명령어)

-> 기계에게 말을 거는 것!

 

기본적인 리눅스 명령어

vs 상단에 new Terminal 로 터미널 실행하여 테스트

//윈도우에서 작업시 bash에서 작업할 것

 

  • pwd: 현재 위치를 보여줌
  • ~ : Home이라는 경로, 우리가 보는 데스크탑보다 더 상위의 폴더임

  • ls: 파일 리스트
  • ls -a : list all 숨겨진 파일(보통 .으로 시작함 ex.설정파일들)까지 다 보여줌
  • python3 파일명: 파일실행 // vs 파일 탐색기에서 해당 파일 우클릭> 터미널에서 파일실행 으로도 가능
  • cd 폴더명: change directory // 마치 데스크탑에서 폴더를 더블클릭하여 들어가는 것과 같은 효과
  • .. // 한단계 위의 폴더 -> cd .. 로 현재 폴더에서 나갈 때 사용 
  • cd ../.. 슬래시를 이용해서 한번에 여러번도 이동 가능
  • mkdir 폴더명: make directory 현재 경로에서 폴더 생성
  • touch 파일명.확장자 : 파일 생성

Git : 코드 변경점 기록, 버전 관리 도구(형성 관리 도구)

Github: 백업과 공유가 가능한 온라인 코드 저장소

 

<  Git 필수 명령어 >

1.  git innit : 코드 관리를 시작(initialize)하는 명령어

프로젝트 시작 1번만 입력하면 된다. (여러 번 입력해도 문제가 되진 않음)

git init을 하면 .git 폴더가 생성된다. (숨겨진 파일이므로 'ls -a'로 확인 가능)

.git
이 폴더가 이어야 코드 변경점을 계속 추적한다.
이게 없다면 뭔가 잘못한 것.
이 폴더가 생긴 시점부터 코드 변경을 git이 추적한다.

 

❗️정확한 프로젝트 폴더 경로에서 입력해야한다. 잘못하면 데스크탑 전체,파일, 폴더가 다 기록될 수 있음

(pwd로 현재 경로 확인 후 내가 올리고 싶은 코드의 경로와 다르면 cd명령어로 이동 후 git init 실행)

 

❗️내가 다른 프로젝트를 받아올 때(git clone을 치는 경우)는 사용 X . 내가 리파지토리 만들고, 처음부터 모든 과정을 담당할 때만 사용한다.

 

2. git add 파일명 : 저장 전 저장할 파일을 지정 

 

💡저장할 파일이 너무 많아서 귀찮은 경우 git add . 으로 한번에 추가할 수 있다.

(하지만 이 방법은 위험하므로 안쓰는게 좋음. git add 파일명1 파일명2 파일명3 ... 으로 파일 여러개 한번에 추가 가능)

 

git add . 의 ' . ' 은 여기에 라는 의미.
=> 현재 경로에서 모든 변경된 사항

 

3. git commit -m "커밋 메시지 작성" : 실제로 저장하는 명령어.

커밋 메세지에는 무슨 코드를 짰는지 자세하게 적는 게 좋다.

 

4. git status : 어떤 파일이 변경됐는지, 어떤 파일이 add(지정)됐는지 등 변경 상태를 확인하는 명령어

코드의 변경은 있지만 저장을 하지 않은 파일은 붉은색으로 표시된다.

 

5. git log : 저장 내역 확인 (최근 변경점부터 나옴)

 

 

6. git push origin main: 변경 사항이 올라가는 코드

 

Github에서 리파지토리를 생성한 후,

다음 3줄의 코드 복사

git remote add origin 깃허브주소
git branch -M main
git push -u origin main

terminal에 붙여넣기 한다.

 

=> 별다른 에러 없을 경우 Github 레포지토리로 코드가 올라간다.

 

git remote add origin 깃헙주소

origin 을 해당 깃헙주소로 저장하겠다.

git branch -M main

현재 브랜치명(master)를 main으로 바꾼다. (바꾸기 싫으면 생략해도 됨)

git push -u origin main

이 명령어를 치고 나면 다음 부터는 got push origin main을 다 칠 필요 없이

git push 라는 명령어만 치면된다.

 

7. git clone : 코드 복사해오기

git clone <원격저장소주소> .

명령어 뒤에 ' . ' 을 붙이면, 별도의 디렉토리를 생성하지 않고 현재 디레고리에 저장소의 내용을 복제한다.

 

그냥 git clone <주소> 를 하면

해당 원격 저장소의 이름으로 된 폴더를 생성하고 

그 폴더 안에 저장소를 복제함

 

 

8. git pull : 다른 사람이 변경한 사항 가져오기

git pull origin 브랜치명

 

🚨 git pull 시 아래와 같은 경고문이 뜬다면?

 

git config pull.rebase false

git pull origin 브랜치명

 

 

9. 터미널에 아무것도 입력이 안되는 vim 에디터가 뜬다면?

키보드 esc
키보드 :
키보드 wq
키보드 enter

로 빠져나갈 수 있다.

 

10. 충돌(Conflict) 해결하기

 

=> index.html 파일에서 충돌이 발생 -> 충돌 해결 후 다시 commit 하라는 뜻

 

📌 충돌이 발생하는 이유: 같은 파일같은 위치코드가 변경되었기 때문

 

충돌 발생한 파일 확인해보기

1. <<<<<<< HEAD 삭제
2. ======= 삭제
3. >>>>>> 4182. 삭제
4. 원하는 코드로 수정

 

충돌 해 결 후 다시 git add, commit , push 하기