지금껏 “깃허브를 쓰는 것만으로 넌 참 대단한 아이야”는 마음으로 써오다가, 깃허브 페이지는 물론 지금껏 올렸던 커밋들이 너저분하고 한심하기 짝이 없었다. 아무생각 없이 쓰기만 했는데 커밋과 ReadMe의 양식이 존재한다는 사실을 알아버리고 말았다. 그래서 이번 기회에 좀 고쳐보고자 한다.


가장 먼저 해야한 일은 커밋의 내역을 삭제하는 것이었다. 이곳에 관련된 내용이 들어있다. 필자는 한번도 깃을 터미널로 사용하질 않아서 막막한 느낌이 들었지만 막상 따라하니까 잘 되는것 같다.


▲ 필자의 말도안되는 커밋 히스토리


저 히스토리를 싹 날리고 이젠 새로 태어나는 거다.




1
▲ 필자가 작업한 환경은 오랜기간 잠들어 있던 네이버 클라우드 플랫폼(CentOS 7)




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Clone the project, e.g. `myproject` is my project repository:
git clone https://github.com/heiswayi/myproject.git

# Since all of the commits history are in the `.git` folder, we have to remove it:
cd myproject

# And delete the `.git` folder:
git rm -rf .git

# Now, re-initialize the repository:
git init
git remote add origin https://github.com/heiswayi/myproject.git
git remote -v

# Add all the files and commit the changes:
git add --all
git commit -am "Initial commit"

# Force push update to the master branch of our project repository:
git push -f origin master

걸어둔 링크에 나와있는 명령어 목록이다. 필자는 이 명령어 이외에


git config –global user.name …

git config –global user.email …@…


과정을 추가적으로 하였으며 10행의 git rm -rf .git 명령어가 실패하여 rm -rf .git으로 했더니 정상적으로 진행되었다. 참고바람.


이후 마지막 명령어인 푸쉬를 하면 유저네임과 패스워드를 입력하라고 한다.

[baealex@centos2 baealex.github.io]$ git push -f origin master

Username for ‘https://github.com’: baealex

Password for ‘https://baealex@github.com’:


1
▲ 완료했다면 깔끔한 히스토리와 조우하게 된다. ^^




커밋의 양식

필자가 말한 깃의 커밋과 ReadMe의 양식의 존재는 여기서 발견했다. 법으로 제정된 양식은 아니지만 확실히 글을 읽다보면 설득이 된다. 마냥 너저분하게 “내가 깃을 쓴다구요!”만을 보여주는게 아니라 “내가 깃을 이렇게 잘 쓴다구요!”를 보여주는게 같은걸 보여줘도 후자가 이득이 아닌가 싶다.


올바른 커밋과 그로인해 완성된 히스토리는 나의 지표를 정확하게 보여줄 테니까.




제목 정할때

feat: 새로운 기능을 추가할 경우

fix: 버그를 고친 경우

docs: 문서 수정한 경우

style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우

refactor: 프로덕션 코드 리팩터링

test: 테스트 추가, 테스트 리팩터링 (프로덕션 코드 변경 없음)

chore: 빌드 테스크 업데이트, 패키지 매니저 설정할 경우 (프로덕션 코드 변경 없음)




ReadMe.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 프로젝트명
> 간략한 프로젝트 소개 문구를 작성합니다.

한 두 문단으로 프로젝트 소개 글을 작성합니다.

## 설치 방법

OS X & 리눅스:

## 사용 예제

스크린 샷과 코드 예제를 통해 사용 방법을 자세히 설명합니다.

_더 많은 예제와 사용법은 [Wiki][wiki]를 참고하세요._

## 업데이트 내역

* 0.2.1
    * 수정: 문서 업데이트 (모듈 코드 동일)
* 0.2.0
    * 수정: `setDefaultXYZ()` 메서드 제거
    * 추가: `init()` 메서드 추가
* 0.1.1
      * 버그 수정: `baz()` 메서드 호출 시 부팅되지 않는 현상 (@컨트리뷰터 감사합니다!)
* 0.1.0
    * 첫 출시
    * 수정: `foo()` 메서드 네이밍을 `bar()`로 수정
* 0.0.1
    * 작업 진행 중

## 정보

이름 – [@트위터 주소](https://twitter.com/dbader_org) – 이메일주소@example.com

XYZ 라이센스를 준수하며 ``LICENSE``에서 자세한 정보를 확인할 수 있습니다.

[https://github.com/yourname/github-link

ReadMe도 깔끔하게 만들어진 템플릿이 존재했다. 그 중에 간추려서 필자가 쓸수 있을 만한 부분만 남겨놨다.


깃허브 어려워 ㅜㅜ…


WRITTEN BY

배진오

소비적인 일보단 생산적인 일을 추구하며, 좋아하는 일을 잘하고 싶어합니다 :D
im@baejino.com