2023.12.21 TIL - 첫 팀프로젝트 시작, Git 명령어 특강

Innes·2023년 12월 21일
0

TIL(Today I Learned)

목록 보기
22/147
post-thumbnail

📘 오늘의 공부

📝 Git, Git hub 특강

1. 필수 리눅스 명령어

1) 들어가기 앞서

  • 리눅스 명령어는 git은 아님, 참고용
  • 터미널창 사용
    (git 설치 돼있는 가정 하에 진행)
  • vsc 내 terminal 사용
    (Terminal > New Terminal)
    (윈도우는 bash, git bash로 열기)

2) 리눅스 명령어

  • pwd(print working directory) : '작업하고있는 폴더를 프린트해서 보여줘'

    • 경로 확인하는 명령어
    • directory : 폴더
    • ~ : root(루트) 경로(최상위 경로)
  • ls(list) : 내 폴더 안에 있는 폴더, 파일 내역 보여줌

  • ls -a(list all) : 숨겨진 파일 모두 보여줘

  • cd 폴더명(change directory) : 하위폴더 계속 안쪽으로 이동 가능
    (폴더를 더블클릭 하는것과 같은 효과)

  • cd .. : 한단계 상위 폴더로 이동
    (뒤로가기)

  • cd 폴더명/폴더명2 : 한번에 더 깊이 들어가기
    (폴더명/폴더명2/폴더명3...)

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

  • touch 파일명 : 현재 경로에서 파일 생성


2. Git, Github란?

1) Git의 장점

  • 반복된 수정에 용이
  • 하나의 폴더 내에 코드의 변경 내역을 기록할 수 있음
  • 에러가 났을때 과거의 코드 기록으로 쉽게 돌아갈 수 있음
    (롤백이 쉽다)

2) Git이란?

  • 코드 변경점 기록
  • 버전 관리 도구(형상 관리 도구) : 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것

3) Github란?

  • 온라인 백업, 공유, 협업!
  • 온라인 백업, 팀원들과 공유 가능
  • 백업과 공유가 가능한 온라인 코드 저장소
    (협업까지 가능!)


3. Git 필수 명령어

1) git init

(initialize 초기화하다, 초기 세팅하다)

  • 프로젝트 시작 전 딱 한 번만 입력하면 됨!
  • ⭐️⭐️ 정확한 프로젝트 폴더(경로)에서 입력해야 함
  • 초기화 + 코드 변경 기록을 git에서 자동 추적

<과정>

  • 코드 작성할 폴더 만들기
  • vsc open, 해당 폴더 선택
  • 파일 만들고 저장
  • git init 입력 -> .git (숨겨진 폴더) 생성됨
    (바탕화면에 있으면 안됨!, ls -a 로 확인가능)

2) git add & commit : 코드 저장

  • git add 파일명 : 이 파일을 저장하겠다 지정
  • git commit -m "" : ""에 메시지 작성
    (무슨 코드 짰나 자세히 적는게 좋음)
  • 저장 명령어가 2개인 이유
    • Git add: 저장하기 전 저장할 파일 지정
    • Git commit -m : 실제로 저장
  • git status
    • 변경 상태 확인
    • 파일 저장 여부 확인(저장 내역 확인)
  • git add .
    • 내 프로젝트의 변경사항을 한 번에 전부 지정! (파일명 입력 필요 X)
    • 점(.)은 현재 내 경로의 모든 변경사항 지칭
  • ***Please tell me who you are. 에러 발생시
    • 계정 설정 해야 함 -> 아래 두줄 작성해주기
    • git config --global user.email "you@example.com"
      git config --global user.name "Your name"

3) git log : 저장 내역 확인(commit 저장했던거)

  • git commit -m 메시지 저장해놓은거 메시지 전부 확인 가능
  • 메시지로 코드 변경점 추측 가능
  • q로 빠져나오기

(참고 : Git diff, git reset)


4. Github 으로 코드 백업하기

  • 백업, 공유, 협업

  • 백업하기

    • 온라인 저장소 (github repository) 만들기
    • ‘push ~ command line’의 3줄 명령코드를 vsc terminal에 붙여넣기
      (Commit 메시지와 코드 변경 내역까지 모두 확인 가능)
  • 추가 수정코드 github에 반영하기

    • 코드 수정
    • 코드 저장 명령어 실행(add, commit -m)
    • git push origin 브랜치명 -> 브랜치에 코드 업데이트됨
      (브랜치는 일단 main으로)


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

  • 초기 프로젝트 작성, github 레포지토리 생성
  • git push 통해 GitHub 코드 올리기

