[TIL] Git

술술·2024년 2월 28일

TIL

목록 보기
1/21

리눅스

  • pwd(print working directory)

    • 현재 내가 작업하는 폴더를 보여달라
    • ~는 홈이라는 경로이며 우리가 보는 데스크톱보다 상위에 있는 디렉토리이다.
  • ls(list)

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

    • 숨겨진 파일(보통 .으로 시작함)도 모두 볼 수 있음
  • cd 폴더명(change directory)

    • ls 명령어에서 확인된 폴더로 이동 가능
    • .. 한 단계 위의 폴더라는 뜻
    • 폴더명/폴더명 으로 한 번에 더 깊이 들어갈 수 있음
  • mkdir 폴더명(make directory)

    • 현재 경로에서 폴더를 생성하는 명령어
  • touch 파일명

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

Git & Github 개념

Git

⭐ 코드 변경점 기록
  • 하나의 폴더 내에서 코드의 변경점을 기록하기 위해 git을 사용
  • 에러 발생 시 과거의 코드 기록으로 쉽게 되돌아가기 가능
  • 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것(면접용)
  • 버전관리 도구

Github

⭐ 백업과 공유가 가능한 온라인 코드 저장소
  • Github로 백업, 공유, 협업 가능

Git 필수 명령어

  • 코드 관리를 시작하는 명령어 - git init

    • initialize(초기화하다, 초기 세팅하다)의 준말
    • 프로젝트 시작 전 딱 한 번만 입력하면 됨
    • 정확한 프로젝트 폴더(경로)에서 입력해야 함
    • .git 이라는 폴더가 생김. 이때부터 코드 변경을 git에서 추적
  • 코드를 저장하는 명령어 - git add & commit

    // 저장하기 전 저장할 파일 지정
    git add 파일명
    
    // .은 현재 나의 경로의 모든 변경된 사항을 말함
    git add .
    // 실제로 저장하는 명령어
    git commit -m ‘메시지 작성’
    • Please tell me who you are 오류
      • git config —global user.email “email 작성”
      • git config —global user.name “name 작성”
      // 어떤 파일이 변경됐는지, 어떤 파일이 add 됐는지 등 변경 상태를 확인하는 명령어
      git status
    • git add 와 git commit의 차이는 무엇인가?
      • git add 는 저장할 파일을 지정하는 것
      • git commit은 실제로 저장하는 것
      • working directory, Staging area, Repository

  • 저장 내역을 확인하는 명령어 - git log
    • 커밋 메시지로 코드 변경점 추측 가능
    • git diff 코드 변경 확인
    • git reset 과거로 돌아가기 기능

  • 추가로 수정된 코드 github에 반영하기 - git push
    1. 코드 수정
    2. git add .
    3. git commit -m ‘메시지’
    4. git push origin 브랜치명

Github로 코드 백업하기

  1. 온라인 저장소(github repository) 만들기
    • push an exisiting .. 어쩌고 복사해서 터미널에 붙여넣기
  • 명령어 3개의 의미
    • git remote add origin 깃허브주소
      • github 주소를 origin으로 저장
    • git branch -M main
      • 현재 브랜치명(master)을 main으로 바꾼다.
    • git push -u origin main
      • git push 만 입력해도 git push origin main 해줘!

Github 협업하기 + 충돌 해결하기

팀장 입장(리포지토리 만든 사람)

  1. 협력자(collaborator) 등록하기
    1. 리포지토리 → Setting → Collaborators → Add people
      1. 팀원들의 username, email로 추가 → 팀원들은 초대 수락

팀원 입장(협력자 입장)

  1. 코드 복사해오기 - git clone
    1. 리포지토리에서 깃허브 주소 복사
    2. git clone 깃허브 주소 .
      1. . 안 하면 폴더가 하나 더 생김
  • 코드 수정했어. 아예 다른 파일, 서로 상관 없는 파일인 경우
    • git push 했는데 안 돼!
    • pull 먼저하라는 오류 발생
    • git pull origin 브랜치명
      • 또 경고 뜨고 힌트에 아래와 같은 문구가 있다면
      • git config pull.rebase false
      • 다시 git pull orgin main

충돌 해결하기

  • git pull 명령어로 가져왔는데 코드가 이상하다.
    • conflict
  • 충돌 발생한 파일 확인해보기
    • 발생하는 이유
      • 같은 파일의 같은 위치의 코드가 변경되었기 때문
  • 해결하는 방법
    • <<<<<<< HEAD 삭제
    • ======== 삭제
    • >>>>>>> 4182… 삭제
    • 원하는 코드로 수정
  • 충돌 해결 후 다시 git push
    • 코드 수정
    • 코드 저장 명령어 실행(git add . & git commit -m ‘’)
    • git push origin 브랜치명
profile
Hello

0개의 댓글