목록Git (7)
oris9
상황에 따라 다양한 원인으로 인해 발생하겠지만, push 명령은 로컬 저장소의 commit 목록과 원격 저장소의 commit 목록을 비교하게 된다. 일단 이 과정에서 오류가 발생했을때 이런 에러메세지가 뜨게된다. 어떤 이유에서간 로컬 저장소의 commit 목록과 원격 저장소의 commit 목록이 일치하지 않는다는 것이다. 이런 상황에서, 커밋해도 문제가 되지 않을만한 내용을 push하는 경우라면 `git push -u origin +브랜치이름` 과 같이 +옵션을 이용해 브랜치에 강제로 푸시할 수 있다. 이렇게 되면 이전 작업을 push한 결과로 무조건적으로 덮어씌우기때문에 특히나 협업시에는 주의해서 사용해야한다
Merge 새로운 커밋을 생성하여 병합된 브랜치의 내용을 기록하게 된다. 히스토리를 유지하고 되돌리기 편하다는 장점이 있지만 다른 방법들에 비해 히스토리가 많이 남으므로 복잡해 보일 수 있다. Rebase Rebase는 브랜치의 시작점을 새롭게 조정한다. 커밋들이 유지되며 병합 커밋이 생성되지 않고, 병합할 가지의 최신 커밋이 새로운 시작점이 되기 때문에 한줄로 깃이 유지되어 깔끔해보인다는 장점이 있다. 하지만 다른 개발자들과 협업할 때 Rebase를 사용할 경우, 공유된 브랜치의 히스토리가 변경될 수 있어 주의해야한다. git checkout sub_branch git rebase develop git checkout develop git merge sub_branch Squash and Merge S..
타입 설명 build 빌드 시스템, 외부 종속성에 영향을 주는 작업 ci ci 구성 파일, 스크립트 변경 docs md와 같은 documentation의 변경 feat 새로운 기능 추가 fix 버그 수정 perf 성능 개선 작업 refactor 리팩토링 작업(코드 동작은 유지하되, 코드의 가독성과 유지보수성을 높이기 위해 내부구조 변경) test 테스트 코드 추가, 기존 테스트 수정 revert 커밋 취소 커밋 제목 작성 아래 중 적합한 태그를 찾아 앞에 붙인다음 상세 내용을 작성한다 `태그: 요약 메세지` feat: 새로운 기능 추가 fix: 버그 수정 docs: 문서 수정 style: 코드 스타일 변경 (코드 포매팅, 세미콜론 누락 등) design: 사용자 UI 디자인 변경 (CSS 등) test:..
Git 협업을 위한 중요한 기능인 Issues와 Pull Requests (PR)에 대해 알아보기. ISSUES 소프트웨어 개발 프로젝트에서 발생하는 문제점, 기능 요청, 버그 보고 등에 대한 커뮤니티로, 이슈 트래킹 및 팀 멤버들이 프로젝트 관련 이슈를 공유하고 토론할 수 있도록 만들어준다. 템플릿 생성해서 사용 (Settings -> General -> Issues (Set up templates)) Pull Requests (PR) PR은 소스 코드 변경 사항을 리뷰하고 병합하는 데 사용된다. 기능 추가, 버그 수정 또는 코드 개선과 같은 변경 사항을 제안하고, 다른 팀 멤버들에게 리뷰를 요청할 수 있으며, 팀 멤버들은 코드 변경 사항을 검토하고 논의한 후에 승인하거나 거절할 수 있다. PR은 변경..
Git flow Workflow Branch Gitflow Workflow에서는 항상 유지되는 메인 브랜치들(master,develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature,release,hotfix)을 포함하여 총 5가지의 브랜치를 사용한다. 주로 대형 팀, 긴 호흡의 프로젝트에서 사용하는 비교적 엄격한 브랜치 전략이다. 브랜치 관리가 용이하고 배포, 협업, 버전관리와 롤백, 유지보수에 장점이 있다. 하지만 그만큼 추가 검증이나 테스트과정이 포함되기 때문에 릴리즈속도가 느리고, 작은 프로젝트에서 불필요하게 많은 브랜치과정이 적합하지 않을 수 있다. 그래서 더 작은 프로젝트를 위해 전략을 간소화 시킨 것이 `Github flow` ! 기본적으로 브랜치에 대한 설명은 동일하므로 각 브..
Github 명령어 정리 1. 상태확인 git status 현재 git 상태를 확인 git remote -v 현재 origin 되어 있는 repository 알려줌 저장소와 연결되었는지 확인 git branch branch 목록 확인 git ignore Git 버전 관리에서 제외할 파일 목록을 지정하는 파일 2. 기본 명령어 git init git 초기 파일 생성 (해당 폴더에서 실행) git add . 모든 파일들을 git에 추가 git add 파일명 특정 파일을 git에 추가 git commit -m "메세지내용" "메세지내용" 메모를 남기고 commit 실행 (히스토리 생성) git remote add origin 깃허브주소 origin에 깃허브주소 연동 git push origin 브랜치이름 로컬..
merge를 진행하려고 할 때 아래처럼 왜 해당 merge가 필요한지에 대해서 commit message를 남기라는 말이 나온다. Please enter a commit message to explain why this merge is necessary, especially if it merges an updated upstream into a topic branch 이때, 커밋 메세지를 입력해주고 merge를 진행해야하는데 그냥 입력하면 안되고, 터미널에서 문서를 작성하듯이 입력해야한다. 그냥 키보드를 두드리면 아무 반응 없음! 해결 방법 i를 누른다 (commit message를 입력하기 위해) merge에 대한 message를 입력한다. esc를 누른다. :wq를 입력한다. enter를 누른다. 참..