본문 바로가기
반응형

Development/Git12

git cherry pick 특정 브랜치에 있는 지정된 commit 내용을 가져오려고 할때 cherry pick 을 사용한다. 내가 주로 사용하는 경우는 다음과 같은 경우이다. 1. 현재 메인 브랜치 : develop 2. 운영 태그 : release-tag-2024 보통 개발을 하면 develop 브랜치 기준으로 브랜치를 만들어서 feature 브랜치를 만들고 개발을 한다. 그런데 가끔 운영에 급히 반영을 하거나 버그 픽스를 해야 할 경우가 있다. 이때에 이런 순서로 작업을 했다. 1. 운영태그 기준으로 hotfix 브랜치 생성 2. hotfix 브랜치에서 수정을 한 후 운영에 반영 3. 운영 반영 후에 hotfix 브랜치에 있는 commit 내용들을 develop 브랜치로 이동 -----> 이때 cherry-pick 을 사용한다.. 2024. 1. 5.
Git Contribute 절차 https://openinfradays.kr/session/10 OpenInfra Community Days Korea 2021 손석호 Speaker's bio 한국전자통신연구원(ETRI)에서 클라우드 컴퓨팅을 연구하며, Kubernetes와 Cloud-Barista 등의 오픈소스에 기여하고 있습니다. [Kubernetes] - SIG-Docs Korean Localization Team Leader - Kubernetes/websi openinfradays.kr 위 영상을 보면서 간략하게 메모한 내용입니다. Github contribute Workflow Upstream Repository -> Origin Repository -> Local Repository -> Working copy 1. For.. 2021. 12. 10.
다른 브랜치에서 pull 하면 어떻게 될까??? Git 을 사용하면서 pull 을 받을때 다른 브랜치를 pull 받는 경우가 있다. 예를 들어서 나는 현재 A 브랜치에서 작업을 하고 있다. 그런데 B 브랜치의 내용을 A 브랜치로 pull 을 받아야 한다. ( 왜 이렇게 사용하냐고 묻는 다면.. 어쩌다 보니 이렇게 사용하게 됐다..) 그래서 한가지 궁금한게 생겼다. 다른 브랜치를 pull 받는것과 merge 하는것과 차이가 있을까??? 그럼 한번 실험을 해보자. - master 브랜치, dev01 브랜치 생성 먼저 위 그림을 보자. 위 상황은 다음과 같다. 1. master 브랜치에서 test1.md 파일 생성후 커밋 2. dev01 브랜치 생성 3. dev01 브랜치에서 test2.md 파일 생성 - dev02 브랜치 추가 , test3.md 파일 추.. 2020. 12. 7.
github page 에 테마 설치 1. icarusn 모듈 설치 먼저 로컬에 있는 blog 소스가 있는 폴더 안에서 git submodule 을 추가해준다. 내가 설치하려고 하는 테마는 icarus 라는 테마인데 설치 방법은 여러가지가 있다. Document를 보니 git submodule 을 추가하는 방법도 있고 npm 으로 설치하는방법도 있다. git submodule add https://github.com/ppoffice/hexo-theme-icarus.git themes/icarus 이렇게 하면 blog 하위에 themes 폴더 안에 icarus 라는 항목이 생긴다. 또는 npm install -S hexo-theme-icarus 나는 submodule 을 추가 하는 방법을 사용했다. 2. 설정파일 변경 _config.yml 파.. 2020. 10. 20.
github 에 page 만들기 1. github 에 레파지토리 생성 레파지토리 이름은 다음과 같이 만든다. [ID].github.io 일단 이렇게 하면 저장소 준비는 완료된다. 2. hexo 설치 (설치전에 node 는 설치 되어있다고 가정한다.) - hexo-cli 설치 (혹시 권한 관련 Error 가 나면 앞에 sudo 추가) npm install hexo-cli -g - hexo 기본 구성 하기 hexo init [폴더명] 여기에서 폴더는 기존에 있던것은 안되고 새로 생성하거나 그냥 이름을 적으면 자동으로 생성해준다. 실제 폴더에 들어가면 아래와 같이 구성이 되어있다. - _config.yml 파일 설정 하기 간단하게 다음 두개 항목만 설정해준다. # Site (사이트 설명 : 자신에게 맞게 설정해주면 된다.) title: He.. 2020. 10. 15.
Git local, remote branch 삭제 로컬 브랜치 삭제 git branch -d 브랜치 명 리모트 브랜치 삭제 git push origin --delete 브랜치명 2020. 9. 8.
git tag 만든 것을 수정하고 싶을때에는 어떻게 해야하나? 가끔 이런 경우가 있다. 1. master 브랜치에서 현재 소스 기준으로 tag 를 생성한다. git tag release-v1.0 2. 그리고 나서 다른 작업들이 쭉~~ 진행 된다. 그러다가 갑자기 release-v1.0 에 대한 버그가 발견되었다. 그럼 어떻게 하지?? master 브랜치에는 신규기능을 개발중이거나 다른 작업들이 진행중이어서 bug fix 를 반영하더래도 v1.0 하고는 소스가 다른데... 구글링을 해보니 다음과 같은 절차를 이야기 해주고 있다. git checkout -b bugfix1 release-v1.0 이렇게 한 후 버그를 고치고 commit 을 한다. git tag release-v1.1 그리고 버그를 수정한 거에 대한 tag 를 다시 생성한다. 이렇게 하면 이제 relea.. 2020. 2. 5.
Git 리모트에 삭제된 브랜치 반영하기 Git 을 사용하다 보면 branch 를 만들어서 사용하게 된다. 그런데 어느 순간 보면 branch 가 여러개로 늘어나 있고 무엇을 하던 branch 인지 조차도 기억이 안나게 된다. 그래서 branch를 삭제를 했다. 난 분명히 branch 를 삭제를 했는데.. git branch --all 을 하면 삭제된 remote 브랜치가 여전히 나온다.. 내가 안지웠나??? 그래서 직접 git 사이트에 들어가 봤더니 삭제한 브랜치는 나오지 않는다.. 이때 다음과 같이 실행을 하면 된다. git remote prune origin 이렇게 하고 다시 git branch --all 을 하게 되면 삭제된 브랜치는 나오지 않는다. 참고 https://git-scm.com/docs/git-remote 2019. 5. 30.
특정 브랜치의 파일만 패치하기. 현재 브랜치와 다른 브랜치 사이에 merge가 아닌 특정 파일만 합치고 싶을때의 방법이다. git -p [브랜치명] -- [파일경로] 브랜치명 : 합쳐야 하는 내용들이 있는 브랜치 명을 입력하면 된다. (현재 브랜치가 아님) 파일경로 : 파일 path 를 넣으면 된다. 파일 경로 입력할때 다음과 같이 찾아보면 편리하다. git diff --name-status [브랜치명] 이렇게 하면 현재 브랜치와 [브랜치명]에 있는 브랜치의 다른점 목록이 나온다. 이 경로로 입력을 하면 된다. 2019. 3. 29.
git ignore 파일에서 특정 파일 제외가 안될때. gitignore 파일을 작성을 했는데 이상하게도 계속 해당 파일들이 Untracked Files 에 잡혔다. 그런데 분명히 내가 작성한 gitignore 파일에는 다음과 같이 존재하고 있었다..idea/.DS_Store그래서 구글링을 해보니 아래와 같이 해결책을 제시해줬다. https://stackoverflow.com/questions/32384473/gitignore-not-ignoring-idea-path 첫번째 시도 git rm -rf .idea/ Git에서 파일을 제거하려면 git rm 명령으로 Tracked 상태의 파일을 삭제한 후에(정확하게는 Staging Area에서 삭제하는 것) 커밋해야 한다. 이 명령은 워킹 디렉토리에 있는 파일도 삭제하기 때문에 실제로 파일도 지워진다. 그랬더니 다.. 2019. 3. 6.
로컬에 있는 프로젝트를 Github로 올리기 명령어 절차를 매번 찾기 귀찮아서 이렇게 기록 놓기로 했다. 1. 먼저 Github에 새로운 Repository 하나를 생성한다. 2. 실제 repository에 올리고 싶은 프로젝트의 로컬 디렉토리로 이동해서 git init 명령어를 실행한다. 그리고 git status 를 실행하면 아래와 같이 나온다. 3. git add . 명령어를 실행한다. 4. git commit -m "커밋 메세지" 를 실행한다. 5. 1번에서 만들어 놓았던 repository 의 주소를 복사한다. 6. git remote add origin 복사한 주소 를 실행한다. 7. git push -u origin master 를 실행한다. 그런 다음 아무 에러가 안나면 끝난다. 그런데 이때 reject 가 나오는 경우가 있다. Gi.. 2018. 6. 11.
Git Add, commit 아침 저녁으로 출퇴근 하면서 생활코딩의 "지옥에서 온 Git" 을 듣고 있는데 재미있는 내용이 있었다. https://www.youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk Git 을 사용하면 프로젝트 폴더 안에 .git 이라는 폴더가 생긴다. 생긴다라고만 알고 있었고 여기에 뭔가 history 가 저장되겠거니 라는 추측만 했었다. 실제로 열어본적도 없어서 뭐가 들어있는지도 몰랐다. 그런데 강의 내용중에 Git 명령어를 실행될 때에 어떻게 그 History를 저장하고 추적하는지에 대해서 설명을 해주었다. Git 을 사용할 경우 Add 명령을 이용해서 새로 생성된 파일을 stage area 영역으로 추가할수 있다. 이때에 .git 디렉토리 안에 .. 2017. 7. 13.
728x90
반응형