본문 바로가기

Git10

[Git] 좋은 커밋 메세지 작성하기위한 규칙들 좋은 커밋 메시지 작성하기 위한 규칙들 코드를 작성하면서 어려운것들중 하나는 이름을 어떻게 짓는지에 대한 고민 바로`Naming` 일 것입니다. 클래스, 함수, 변수 등등 많은 이름을 고민하지만 그 중 하나인 커밋 메시지를 어떻게 작성하여야 좋은 커밋 메시지일지에 대하여 알아보도록 하겠습니다. 커밋 메시지의 7가지 규칙 1. 제목과 본문을 빈 행으로 구분한다 2. 제목을 50글자 내로 제한 3. 제목 첫 글자는 대문자로 작성 4. 제목 끝에 마침표 넣지 않기 5. 제목은 명령문으로 사용하며 과거형을 사용하지 않는다 6. 본문의 각 행은 72글자 내로 제한 7. 어떻게 보다는 무엇과 왜를 설명한다 커밋 메시지 구조 헤더는 필수이며, 범위(scope), 본문(body), 바닥글(footer)은 선택사항입니다.. 2021. 1. 12.
git rebase -i 알아보기 git rebase -i 알아보기 git 을 사용하다 보면 , 이미 커밋한 히스토리를 변경하거나 또는 삭제하거나, 내용을 추가해야하는 상황이 자주 발생합니다. 이때 사용할수 있는 명령이 바로 $git rebase -i 입니다. -i 는 --interactive의 약어로 말 그대로 git rebase 명령어를 대화형으로 실행하겠다는 의미입니다. 위명령어를 실행하면 '수정을 시작할 이전 커밋 ' ~ '현재 커밋(HEAD)' 범위에 있는 모든 커밋들의 리스트가 출력된다. ex) $ git rebase -i HEAD~3을 실행하면 -> HEAD~2 , HEAD~1, HEAD 커밋들이 출력되게 됩니다. 아래는 테스트를 위하여 미리 만들어논 커밋들 입니다. git rebase $ git rebase -i HEAD~.. 2019. 9. 9.
Git Flow 란 ? Git-flow 간단하게 살펴보기 Git-flow를 사용했을 때 작업을 어떻게 하는지 살펴보기 전에 먼저 Git-flow에 대해서 간단히 살펴보겠습니다. Git-flow에는 5가지 종류의 브랜치로 나누어지게 됩니다. 항상 유지되는 메인 브랜치들(master, develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature, release, hotfix)이 있습니다. master : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치 master 와 devleop브랜치 master와 develop브랜치가 존재하고.. 2019. 8. 5.
Git 자주쓰이는 명령어 모음 기본 명령어저장소 생성git init 원격 저장소로부터 복제git clone {url} {저장할폴더명} // 폴더명을 입력하면 , 현재위치에폴더를 만들면서 클론 변경 사항 체크git status // 특정 파일 스테이징git add {파일명} 변경된 모든 파일 스테이징git add * 커밋git commit -m “{변경 내용}” 원격으로 보내기git push origin master 원격저장소 추가git remote add origin {원격서버주소} unstaged인 파일 초기화 - discardunstaged인 모든 파일 초기화git checkout -- .unstaged인 하나의 파일 버리기 (초기화 )git checkout diffCommit간 비교git diff 현재 unstaged된 수정사항.. 2019. 3. 14.
GIt 명령어 배우기 -3 cherry-pick,인터렉티브 리베이스 GIt 명령어 배우기 -3 cherry-pick,인터렉티브 리베이스 cherry-pick 체리픽은 이 일은 여기에 저일은 저기에 두고싶어 할때 사용할 수 있습니다. 현재 위치(HEAD) 아래에 있는 일련의 커밋들에 대한 복사본을 순서적으로 만듭니다. git cherry-pick 인터렉티브 리베이스체리-픽은 원하는 커밋이 무엇인지 (각각의 해시값)을 알떄 아주 유용합니다하지만 원하는 커밋을 모르는상황에는 어떻할까요 ?이럴때 인터렉티브 리베이스를 사용합니다일련의 커밋들을 검토할 수 있는 가장 좋은 방법입니다. git rebase -i HEAD~4-> head 부터 위로 4개만큼을 인터렉티브 리베이스 창으로 엽니다. -i 옵션을 추가하면 리베이스의 목적지가 되는곳 아래에 복사될 커밋들을 보여주는 텍스트편집기(.. 2019. 2. 11.
GIt 명령어 배우기 -2 커밋트리[Commit tree]에서 이동하는 방법( branch -f , reset, revert , ^, ~) Git 커밋트리(Commit tree)에서 이동하는 방법 HEAD란 ?HEAD는 현재 체크아웃 된 커밋을 가리킵니다. 즉 현재 작업중인 커밋입니다. HEAD는 항상 작업트리의 가장 최근 커밋을 가리킵니다.작업트리의 변화를 주는 git 명령어들은 대부분 HEAD를 변경하는것으로 시작합니다. 일반적으로 HEAD는 브랜치의 이름을 가리키고 있습니다 .커밋을 하게되면 브랜치의 상태가 바뀌고 이 변경은 HEAD를 통해서 확인이 가능합니다 HEAD분리하기HEAD를 분리한다는 것은 HEAD를 브랜치 대신 커밋에 붙히는 것을 의미합니다. HEAD -> master ->C1 이였다면 git checkout C1 HEAD ->C1 명령후에는 이처럼됩니다. (master는 브랜치고 C1은 커밋입니다 ) 상대참조상대참조로 기.. 2019. 2. 7.
GIt README 작성하기 GIt README.md 작성하기깃 저장소에 리포지토리를 추가하면 README.md 파일이 생성됩니다.README.md 파일에는 프로그램에 대한 설명 및 개발과정 등을 작성하여 어떤 프로젝트인지 한눈에 알 수 있습니다. 마크다운 언어README.md 파일의 확장자 md, 즉 markdown으로된 파일입니다.마크다운 언어 문법 0. 다음줄로 넘기기1. 글자크기2. 강조하기3. 기울임체4. 취소선5. 코드넣기6. 인용7. URL 링크 git 문서에서 확인하기https://github.com/sejong-interface/Interface_Manual/wiki/Git-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%233-README.md-%ED%8C%8C%EC%9D%BC-%EC%9E%91%.. 2019. 2. 1.
GIt 명령어 배우기 -1 (commit, branch, checkout, merge, rebase) GIt 명령어 배우기git 명령어 종류commitbranchcheckoutcherry-pickresetrevertrebasemerge commitcommit은 git 저장소에 내 디렉터리의 모든 파일에 대한 스냅샷을 기록하는 것입니다.git은 가능한 커밋을 가볍게 유지하고자 하기 때문에, 커밋할 때마다 디렉토리 전체를 복사하진 않습니다. 각 커밋은 저장소의 이전 버전과 다음 버전의 변경내역("delta"라고함)을 저장합니다.그래서 대부분의 커밋이 그 커밋 위의 부모 커밋을 가리킵니다 저장소를 복제(clone)하려면 모든 변경분(delta)를 풀어내야 하는데, 이 때문에 명령행 결과로 아래 문구를 볼수 있습니다 .resolving deltas commit은 매우 가볍고 커밋 사이의 전환도 매우 빠릅니다! .. 2019. 1. 31.
gitignore 적용하기 .gitignore이란?Project에 원하지 않는 Backup File이나 Log File , 혹은 컴파일 된 파일들을 Git에서 제외시킬수 있는 설정 File이다.1. .gitignore Android Studio 용파일 만들기항상 최상위 Directory에 존재해야합니다# built application files*.apk*.ap_ # files for the dex VM*.dex # Java class files*.class # built native files (uncomment if you build your own)# *.o# *.so # generated filesbin/gen/ # Ignore gradle files.gradle/build/ # Local configuration file.. 2019. 1. 29.
gitlab 기존 프로젝트 올리기 Bash에서 gitlab에 기존 프로젝트 올리기 1. 프로젝트가 있는 디렉터리로 이동하기 2. 초기설정//아이디 닉네임 설정$ git config --global user.name "gitlab닉네임"$ git config --global user.email "gitlab이메일" 3. init하기 $ git init 4. remote 생성git remote add origin https://gitlab.com/beomseok95/soccerting.git https:// 부분은 gitlab에서 HTTP를 복사하여 넣어줍니다origin이란 이름의 remote를 생성합니다 5. 현재 디렉터리 add, commit//현재 디렉터리 모두 내용 모두 add하기$ git add .//commit $ git comm.. 2019. 1. 29.