GIT

Git D+1

zayn 2024. 9. 30. 21:07

Bash -> terminal

1. PWD (Print Working Directory) 

- 내가 작업하는 폴더를 보여달라는 뜻
* ~는 Home(홈)이라는 경로이며, 우리가 보는 데스크탑보다 더 상위의 폴더를 말함

2. LS (List)

- 내 폴더 안에 있는 폴더 & 파일 내역을 보여줌.

3. LS-a (List -All)

- 숨겨진 파일이나 폴더도 볼수있음

4. CD 폴더명 (Change Directory)

- Desktop 안의 다른 폴더로 이동가능
- 마치 데스크탑의 폴더를 더블클릭해서 들어간것과 같은 효과

1) .. => 한 단계위의 폴더 라는 뜻
2) 폴더명/폴더명으로 한번에 더 깊이 들어갈 수 있음

5. mkdir 폴더명 (make directory) (directory : 폴더)

- 현재경로에서 폴더를 생성하는 명령어

6. touch 파일명 
- 현재 경로에서 파일을 생성하는 명령어
- 정확히는 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어

GIT -> 코드의 변경점 기록 가능 ( 버전 관리 도구)

BITHUB ->  백업과 공유가 가능한 코드 저장소

"Git 필수 명령어 리스트"

(1회차)

1. git init
2. git add
3. git commit
4. git status
5. git log
6. git push
7. git clone
8. git pull

1. git init 

- 코드 관리를 시작하는 명령어 
- initialize (초기화하다, 초기 세팅하다)의 준말
- 프로젝트 시작 전 딱 한번 만 입력하면 됨
- 정확한 프로젝트 폴더(경로)에서 입력해야 함
// 잘못하면 데스크탑 전체 파일, 폴더가 다 기록됨
- git init 명령어를 입력하면  "initialized empty Git repository in ~~~" 이라고 나오면 성공입니다.
- .git 이라는 폴더 (숨겨진 폴더)가 생성 Is-a 명령어로 확인 가능 (코드 변경을 git에서 추적합니다.)
- Javascript-homework 라는 폴더에서 코드를 짜려고 합니다. javascript-homework 이외의 다른 폴더에서 git init 명령어를 입력해도 되나요?
 - no. pwd로 현재 경로 확인 후 경로가 다르면 cd 명령어로 이동 후 git init 명령어 실행

 

2. git add & commit

 

- 코드를 저장하는 명령어

- 1) git add 파일명

- 2) git commit -m "메세지 작성"

- Please tell me who you are 이라는 에러 발생? Git commit 후 저장이 안되는 경우가 있다 -> 계정 설정을 하지 않았기 때문입니다.

- Please tell me who you are 이라는 에러 발생?

- 1) git config --global user.name 유저네임

- 2) git config--global user.email 유저이메일

 

저장 명령어가 2개인 이유

1. git add 파일명 => 저장하기 전 저장할 파일 지정

2. git commit -m "메세지 작성" => 실제로 저장하는 명령어

 

내 프로젝트의 변경사항을 한 번에 지정하는 법

1. git add.

2. git commit -m "메세지 작성"

3. git status => 더 이상 저장할 것이 없어(nothing to commit)

 

3. git status 는 무엇인가요?

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

 

4. git log

 

- 저장 내력을 확인하는 명령어 

 

 

아래에 있는 코드 일수록 과거 위에 있는 코드 일수록 현재를 뜻함

 

5. GitHub

- 코드 백업, 공유, 협업

 

1) 업로드할 프로젝트 폴더를 VS CODE로 열기

2)

 

3) VS CODE 의 터미널에 붙여넣기

4) Github 레포지토리로 코드가 잘 올라갔는지 확인

 

6. 추가로 수정된 코드 github에 반영하기 - git push

 

1. 코드 수정

2. 코드 저장 명령어 실행  : git add. & git commit-m "메시지"

3. git push origin 브랜치명(main)

 

[첫 업로드 시 3개의 명령어 의미]

 

1. git remote add origin <github 주소>

- git push "github 주소" 브랜치명 => 귀찮다!

- github 주소를 origin 이라는 이름으로 저장

- git push origin 브랜치명 => 편하다!

 

2. git branch - M main

3. git push -u origin main

- git push origin main => 귀찮아!

- git push => 이 명령어만 입력해도 git push origin main 해줘! 

 

- Github 협업하기

1. Collaborator 등록하기

 

git clone<github 주소>. 명령어 입력해주기. [(.) 빼먹지 말기. 경로가 달라짐]

 

<팀원도 코드 변경하고 github에 올리기>

1. 코드 수정

2. 코드 저장 명령어 실행

- git add. & git commit - m "메세지"

3. git push origin 브랜치명(main)

 

7. git pull

 

- 다른 사람이 변경한 코드 내 코드에도 가져오기

- 다른 사람이 이미 git push 하고 내가 git push하려고 하면 발생하는 에러 (git pull 먼저하세요. 라는 뜻)

- 코드 수정 후 git push origin 브랜치명 => 이때 브랜치명은 main 으로 합니다.

- git pull을 먼저 하라는 에러 발생 시 git pull origin 브랜치명

 

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

 

1. 터미널에 git config pull.rebase false 명령어 입력 후

2. git pull origin main 명령어 입력

 

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

 

* git pull 명령어로 가져왔는데 코드가 이상해졋다면?

 

1. 충돌이 발생하는 이유는?

- 같은 파일의 같은 위치에 코드가 변경되었기 때문

A개발자 - index.html 의 2번째 줄 코드 변경

B개발자 - index.html 의 2번째 줄 코드 변경

 

 

[마무리 정리]

1. 프로젝트를 처음 만들었고, git으로 버전관리를 시작하고 싶을 때 작성하는 명령어는?

- git init

 

2. 코드를 작성하고, 코드를 저장하고 싶다. 이때 사용해야 할 두가지 명령어는?

- 1. git add .

- 2. git commit-m "메세지"

 

3. 코드 저장 이후 저장 기록(커밋 내역)을 보고 싶다면 어떤 명령어를 입력할까?

- git log

 

4. 현재 git 상태를 확인하고 싶다면?

- git status

 

5. github에 코드를 업로드 하고 싶을 때 사용하는 명령어는?

- git push origin 브랜치명

 

6. github에 있는 프로젝트를 복제해오고 싶은 경우 사용하는 명령어는?

- git clone github주소. (폴더를 이미 만들었다면. 붙이기)

- git clone github주소 (폴더가 없다면. 없애기)

 

7.  github repository에서 변경된 코드를 내 로컬 컴퓨터로 가져오고 싶을 때 사용하는 명령어는?

- git pull origin 브랜치명

 

8. 충돌 발생 시 어떻게 해결하면 될까요?

 

1) <<<<<<HEAD 삭제

2) ====== 삭제

3) >>>>>4182· · · · · · ·. 삭제

4) 원하는 코드로 수정

5. git add & git commit & git push