1) 협력자(collaborator) 등록

  • 레포지토리 만든 사람이 > settings > collaborators 추가
    (Add people)

  • 팀원들 초대 수락 필요

  • 팀장이 git push로 코드 올려놓음

  • 팀원들이 ‘git clone’으로 코드 복사해오기

    • 폴더 새로 만들기
    • vsc 열기
    • git init 필요 X, ‘git clone git 주소 .’ 명령 (점. 찍기 중요)
  • 팀원이 코드 변경하고 GitHub 올리기

    • 코드 수정
      -add, commit
    • git push origin 브랜치명

2) git pull : 다른사람이 변경한 코드 내 코드에도 가져오기

  • 다른사람이 먼저 수정해서 올렸으면 git push 에러나서 어차피 안됨
    (Rejected)
  • clone은 통째로 가져오기 / git pull은 변경사항 만 가져오는것
  • fatal 경고문 뜬다면?
    • 맨 윗줄 그냥 입력하면 됨
    • ex) git config pull.rebase false 복붙


5. 충돌(conflict)해결하기

  • git pull로 가져왔는데 코드가 이상해졌다?!
  • 이유 : 같은 파일의 같은 위치에 코드가 변경됐을때
  • 해결 : 코드 아닌거 다 삭제하고 남은거로 수정하면 됨
    (<<Head, === 이런거)
  • 코드 아닌거 삭제, 코드 수정, add commit push 끝!

(github 협업 참고 : Fomagran Tistory)


👭 팀프로젝트 협업

1) 피그마 협업

  • Figma 기능 익혀보기
  • 웹사이트를 구현할 큰 그림 함께 작성해보기
  • 역할 분담하기
    (Figma 협업 현장 캡쳐)

2) 기타 협업

  • 팀 노션, SA 작성하기
    • SA : Starting Assignments
  • 튜터님과 질의응답 시간



느낀점 및 각오

💡 오늘의 느낀점

  • 첫 협업을 시작해봤는데, 혼자서만 하다가 다른 사람들과 함께 작업하니 아직은 낯설기도 하고, 내 코드를 함께 공유해야 하는데 쑥쓰럽기도 하다. 하다보면 당연하게 익숙해지겠지...?!
  • 다른사람들과 함께 하니 좋은 점은, 내가 하지 못했던 다른 생각들을 들을 수 있다는 것과 내 코드를 좀 더 보기 좋게, 최대한 필요한 내용만 적을 수 있도록 잘 짜야겠다는 동기부여가 되는 것이라는 생각이 들었다.
  • 벌써 다른사람들은 많이 알고 잘하는것 같은데 나만 뒤쳐지는건 아닌지 걱정이 되기도 한다. ㅠㅠ 멘탈을 잡는것 또한 부트캠프에서 연습하고 배워갈 점이라고 생각하고 포기만 하지 않는걸 목표로 도전해보자!! 완주가 목표!! 😂

🔥 본캠프에 임하는 각오

  • 나는 비전공자이고, 사전 지식도 없는 사람이라 여타 다른 공부를 해보고 왔거나 전공자인 다른 사람들에 비해 뒤쳐질 수도 있고, 모르는게 많아 힘들 수도 있고, 창피할 수도 있고 포기하고 싶을 수도 있다.
  • 그러나!! 이걸 생각 안하고 도전한 것도 아니고, 다 감수하고서 두배를 노력할 각오로 캠프에 참여했기 때문에!!
  • 포기하지 말고, 정말 두배를 노력한다는 마음 가짐으로, 모르면 알때까지 파고 들겠다는 집념으로!! 열심히 해봐야겠다는 의지를 불태워본다!!
  • 모르면 물어보고, 어려운것도 내가 해보겠다는 도전 정신을 가지고, 적극적인 자세를 가지고 캠프에 임하면서 이 마음가짐이 끝까지 쭉 갈 수 있었으면 좋겠다.
  • 포기만 하지 말자!! 그럼 어떻게든 끝나고 익숙해지는 순간이 올것이다!
profile
무서운 속도로 흡수하는 스폰지 개발자 🧽

1개의 댓글

comment-user-thumbnail
2023년 12월 22일

벌써부터 피그마라니! 👍👍👍
사소한 팁이지만 피그마에서 shift를 누르고 스크롤하면 가로 스크롤이 편하게 됩니다!

답글 달기