Git & Github 기초 정리

우지끈·2024년 10월 4일

1. 필수 리눅스 명령어


  • pwd(print working directory): 현재 내가 작업하는 폴더(현재 내 위치)

    위 사진은 Desktop에 있는 sparta 폴더 안에 있는 ELM 폴더 안에서 작업 중이라는 뜻
    참고로 ~는 Home(홈)이라는 경로이며, 데스크탑보다 더 상위의 폴더라고 생각하면 된다.

  • ls(list): 내 폴더 안에 있는 폴더 & 파일 내역을 보여줌

    현재 sparta 폴더 안에 ELM, album 등 총 5개의 폴더가 있는 것을 알 수 있다.

  • ls -a(list all): 숨겨진 파일(보통 .으로 시작함)도 모두 볼 수 있음

  • cd 폴더명(change directory): ls 명령어를 통해 확인된 폴더로 이동 가능
    (ex. sparta 폴더 안에서 ELM 폴더로 가고 싶을 때는 cd ELM 입력)
    - cd .. : 한단계 위 폴더로 이동(ELM 폴더에서 sparta 폴더로 돌아오고 싶을 때 ..을 입력함으로써 간편하게 돌아올 수 있다.)
    - 폴더명/폴더명으로 한 번에 더 깊이 들어갈 수 있음
    (ex. cd sparta/ELM -> Desktop에서 바로 ELM으로 이동, cd../.. -> ELM에서 Desktop으로 이동)

  • mkdir 폴더명(make directory): 현재 경로에서 폴더를 생성

  • touch 파일명: 현재 경로에서 파일을 생성
    - 정확히는 파일의 날짜, 시간을 변경하는 명령어 -> 대신 해당 파일명의 파일이 존재하지 않을시 생성되는 것임


2. Git&Github의 개념


  • Git: 버전 관리 도구(형상 관리 도구) -> 소프트웨어의 변경사항체계적으로 추적하고 통제
    - 하나의 폴더 내에서 코드의 변경점을 기록하기 위해 사용, 에러 발생시 과거의 코드 기록으로 쉽게 되돌아가기 가능(but 권장 x)

  • Github: 백업공유가 가능한 온라인 코드 저장소 -> 협업 도구!


3. Git 필수 명령어


  • git init: 코드 관리를 시작하는 명령어
    -initialize(초기화하다, 초기 세팅하다)의 준말
    - 프로젝트 시작 전 딱 한 번만 입력하면 됨(매번 입력x)
    - 정확한 프로젝트 폴더(경로)에서 입력해야함
    - 프로젝트 파일 안에 .git 폴더가 생기게 된다. (이때부터 코드 변경을 git에서 추적)

  • git add & commit
    - git add 파일명: 저장하기 전 저장할 파일 지정
    - git add . : 내 프로젝트의 모든 변경 사항을 한 번에 지정하는 명령어
    - git commit -m "메세지": 커밋 메세지는 자세할수록 좋으며 실제로 저장하는 명령어
    - git status: 저장 여부를 확인하는 명령어(코드가 변경됐지만 저장되지 않은 파일은 붉은색으로 표시)

  • git push: 로컬 저장소(내 디렉토리)에서 기록한 내역을 원격 저장소(github)으로 옮기는 것

  • git log: 저장 내역을 확인하는 명령어 -> 빠져나올 때는 q 누르기


4. Github으로 코드 백업하기


  1. Github repository(온라인 저장소) 생성
  2. vscode로 업로드할 프로젝트 폴더 열기
  3. 붉은 박스의 명령어들을 복사
  4. vscode 터미널에 붙여넣기
  5. 레포지토리에 업로드 되었는지 확인하기

4.1. 추가로 수정된 코드 Github에 반영하기


  1. 코드 수정
  2. 코드 저장 명령어 실행: (git add. & git commit -m "메세지") -> 프로젝트 내 코드의 모든 변경사항을 지정 후 & 커밋 메세지와 함께 내 로컬 저장소에 저장
  3. 온라인 저장소로 보내기: git push

5. Github 협업 기초와 충돌(conflict) 해결법


1. 협력자(collaborator) 등록하기(레포지토리 주인만 가능)
- Github repository -> Settings -> Collaborators -> Add people

2. 코드 복사해오기(초대 받은 사람): git clone
2.1. repository에서 github 주소 복사
2.2. 코드를 작성할 폴더 생성
2.3. vscode에서 폴더 열기
2.4. git clone 깃헙주소 . 입력(.을 찍지 않으면 폴더도 같이옴 → cd를 통해 내가 직접 옮겨줘야함 → 따라서 먼저 폴더 생성 후 .을 통해 파일만 받아와 해당 폴더에 자동으로 들어가게끔)

3. 다른 사람이 변경한 코드 내 코드에도 가져오기: git pull
(clone은 전부 다 가져오기, pull은 수정된 부분만 가져오기)
3.1. 만약 코드 수정 후 push시에 에러가 뜨면 다른 인원이 새로운 변경 사항을 먼저 push 한 것
3.2. 따라서 pull을 통해 변경 내역을 먼저 받은 뒤 다시 push
-> 이 상황에서 아래와 같은 경고문이 뜬다면

git config pull.rebase false -> git pull origin main 입력

3.3. 아무것도 입력이 안되는 vim 에디터가 뜬다면
esc -> : -> wq -> enter 입력

4. 충돌 해결하기
같은 파일의 같은 위치에 코드가 변경되면 충돌이 나게 된다.

git pull 이후 다음과 같이 충돌된 상태를 보여주는데 1, 3, 5번 줄을 전부 삭제하고

1 aaaa
2 ddddddd

이렇게 남은 상태에서 원하는 코드로 수정 후 다시 push 하면 해결된다.

0개의 댓글