[TIL]Git_GitHub_03

Bong Lee·2021년 7월 21일
0

TIL

목록 보기
3/3

1.git ignore


git ignore는 git으로 관리하고 싶지 않은 파일들의 리스트를 작성해서, 특정 파일을 git이 버전관리를 하지않고 업로드 또한 하지 않도록 하는 것이다. 이는 보안과 관련된 사항으로 프로젝트를 시작하기 전에 가장 먼저 설정을 마치고 프로젝트를 수행하는 것이 좋다.

  • 프로젝트 작업시 로컬 환경의 정보나 빌드 정보등 원격 저장소에 관리하지 말아야하는 파일들에 대해서 지정하여 원격 저장소에 실수로 올라가지 않도록 관리하는 파일

  • 정의한 정보들에 해당하는 파일들에 대해 git track 하지 않도록 설정하는 역할

git ignore 방법

  1. 먼저 bash 창을 열어 touch . gitignore를 하여 .gitignore를 만들어 준다. 이때 주의할 점은 반드시 .git이 있는 최상위 repository에서 해야한다는 것이다.
  2. https://gitignore.io/ 에 접속하여 내가 작업하는 환경을 입력하면 자동으로 리스트를 만들어 준다. 이를 복사해 사용하면 된다.

+++

Git으로 협업하기(Git flow)


Git의 장점으로 손쉬운 버전관리와 협업이 용이하다는 장점이 있다고 했다. Git Flow는 Git을 활용하여 헙업하는 흐름으로 branch를 활용하여 프로젝트를 수행하는 전략을 의미한다.

  • master branch : 배포가능한 상태의 코드
  • feature branch
  • develop
  • release branches
  • Hotfixes

Git Work-Flow와 Branch merge 정리하기. 작성배경 | by 한영재 | Medium

이렇게 다양한 branch를 만들어 버전을 유용하게 관리하거나, 오류를 수정하고 아니면 새로운 아이디어를개발하는 등 협업을 위해 유동적으로 사용하고 버릴수도 있다 .

git branch command

  1. git branch {branch name} :브랜치 생성, 원하는 이름을 설정하여 브랜치를 생성할 수 있다.
  2. git checkout {branch name} : 입력한 브랜치로 이동
  3. git checkout -b {branch name} : 브랜치 생성 및 이동
  4. git branch : 브랜치 목록 확인
  5. git branch -d {branch name} : 해당 브랜치 삭제
  6. git branch -D {branch name} : 브랜치 강제 삭제 ( merge안되는 branch는 강제로 삭제해야함)
  7. git merge {branch name} : 브랜치를 병합하여 내용을 합침(반드시 master branch에서 병합을 시도해야함! 확인 필수!)

Merge(branch 병합)

branch의 병합과정에서 발생할 수 있는 case는 3가지 이다.

  1. Fast - forward

    • 한 쪽 branch만 일하고 나머지 branch는 일을 하지 않음. 즉 버스를 타거나 무임승차와 같은 상황
    • 따라서 병합에 문제가 없고 빠르게 병합 가능
    • 다른 브랜치가 생성된 이후에 master 브랜치에 변경 사항이 없는 상황
    • git merge와 rebase | Jlog
  2. 서로 다른 branch에서 각자 다른 작업 수행

    • 평화로운 관계라 볼수 있다.
    • 조별과제시 보고서와 ppt를 나눠서 진행하여 병합한다고 이해하면 편하다
    • 두 작업 모두 최신이기 때문에 병합하는데 문제가 없다
  1. Conflict

    • 서로 각자 똑같은 부분을 수정하거나 작업하는 상황
    • 병합할 때 무엇이 최신인지 파악하기 어려워 직접 해결해줘야함
    • Git은 해당 부분을 자동으로 Merge하지 못함
    • Merge하는 두 브랜치가 같은 파일의 한 부분을 동시에 수정하기 때문
    • GIT - Merge Conflict in #GIT #GitHub #GitLab #MergeConflict - YouTube
profile
개발자 도전 4주차

0개의 댓글