[포스코x코딩온] 웹 풀스택 과정 3주차 | git 협업

K1mhappy·2023년 11월 7일
0

포스코x코딩온

목록 보기
6/13
post-thumbnail

💡개발문화

🔗Waterfall Model ( 폭포수 모델 )

  • 가장 익숙한 소프트웨어 개발 기법
  • 고전적 소프트웨어 생명 주기
  • 병행 수행x . 순차적 수행
  • 장점
    • 단순 모델이라 이해가 쉬움
    • 단계별로 정형화된 접근이 가능해 문서화 가능
    • 프로젝트 진행 상황을 한눈에 파악 가능
  • 단점
    • 변경을 수용하기 어려움
    • 시스템의 동작을 후반에 가야지만 확인 가능
    • 일정 지연될 가능성이 큼 -> 대형프로젝트에 부적합

🔗Agile ( 애자일 )

  • 협력과 피드백
  • 유연한 일 진행과 빠른 변화 대응
  • 짧은 주기로 설계,개발,테스트,배포 과정을 반복
  • 요구 사항을 작은 단위로 쪼갬-> 그에 대한 솔루션 만듬-> 빠르게 보여줌 으로써 요구사항에 대한 검증을 진행

🔻agile의 방법론 두가지

1. Scrum

  • 개발자와 고객 사이의 지속적 커뮤니케이션으로 요구사항 수용
  • 고객이 결정한 사항을 가장 우선적으로 시행
  • 팀원들간의 주기적 미팅을 통해 프로젝트 점검
  • 주기적으로 제품 시현 후 고객의 피드백 수용

**sprint : 작은 기능에 대해 “계획, 개발, 테스트, 기능 완료”에 대해 주기적으로 시행하는 것

2. Kanban

  • 업무 흐름의 시각화
  • 진행 중 업무의 제한
  • 명시적 프로세스 정책 수립
  • 업무 흐름의 측정과 관리


🔗Git

소스 코드를 효율적으로 관리하기 위해 만들어진 "분산형 버전 관리 시스템"

  • 소스 코드의 변경 이력을 쉽게 확인 가능하며,
    특정 시점에 저장된 버전과 비교하거나 특정 시점으로 돌아가기 위해 사용한다.

🔻git 사용법

  1. git 설정
    git config --global user.name "이름"
    git config --global user.email "your.email@example.com"

  2. 새로운 저장소 초기화 : 새로운 프로젝트에 깃 시작하기
    git init

  3. 파일 추가
    //git이 추적할 파일 추가
    git add 파일명
    // 또는 모든 변경사항 추가
    git add .

  4. 커밋 : 변경사항을 저장소에 기록하는 것
    git commit -m "커밋할 메세지"

  5. 원격 저장소에 추가
    git remote add origin <repository_url>

  6. 원격 저장소에 푸시 : 로컬변경사항을 원격저장소에 업로드
    git push -u origin master

  7. 브랜치 생성 및 전환
    git branch 생성할 브랜치명
    git checkout 이동할 브랜치명
    //또는 한번에
    git checkout -b 생성할 브랜치명

  8. 머지 : 다른브랜치의 변경사항을 현재 브랜치로 병합
    git merge 합칠브랜치명

  9. 변경내역 확인
    git status

  10. 로그 확인 : 커밋 로그를 확인
    git log

  11. 변경내역 취소 : 수정한 파일을 이전 커밋상태로 되돌리기
    git checkout -- 파일명

🔻branch

독립적으로 어떤 작업을 하기 위해 필요한 개념
브랜치를 통해 코드 관리가 가능하다.

  • 브랜치 생성
    git branch : 로컬 브랜치 목록 확인
    git branch 브랜치명 : 현재 브랜치에서 new 브랜치 생성
    git checkout 이동할 브랜치명 : 브랜치로 이동
    git branch -d 삭제할 브랜치명 : 브랜치 삭제
    - 단, 삭제할 브랜치가 현재 브랜치에 merge됐을 경우에만 가능. 강제로 삭제하려면 -D 를 써준다.

  • 생성 & 이동 동시에
    git checkout -b 만들 브랜치명
    - 단, add.commit 단계를 거치치않은 = 소스제어에 숫자가 있으면 이동이 안됨!

🔻branch의 종류

🔹master

  • 제품으로 출시 될 수 있는 브랜치
  • 배포이력을 관리하기 위해 사용
  • 배포가능한 상태만 관리함

