올바른 것을 가장 쉽게 만들어 습관을 형성하십시오.

나는 습관의 동물이다. 나는 물건을 내가 좋아하는 방식으로 구성하고 고정하고 영원히 나를 위해 만든 작은 생태계에 얽매이는 경향이 있습니다. 문제가 발생하여 마찰을 일으키기 시작하면 효과적으로 적응할 수 있는 유일한 희망은 빠르게 전환할 수 있는 새로운 구성을 찾는 것입니다.

얼마 동안 저는 여러분이 보고 있는 데 익숙한 명령을 사용하여 git 커밋을 만들었습니다.

$ git commit --all --message 'Make the code less wonky'


이것은 잘 작동하지만 마지막으로 그것에 대해 불안의 저류가 있었습니다. git를 사용하면 특정 방식으로 메시지 형식을 지정하여 더 긴 설명을 지정할 수 있습니다. GitHub 또는 GitLab과 같은 도구에 해당 커밋을 푸시하고 pull 요청을 열면 짧은 설명을 제목으로 사용하고 더 긴 설명은 pull 요청의 설명 필드에 연결됩니다. 이를 제공하는 것은 전략적으로 커밋 메시지에 줄 바꿈을 추가하는 문제이지만 메시지의 첫 번째 줄에서 실수로 따옴표를 닫거나 긴 형식의 설명을 제공하는 것을 잊어버리는 경우가 종종 있습니다. 이것은 마찰이었습니다.

$ git commit --all --message 'Make the code less wonky

* Fix a bug
* Add some comments
* Remove bitcoin mining malware'


GitHub는 최근에 making commits "on behalf of" an organization에 대한 기능을 추가했습니다. 회사에서 일상적인 작업의 일부로 오픈 소스에 기여할 때 유용합니다. 이 기능의 일부는 커밋에 더 많은 정보를 추가하고 기억해야 할 줄 바꿈을 더 많이 포함합니다.

$ git commit --all --message 'Add a bit of wonk back in

* We want those bitcoins so add the malware back
* That "bug" was a "feature" it turns out


on-behalf-of: @some-org <[email protected]>'


이것은 특히 당신이 commit early and often (당신이해야 할 일)을 시도하는 경우 매우 무질서 해집니다. 나는 정말로 더 설명적인 커밋을 만들고 싶었고 오픈 소스에서 적절한 어트리뷰션을 갖고 싶었지만 이것은 많은 마찰입니다. 다행히 git 적응할 수 있는 솔루션을 제공했습니다.

파일에 저장할 수 있는 커밋에 대한 템플릿을 사용하도록 구성할 수 있습니다git. 명령줄에 --message 인수를 제공하지 않으면 git는 템플릿 콘텐츠로 미리 채워진 커밋 메시지를 편집할 수 있는 텍스트 편집기를 엽니다. 나는 이것이 내 작업 흐름의 일부를 단순화하고 내 커밋에 더 설명적인 콘텐츠를 추가하라는 메시지를 표시하는 좋은 방법이 될 수 있다고 생각했습니다. 이 자동 프롬프트는 작은 노력이지만 약간의 생산성을 추가하고 다른 사람과 소통하는 정보를 개선하므로 큰 승리입니다.

나는 내가 열망하는 커밋 형식에 맞는 템플릿을 만드는 것으로 시작했습니다.

Summary of change

Longer description of change


on-behalf-of: @some-org <[email protected]>


그런 다음 나는 git 내가 관심 있는 리포지토리에 사용하라고 말했습니다.

$ git config commit.template /path/to/commit.template


그것은 설정 측면에서 그것에 관한 것입니다! 그러나 나는 즉시 혜택을 받기 시작할 수 있었습니다. 커밋 프로세스를 호출하는 내 명령은 --message 플래그(및 뒤따르는 메시지) 없이 더 짧고 커밋에 대해 무엇을 말할지 생각하는 프로세스가 이제 분리되어 일시 중지하고 무언가를 생각할 수 있는 기회를 제공합니다. 단지 haaaaaands .

내가 게으르거나 건망증이 있는 경우를 대비하여 템플릿도 내 등을 지지하고 컨텍스트를 추가하는 것이 좋다는 것을 상기시켜줍니다. 또한 항상 on-behalf-of 커밋 트레일러가 있으므로 거의 생각할 필요가 없습니다. 전반적으로 이것은 저에게 많은 누적 시간을 절약했고, 제가 공유하고 거기에 내놓는 것에 대해 더 사려깊게 만들었습니다. 구성하지 않은 리포지토리에서도(구성에 다른 요구 사항이 있고 아직 다루지 않았기 때문에) 커밋 메시지를 편집하기 위해 항상 텍스트 편집기를 사용하도록 전환했습니다.

따라서 이 이야기의 교훈은 git에 관한 것이 아닙니다. "올바른"것을 가장 쉬운 선택으로 만드는 것은 내가 진정으로 습관을 형성할 수 있는 방법입니다. 당신이 나와 같다면 두 가지가 똑같이 쉽다면 내가 벽을 넘을 때까지 그것들을 뒤집을 것이고, "잘못된"것이 가장 쉽다면 나는 파멸을 당할 것입니다. 그러니 나가서 도구를 사용하여 생산성을 높이십시오!


최고의 도구 구성 또는 생산성 향상은 무엇입니까?

좋은 웹페이지 즐겨찾기