5가지 GIT 활용 모범 사례는 소프트웨어 개발자마다 5분 이내에

5 GIT 버전 관리 시스템(VCS)의 모범 사례...

카탈로그


1: 모범 사례 (1장)
2:보상-전문 힌트!(# 제2장)

모범 사례

1: 지점 명명 모범 사례

One of the most important aspects of GIT is to wisely choose branch names. We make branches on a day-to-day basis and hence, it becomes a very important and good practice to follow branch name conventions.

It not only provides visibility to all the other team members but also makes our life easy to maintain and debug the changes at a later point in time.

Attaching below is a handy and self-explanatory template:


대부분의 경우, 우리는 최종적으로 우리의 주 지점을 어지럽힐 것이다. 좋은 처리 방법은 어떤 표지부 (stage ex:prod) 를 사용하여 새로운 주 지점을 만들거나, 직접 표지부 stable 를 사용하는 것이다.

Usually some people/teams preferred the same conventions but with a prefix of the Developer's name. Ex: burhanuddin/topic-API-rate-limiter which is also fine.


2: 메시지 제출 모범 사례


다음은 메시지 제출이 중요한 이유입니다.
* 제출 과정에서 한 일을 명확하고 간결하게 묘사하거나 정리하거나 제출한 문제/어음 & 다른 개발자에게 좋은 인상을 남깁니다!
*팀 구성원 간의 가시성과 선명성, 디버깅!
* 만약에 귀하의 저장소(repo)에 GIT 보고서의 모든 안전 결함이 존재한다면, 예를 들어 저희가 귀하의 의존항에서 잠재적인 안전 결함을 발견하고 아래의 GIT 제출 메시지 약정을 따랐다면 GITHUB는 자동으로 이러한 결함을 복원하고 가능하면 향후 호환성에 따라 직접 복원하여 제출할 것입니다.
첨부 템플릿, 커밋 메시지 형식:
COMMIT MESSAGE MASTER FORMAT: <TYPE>(<SCOPE>): <SUBJECT>

제목:
이 항목에서는 이러한 변화를 간략하게 설명합니다.
*기도문, 현재 시제:
'변화'는'변화'도 아니고'변화'도 아니다.
*첫 글자는 대문자로 쓰지 마라
*점/주기 없음(.)최후

범위:
주로 파일 이름, 한 무더기의 파일에 대한 기능 이름 사용

유형:
다음 하위 템플릿(4개 섹션)을 참조하십시오.

예, commitizen 등 공구가 있으면 상술한 모든 공구입니다.하지만 나는 이런 것을 좋아하지 않는다. 이유는 간단하다.
* Dell이 약속을 하기 전에 많은 세부 사항을 묻습니다.
*우리 스스로 이 일을 하는 것을 제한하여 우리의 습관이 되게 하라. 나는 보통 이렇게 하는 것을 더 좋아한다!

3: 압출, 중기, 그리고 안정된 지점에서 합병 선형 제출 역사 기록


이것도 각종 개발진이 따르는 실천에 기초한 것이다.일부 팀은 합병 제출을 따르고 유지하기를 원하지만 다른 팀은 master 또는 main 지점에서 선형 제출 역사를 가지고 싶어 한다.
가장 좋은 두 가지 방법은 모두feature 지점에서 관련 제출을 압출한 다음에 합병한 후에 기지를 다시 정하는 것이다.이것은 선형 제출 기록이 있고 관련 제출은 압축됩니다. (예: 통합 제출)
상술한 방법의 단점은 같은 지점에서 일하는 여러 명의 개발자가 force 전송을 필요로 한다면 압박을 피해야 한다는 것이다.이런 방법의 전환점은 사용--force-with-lease이며 동시에 압출한 후에 특성 지점을 계속 사용한다.
git checkout -b topic-something # HEAD off from stable
git rebase -i HEAD~5 # Squash 5 commit made on the feature
git push origin --force-with-lease topic-something
git pull origin --rebase stable-branch # If fetched already
git push origin topic-something # Pushing merge conflicts fix

git checkout stable-brach 
git merge topic-something # W/o --no-ff avoiding merge commit, thus maintaining linear commit history
git push
다음은 장식도 형식으로 제출 기록을 검사하는 유용한 명령입니다. ~/.gitconfig 상세한 정보를 사용하여 다음 명령을 별명할 수 있습니다.
$ git log --all --graph --decorate --oneline --abbrev-commit

4: --cached 대신 --reset index 사용


우리는 때때로 .gitignore 전혀 듣지 않거나 일하지 않는 문제에 부딪힐 수 있다.GIT가 추적한 파일에 이런 상황이 발생할 수 있습니다.마지막으로, -cached 플래그를 사용하지만 다음과 같은 두 가지 단점이 있습니다.
*--cached flag은 특정 파일 플래그를 임시 저장소에서 삭제하도록 설정하고 최종적으로 불필요한 제출이 있을 수 있습니다.
* 제출한 후에 이 코드를 생산repo로 가져오면 이 파일 (예: 프로필) 을 삭제하여 전체 생산 코드를 흐트러뜨립니다.
간단한 해결 방안은 탐지할 특정 파일 인덱스를 업데이트하는 것이다. .gitignore
$ git update-index --assume-unchanged <file-names*>

5: GIT 구성 별칭, 밀기/당기기 설정 및 다양한 작업공간


다음과 같은 이유로 GIT config가 유용합니다.
5.1: 동일한 시스템의 다른 작업공간에 대해 글로벌 및 로컬로 제출할 때마다 작성자 정보를 추가합니다.

5.2: GIT 기본 병합 도구와 diff 도구를 추가하는 것이 편리합니다!터미널 자체에서 통합 충돌을 해결하는 데 도움이 됩니다.

5.3: 예를 들어, 가장 좋아하는 GIT 명령의 앨리어스를 생성합니다. 주로 다음 명령에 사용됩니다.

GIT는 설정core.editor이나 설정file-options 등 더 유용한 기능도 있는데 GIT config는 이런 기능에 사용할 수 있다.

보너스 - 전문 힌트!

Recently (2019) Github announces GitHub Actions that enables SDLC or CI workflows directly from GitHub only. GitHub Actions are available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub One.

It is a plus, as compared to using 3P CI services like Travis CI, Circle CI, CodeShip, etc. because it eases the maintenance to maintain the Workflow from GitHub only. Attaching below is a sample YAML file to set up the GitHub Actions into your repo:

Thanks for reading. I hope you will find this blog helpful. Please stay tuned for more such upcoming blogs on cutting-edge Software Development Engineering, Big Data, Machine Learning & Deep Learning. And lastly, always remember to breathe :)


재생 목록:

  • 빅데이터 및 클라우드 엔지니어링:
  • 데이터 과학 출판물을 위한 미디어 - ETL 데이터 파이프라인을 처음부터 구축하는 4가지 간단한 절차


  • 데이터 과학을 위한 미디어 출판물 - 아마존 S3 데이터 호수 | 유동 데이터 저장 및 분석 | 서버 방법 없음


  • 다운타임이 거의 없는 서버 없는 데이터베이스 마이그레이션 및 복제


  • 좋은 웹페이지 즐겨찾기