🔹develop

  • 다음 출시버전을 개발하는 브랜치
  • 기능개발을 위한 브랜치들을 병합하기 위해 사용
  • 평소 개발을 진행하는 브랜치다

🔹feature

  • 기능 개발을 진행하는 브랜치
  • 공유할 필요x. 로컬에서 진행후 디벨롭에 merge해 공유
  • 기능 개발 및 버그 수정 할때마다 develop에서 분기
  • 이름은 git checkout -b feature/~~ 로 작성하기!

🔹release

  • 출시 버전을 준비하는 브랜치
  • 배포를 위한 전용 브랜치
  • 이름은 release-0.0

🔹hotfix

  • 출시 버전에서 발생한 버그 수정 브랜치
  • 긴급하게 수정해야할 필요가 있는 경우 사용
  • Master에서 분기
  • 이름은 hotfix-0.0.0

🔻merge

여러가지 git branch를 다른 branch로 합치는 과정

🔹a브랜치에 b브랜치를 합치고 싶어!

git checkout a //a브랜치로 이동
git merge b  // b브랜치와 merge 진행
  • case1) a브랜치,b브랜치에서 서로 다른 파일을 수정했을 때

    => 쳌아웃a 머지b 하면 자동으로 알아서 합쳐짐

  • case2) 서로같은 파일에서 다른 부분을 수정했을 떄

    ex) 원본은 같음 . a브랜치에서는 title을 수정
    b브랜치에서는 body를 수정했을 때
    => 체크아웃 a 머지 b 하면 알아서 합쳐짐

  • case3) 서로같은 파일에다 같은부분 수정했을 때

    ex) 원본도 같고. a,b브랜치 둘다 title을 수정함
    => 충돌 ~~ 수동으로 해결해야 한다.
    => 해결 후 파일 저장 뒤 add,commit,push 수동으로 코드를 머지.

    vs code에서 버튼 클릭해도되고 , 직접 수정도 가능하다
    >>>> ===== >>>> 이런 표시 다 지우고 수정 가능

+ 알아두면 좋을 git 명령어

git add .
git commit -m "커밋메세지"
두개 쓰는거를
git commit -am "커밋메세지" 로 작성 가능
git push origin test test라는 브랜치를 origin(원래의 브랜치)에 test브랜치에서 작업한 내용을 올리겠다는 뜻

  • 가장 최근 커밋 취소하고 싶을 때
    : git reset 커밋명^
    : 꺽쇠^를 붙이면 가장 최근 커밋을 취소하겠다는 뜻이다.

  • 특정 커밋 취소 하고 싶을 때
    : git log 치면 commit 기록이 쭉 나옴 . 주소 복사해서 git reset에 붙여넣으면 됨
    : 이전 커밋기록 보고싶으면 엔터
    : 빠져나오고싶으면 Q 누르기!

git fetch : 원격저장소에서 최신 변경 내용을 로컬 저장소로 가져오는 역할. fetch는 로컬작업디렉토리의 파일을 수정하지 않음 -> 가져온 변경내용을 로컬에 반영하려면 merge 사용해야함

git clone 내레포url : 원격저장소 복제

cd .. : 현재디렉토리의 부모 디렉토리로 이동

🔻Pull Request

push 권한이 없는 오픈소스 프로젝트에 기여할 때 많이 사용
내가 수정한 코드가 있으니 내 브랜치를 가져가 검토 후 병합해주세요 라는 뜻

1. 내 레포지토리에 가서 pr 클릭 후 new 클릭

  1. pr할 브랜치를 선택 후 쓰고싶은 멘트 작성->create 클릭

  2. 눌러주면 끝!

🔗.gitignore

Git 버전 관리에서 제외할 파일 목록을 지정하는 파일

** Git 관리에서 특정 파일을 제외하기 위해서는 git에 올리기
전에 .gitignore에 파일 목록을 미리 추가해야 한다.

🔗netlify

웹 호스팅 서비스
-> 호스팅? 웹 상에 저희들이 만든 서비스를 올려주겠다.
git repository 연결해서
배포 가능

형지꺼 ~~

왼쪽 카테고리의 site를 눌러 나만의 홈페이지 생성 가능! 이름도 바꿀수 있어용












📋 memo

프로젝트 전에 필수인 git협업 방법이랑
프로젝트에 써먹으면 좋을 미디어쿼리 배움 . 실습3에서 position부분 좀 흔들렸으니, 다시 복습!





<출처 및 레퍼런스>
포스코X코딩온
TCP school

profile
킴코린의 개발일지😗

0개의 댓글