728x90 반응형 Git13 [Git] merge 전략 merge전략 branch1에서 공용브랜치(dev 또는 main)로 PR을 만든뒤 merge하는 상황merge/ rebase / squashmergemerge는 두 브랜치의 변경 사항을 통합하는 기본적인 방법branch1에서 넘어온 commitID와 신규 merge commitID가 dev브랜치에 남게됨rebase한 브랜치의 커밋을 다른 브랜치의 최신 커밋에 “재적용”(re-apply)하는 방식이때에는 브랜치에서 넘어온 commitID가 아닌, 새로운 commitID가 발급되어 dev브랜치에 생성장점merge commitID는 남지 않게 되어, 깔끔한 커밋관리기존의 commit history는 유지단점이후에 branch1에서 다시 merge를 할때 충돌이 발생하므로, 사용하던 branch1은 더이상 사용.. 2023. 12. 21. [Git] feature branch feature branch 작업실제 현업에선 branch1, branch2, dev, main 등 여러 브랜치로 관리브랜치란 버전과 다르게 개발의 경로를 의미일반적으로 production 관련 브랜치는 main, 개발용 브랜치는 dev나머지는 task별(기능별)로 개별적으로 만들어서 사용 → feature브랜치라 칭함각각의 로컬 feature branch에서 작업 후 origin/feature로 pushPull Request(pr)를 통해 dev에 merge - dev입장에서 pulldev에서 main으로 최종 merge하는 과정이 현업에서의 브랜치 관리주요 명령어git fetch originlocal 레파지토리로 모든 브랜치정보 fetchgit branch현재 저장소에 있는 모든 브랜치 목록git br.. 2023. 12. 20. [Git] tag git tagmain 브랜치에서 tag를 붙여 버전을 명시하고, release를 하고자 할때 아래와 같이 tag를 붙인 뒤 push한다. (오픈용)checkout된 branch기준으로 tag별 release가 생성release에는 source코드가 압축파일로 생성관련 명령어git tag 버전명git push origin 버전명add, commit, push 와는 별도로 진행 오른쪽 Releases 주목git tag, pushReleases 생성zip파일로 확인 가능제목 없음 2023. 12. 19. [Git] stash git stash git stash는 작업 중인 변경사항을 임시로 저장하고 나중에 다시 적용할 수 있게 해주는 명령어git stash list작업저장목록git stash show 인덱스복사본 내용 조회git stash show -p 인덱스 : 상세조회git stash pop작업목록에서 제거하면서 저장사항 적용git stash apply작업목록에서 놔둔채 저장사항 적용git stash apply 0가장 최근에 저장한 stash의 적용git stash clear전체 stash 목록 클리어 실습local에서 수정 후 commit하지 않은 상태origin에서는 수정 후 커밋pull하면 error 발생git stash했더니 내가 적어놓은 부분이 사라짐 - 따로 저장된것stash list로 인덱스 0에 저장된 것 .. 2023. 12. 18. [Git] case별 git pull case별 git pullCASE1ORIGIN과 local repository의 commit 이력이 같은 상황에서 local에서 working directory에서의 수정이때에는 git pull origin main을 해도 변화 발생 없음(commit 이력은 동일하므로)이 상황은 pull을 받는 상황이 아닌, 수정 후에 commit push 하거나 local작업사항을 취소해야 되는 상황CASE2ORIGIN이 수정 또는 추가 되었고, 내가 해당 파일을 수정하지 않은 상황git pull 또는 git pull origin 브랜치명을 통해 update사항 downloadfast forward 상황CASE3working directory 또는 staging까지 작업한 상태인데 같은 파일이 origin에서 comm.. 2023. 12. 15. [Git] diff, fetch git diff와 fetchgit diffgit diff 두 커밋간 차이점 비교commit1을 기준으로 commit2와의 비교시 차이점 출력git feth origin mainorigin의 데이터를 로컬로 가져오되 병합은 하지 않는것 → staging과 working directory의 변경은 없음FETCH_HEAD는 git fetch 명령어를 마지막으로 실행했을 때 원격 저장소에서 가져온 브랜치의 최신 커밋을 가리키는 참조ex)git fetch origin main현재 checkout 돼 있는 main과 origin main과의 차이가 있을 경우 차이점을 담은 참조 데이터 fetch_head라는 곳에 생성git diff origin origin/main으로 차이점을 참고하여 git merge origi.. 2023. 12. 13. [Git] 취소 상황 git 취소 상황특정 STEP까지의 저장 사항을 취소working directory의 수정사항 취소add 이후 취소commit 이후 취소push 후 origin까지 배포된 사항 취소working directory의 수정사항 취소git checkout .파일 수정사항의 취소.은 현재 head위치 commit으로 checkout 함으로서 working directory의 수정사항을 취소git clean -fdx파일을 신규추가(untracked file)한 경우의 취소git checkout . | git clean -fdx수정 및 추가 모두 취소개발툴(intellij, vscode등) 사용 시 쉽게 수정사항 취소 가능add 이후 취소test2.txt 신규생성git status → untracked filegi.. 2023. 12. 12. [Git] pull과 충돌 git pull과 충돌수정 후 수정사항 업로드add, commit, push수정사항 다운로드git pullorigin이 수정되어 local과의 차이 발생시origin의 변경사항은 local에서는 추적불가능vscode의 source control의 변경사항 인지는 local repository에 대한 변경인지→ push 했을 때 다른사람이 먼저 수정해서 올려놨으면 origin과 로컬이 다르기 때문에 내려받은 후 수정을 해야됨git pull origin 브랜치명ex)git pull origin mainorigin을 기준으로 local을 updatefetch + merge까지 되는 것 → 바로 origin내용으로 바뀜pull은 working directory까지 반영별도의 브랜치명 명시 안하면 현재 check.. 2023. 12. 11. 이전 1 2 다음 728x90 반응형