반응형

git 24

GitLab에 있는 프로젝트를 GitHub로 복사하기

커밋 내역까지 살리면서 GitLab에 있는 프로젝트를 GitHub로 복사했다. mirror를 사용하는 방법도 있는데 나는 잘 안 되서 remote add 방식으로 했다. 1. 원격 저장소 추가 git remote add {이름} {복사하고 싶은 레포지토리 git 주소} 2. fetch로 복사하고 싶은 레포지토리에 있는 내용들을 가져옴 git fetch {위에서 적은 이름} 3. merge 붙여넣을 저장소(내 경우에는 github 저장소)와 복사할 저장소의 이력이 달라서 --allow-unrelated-histories 옵션을 줌 develop 브랜치가 기본 브랜치라서 이렇게 함 git merge gitlab/develop --allow-unrelated-histories 4. push git push o..

git 2024.04.16

[Git] hint: Updates were rejected because the tip of your current branch is behind

hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 위와 같은 에러가 뜰때는 원격 저장소에서 push하려는 브랜치의 커밋 이력을 확인해보자. 나의 경우에는 저장소를 병합하기 전에 사용한 feat/#17 브랜치를 지우지 않아서 발생한 문제였다. 참고 👇 https://docs.github.com/k..

git 2024.01.25

git 저장소 병합

프런트엔드와 백엔드를 따로 저장소 파서 개발하다가 한 저장소에 합쳐서 개발해야 할 일이 생겼다. git remote add {기존 저장소명} {저장소 주소} git fetch {기존 저장소명} git merge --allow-unrelated-histories {기존 저장소명}/{기존 저장소 브랜치명} git remote remove {기존 저장소명} 병합 받을 새 저장소에서 위 명령어를 실행한다. 기존 저장소명 = 병합하고 싶은 저장소다. --allow-unrelated-histories를 줘야 커밋 이력이 달라도 merge를 할 수 있다. 기존 저장소 브랜치명은 보통 master와 같은 기본 브랜치를 적겠지만, feat 브랜치와 같이 병합하고 싶은 브랜치명을 적어주면 된다. 병합이 끝나면 병합 하기 ..

git 2024.01.15

[Git] feature branch 업데이트하기

Merge하려고 하는데 This branch is out-of-date with the base branch 가 뜬다. dev에 merge할 feature 브랜치에 원격 저장소의 최신사항이 반영되도록 해야한다. git checkout dev feature 브랜치를 merge할 브랜치 dev로 이동 git fetch -p origin fetch는 원격 저장소에서 branch들과 commit들을 가져온다. -p는 --prune 옵션이고, 원격 저장소에서 더이상 존재하지 않는 것들을 삭제한다. git merge origin/dev 원격 저장소의 브랜치 origin/dev의 변경사항을 로컬 dev 브랜치에 merge한다. origin/dev ➡️ dev git checkout {feature-branch} fe..

git 2023.05.18

Github Actions를 이용한 CI/CD

CI 과정 1. Actions ➡️ Set up this workflow 2. .github\workflows의 main.yml에 Workflow 작성 yml 파일명은 바꿔도 됨 ⚠️ workflows 폴더 아래에 yml 파일이 있어야 워크플로우가 동작함 name: Java CI on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' - name: Validate Gradle wrapper uses: gradle/wrapper-validat..

git 2023.04.26

yml 파일 관리

yml 또는 properties 파일에 민감한 정보가 있을 때 깃허브에 private 저장소를 만들어서 가져와 사용하는 방법이다. git submodule add ${서브 모듈로 등록할 github} 먼저 private repo를 생성하고 yml 파일을 넣은 후에 위 명령어를 public repo에서 실행 public repo가 private repo를 서브 모듈로 사용할 저장소 public repo에서 서브 모듈을 사용하기 위해 실행한다. git submodule update --remote 서브 모듈이 변경되면, public repo에서 submodule을 갱신 서브 모듈을 변경할 때마다 서브모듈을 사용하는 프로젝트에서 이 명령을 쳐야한다. 깃허브에도 push해서 반영해주는 거 잊지말자!!! ✅ 서브..

git 2023.04.24

[Git] fork

🟩 fork와 clone의 차이 fork는 내 저장소에 가져온 후 작업을 끝내고 PR을 날릴 목적으로 주로 사용한다. 상단 오른쪽에 fork 버튼을 클릭한다. 내 저장소에서 브랜치를 만들고 작업이 끝나면 push한다. 원본 저장소에 Pull Request 요청을 보내고 원본 저장소에서 승인되면 main 브랜치에 merge 가능 🟨 pull과 fetch의 차이 fork한 원격 저장소의 최신 상태를 로컬에도 반영할 때 2가지 선택지가 있다. pull 병합 작업까지 실행 fetch + merge와 결과가 같다. ex) git pull https://github.com/drum-grammer/docker-pro-wanted.git fetch FETCH_HEAD 브랜치로 로컬에 최신 이력을 가져온다. ex) gi..

git 2023.04.01
반응형