git 시작부터 협업까지

hyocho·2022년 9월 29일
1

git

목록 보기
1/4
post-thumbnail

🖇 git이란?

컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전 관리 시스템

🔗 시작하며

  1. git 다운로드
    window의 경우 다운로드 , mac은 terminal 이 기본 내장
  2. 환경 설정
  3. git clone 으로 git의 저장소로 만들 수 있다.
  4. git push -u origin master
    -u 옵션으로 최초로 local 과 remote 를 연결해준다.

첫 사용에만 필요한 환경 설정

#사용자 정보
##커밋(버전 생성)을 위한 정보 등록
git config --global user.name 'hyocho'
git config --global user.email 'hyocho@email.com'
#정상 설정 확인
##Q키를 눌러서 종료
git config --global --list

🔗git에 올려보기

#현재 프로젝트에서 변경사항 추적(버전 관리)을 시작
$ git init

#모든 파일의 변경사항을 추적하도록 지정
$ git add .

#메세지(-m)와 함께 버전을 생성
$ git commit -m 'message'

#origin이란 별칭으로 원격 저장소를 연결
$ git remote add origin 원격저장소주소

#origin이란 별칭의 원격 저장소로 버전 내역 전송
$ git push origin master

conventional commits

  1. commit 의 제목은 설명하는 하나의 구나 절로 완성. 현재형. English only
  2. 대문자 적절히 사용 Importance of Capitalize
  3. prefix 꼭 달기 - 협업 시 commit log 만 보고 판단할 수 있으며, 모두 살펴봐야 하는 수고를 덜어준다.
    • feat : 기능 개발 관련
    • fix : 오류 개선 혹은 버그 패치
    • docs : 문서화 작업
    • test : test 관련
    • conf : 환경설정 관련
    • build : 빌드 관련
    • ci : Continuous Integration 관련; 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것

git ignore

git이 파일을 추적할 때, 어떤 파일이나 폴더 등을 추적하지 않도록 명시하기 위해 작성. 해당 문서에 작성된 리스트는 수정사항이 발생해도 git이 무시하게 된다.

https://www.toptal.com/developers/gitignore/

위 사이트에서 프로젝트에 맞는 .gitignore 파일을 만들 수 있다.
🤹‍♀️ thumbs.db, cache file 등은 안 올리는 것이 센스

LICENSE

만들 때, 배포할 때 가장 신경써야 하는 것 중 하나
'해도 되는 것' 과 '하면 안되는 것' 의 약속

대표 오픈 소스 라이센스 한 눈에 보는 사이트
https://codenamu.org/2014/10/10/popular-opensource-license


🔗 branch

공간. 독립적으로 코드를 변경할 수 있도록 도와주는 모델

branch models

각 팀의 상황과 문화에 따라서 적합한 브랜치 전략이 다르다.
협업을 하며 최대의 효율을 내기 위해 적용할 브랜치 전략을 선택하여 사용.

  • gitlab flow
  • github flow
  • git flow ; 가장 많이 적용. 각 단계가 명확히 구분되며 정기적인 업데이트를 할 때 사용한다.

https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html


🔗 cloud remote repository service

gitlab, bitbucket 등이 있지만 github 을 주로 사용

🚦git != github

  • Git : 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템
  • GitHub : 버전관리 시스템인 Git을 이용하는 프로젝트를 위한 원격저장소
profile
기록하는 습관을 기르고 있습니다.

0개의 댓글