계산기를 만드는 프로젝트
좋아하는 색인 초록색으로 그라데이션을 주고 레이아웃은 예전 아이폰 계산기를 따름.
각 버튼마다 아래쪽에 그림자가 있음.
레이블이 0일 때의 경우로 따로 버튼을 설정해야 함.
버튼 간 간격은 약 14px, 화면 가장자리와의 패딩은 30px.
버튼의 지름은 스크린 가로 길이에서 102px을 빼고 4로 나눈 값.
여러 개발자와 원활한 협력을 위해 여러 협약을 설정하게 된다.
커밋 컨벤션은 주로 다음과 같은 형태로 작성한다.
<type>: <description>
[optional body]
[optional footer]
type에는 다음과 같은 사항들을 적게 된다.
단어 | 설명 |
---|---|
feat | 새로운 기능 추가 |
fix | 수정 |
docs | 문서 수정 |
style | 코드 스타일 수정 |
refactor | 코드 리팩토링 |
perf | 성능 개선 |
test | 테스트 관련 수정 |
chore | 빌드 관련 또는 사소한 사항 수정 |
ui | UI관련 수정 |
network | 네트워크 관련 수정 |
remove | 코드 삭제 |
여기에 이어 description
이나 body
부분에 들어가는 글자의 수도 제한하기도 하며 body 외에도 이슈 트래커나 오류코드 등이 존재하면 추가로 꼬리말(footer)
을 작성하기도 한다.
무조건 따라야 하는 정해진 규칙이 존재한다기보단 같이 일하는 팀원끼리만의 컨벤션이기 때문에 같이 일하게 될 조직, 팀원에 따라 바뀔 수 있다.
추가적으로 가독성을 높이기 위해 이모지를 곁들일 수 있다.
이는 깃모지라고 부르며 각 이모지에 대한 type에 대해서는 깃모지를 많이들 참고하는 것 같다.
터미널에서 깃모지를 사용하기 위해 추가적인 플러그인을 받을 수 있다.
brew install node
명령어로 node를 받은 뒤 npm install -g gitmoji-cli
명령어로 설치하면 된다.
이후 git commit
대신 gitmoji -c
를 사용하여 커밋하면 된다.
내가 터미널에서 주로 사용하는 깃 관련 기능은 다음과 같다.
각 기능은 여러 플러그인과 함께 다음과 같은 명령어를 사용 중이다.
먼저 작업물이 있는 폴더로 터미널 디렉토리를 설정해준다.
이후 git init
을 통해
위와 같이 깃 레포지토리로 초기화 해줄 수 있다.
이제 로컬 레포지토리와 깃허브의 원격 레포지토리의 연결이 필요하며 git remote add origin url
을 통해 가능하다.
gh repo view --web
gh 플러그인을 받고 위 명령어를 사용하면 바로 현재 디렉토리와 연결된 깃허브 페이지가 열리게 된다.
j <directory>
autojump라는 플러그인을 통해 사용 중이며 자주 사용한 디렉토리의 키워드를 기억해두었다가 해당 키워드만으로 원하는 디렉토리로 이동하게 해준다.
브랜치 목록은 기본적으로 git fetch --all
과 git branch -r
을 통해 확인 가능하고 다시 checkout
이나 switch
를 통해 브랜치를 변경하게 된다.
또는 fzf라는 플러그인을 통해 원격 레포지토리 또는 로컬 레포지토리의 브랜치 목록을 확인하고 바로 변경할 수도 있다.
git switch $(git branch | fzf)
라는 명령어 조합이고 축약어를 설정하여 gsw
나 gitswitch
같은 원하는 단어로 설정하여 더 빠르게 사용할 수도 있다.
물론 변경 전에 stash
나 commit
이 필요할 수 있다.
이 둘의 차이는 영구적인 저장이냐 임시 저장이냐가 가장 크다.
새로운 브랜치를 터미널에서 생성하고 싶은 경우엔 git checkout -b <브랜치 이름>
을 사용하면 된다.
브랜치에서 작업 후 푸시하기 위해 스테이지와 커밋이 필요하다.
git add <파일 이름>
을 통해 스테이지에 추가할 수 있으며 나는 주로 git add .
을 통해 변경된 파일을 모두 추가한다.
이후 커밋을 생성하게 되는데 나는 앞서 언급한 깃모지를 사용하기 위해 gitmoji -c
라는 명령어를 통해 커밋한다. 커밋까지 완료되었다면 git push <브랜치 이름>
을 통해 푸시하게 되며 현재 브랜치를 푸시할 경우 브랜치 이름은 생략할 수 있다.
명령어에 대한 별명을 지어서 쉽게 사용하기 위해 nano ~/.zshrc
로 설정 파일을 열고 alias gimoji='gitmoji -c'
와 같이 작성하면 쉽게 명령어를 사용할 수 있다.
깃허브 레포지토리를 생성할 때 로컬에서 만든 프로젝트와 별개로 readMe 파일 등과 함께 초기화 해둘 경우와 업스트림 설정 등에서 충돌이 발생할 수 있다.
fatal: The current branch main has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin main
To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.
위 오류는 업스트림 브랜치가 설정이 안 되어 있다는 것인데 로컬 브랜치와 연결된 원격브랜치를 의미한다. 깃허브에 내 로컬 브랜치와 연결된 브랜치가 설정되어있지 않다면 푸시할 수 없기 때문에 오류가 발생한다. 또는 푸시할 때마다 원격 브랜치의 이름을 명시해야 한다. 업스트림 브랜치는 git push --set-upstream origin master
또는 git push -u origin master
를 사용하면 된다.
오
~~~ 알려주셨던 깃모지!! 그나저나 계산기 너무 이쁘네여