💽 CICD/Git

💽 CICD/Git

[Git] git push --set-upstream origin main

[Git] git push --set-upstream origin main git에서 push를 할 때, 다음과 같은 에러가 발생했다. 이유를 찾아보니 원격 저장소에 기본 branch 설정을 해주지 않아서라고 한다. To push the current branch and set the remote as upstream, use git push --set-upstream origin main To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'. 해결방법은 다음과 같이 기본 브랜치를 설정해주거나, git push --set-upstream ..

💽 CICD/Git

[Gitlab] Gitlab API로 Merge Request 업데이트 하기

[Gitlab] Gitlab API로 Merge Request 업데이트 하기앞선 포스팅에서 CLI로 Merge Request의 리스트를 가져오는 방법을 알아봤다.이번엔 Python의 requests 라이브러리를 사용해서 이미 생성되어있는 Merge Request를 업데이트 해보고자 한다. 업데이트 할 수 있는 항목은 아래 docs에서 확인 할 수 있다.https://docs.gitlab.com/ee/api/merge_requests.html#update-mr Merge requests API | GitLabGitLab product documentation.docs.gitlab.com import requestsimport jsonurl = http:///api/v4/projects//merge_requ..

💽 CICD/Git

[Gitlab] Gitlab API로 Merge Request 가져오기

[Gitlab] Gitlab API로 Merge Request 가져오기 CLI로 Merge Request의 리스트를 가져와야 했다. git cli로 모든 병합 요청을 가져올 때 사용하는 명령어는 다음과 같다. git ls-remote origin 'refs/merge-requests/*/head' git ls-remote origin 'refs/merge-requests/*/merge' 나는 Open 상태의 Merge Request만 가져오고 싶었는데, CLI로는 방법을 찾지 못했다. 알아보니 Gitlab API를 사용하면 상태가 open인 MR을 가지고 올 수 있었다. https://docs.gitlab.com/ee/api/merge_requests.html#list-project-merge-reque..

💽 CICD/Git

[Git] Stash

[Git] Stash git stash는 파일의 변경 내용을 일시적으로 기록해두는 영역이다. commit을 하기 이전에 작업을 진행 중일 때, git stash로 현재 변경했던 내용들을 일시적으로 저장을 할 수 있다. 작업을 처리 후 임시 저장한 내용들을 다시 불러와 작업을 이어서 할 수 있다. stash 저장 git status를 통해 확인되는 변경된 내용들을 저장 할 수 있다. git stash push -m "message" git stash save "message" #save 생략 가능 git stash 변경 내용을 임시 저장을 하는 것이기 때문에 새롭게 추가된 파일(untracked file)인 경우는 stash를 통해 저장되지 않는다. stash 목록 조회 stash는 stack 형태로 최근..

💽 CICD/Git

[Git] switch/restore

[Git] switch/restore Git 2.23에서 checkout을 대신 할 switch, restore가 도입되었다고 한다. checkout이 대체된 이유는 하나의 명령어가 가진 기능이 너무 많기 때문이라고 한다. 명령어 설명 checkout Switch branches or restore working tree files switch Switch branches restore Restore working tree files git switch switch는 checkout에서 브랜치를 변경하는 부분만 담당한다. git switch master checkout의 -b 옵션처럼 -c 옵션으로 브랜치 생성 후 바로 전환이 가능하다. git switch -c new-branch 특정 브랜치나 거밋에서..

💽 CICD/Git

[Gitlab] Merge Request command Line으로 생성하기

[Gitlab] Merge Request command Line으로 생성하기자동으로 MR 생성을 해야하는 과제가 있었다. 찾아보니 gitlab 11.10 부터 git 2.10 이상을 사용하는 경우,다음과 같이 CLI로 Merge Request를 생성할 수 있었다.git push -o merge_request.create함께 사용할 수 있는 옵션들은 다음과 같다.git push \-o merge_request.create \-o merge_request.remove_source_branch \-o merge_request.title="[Title]"-o merge_request.description="[Description]"-o merge_request.targe=[target branch name] \..

💽 CICD/Git

[Git] restore, revert, reset

[Git] restore, revert, reset 과거의 커밋에 관하여 실수를 하여 되돌아가고 싶을 때, restore, revert, reset을 사용하면 된다. restore 최근 commit된 상태로 현재 파일의 수정 내역을 되돌린다. git restore 파일명 파일의 특정 커밋 아이디 시점으로 복구한다. git restore --source 커밋아이디 파일명 복구와 관계없이 특정 파일의 staging을 취소한다. git restore --staged 파일명 revert 과거의 어떤 코드의 commit을 취소하고 싶을 때 사용한다. 커밋 아이디에서 일어난 일만 취소한다. (새로운 커밋이 생성되고 해당 아이디의 작업 삭제) git revery 커밋아이디 reset 과거 어떤 코드의 commit으로..

💽 CICD/Git

[Git] 상태(status) 확인하기

[Git] 상태(status) 확인하기 Git에 의해 관리되는 파일들의 상태(status)에 대해 정리해보고자 한다. Tracked, Untracked 워킹 디렉토리의 파일은 크게 Untracked, Tracked의 두 가지 상태로 나뉜다. 파일에 수정이 일어나면 Git이 파일의 변경을 감지하여 Tracked 상태가 된다. 반대로, 파일을 저장 할 필요가 없어 Git이 신경쓰지 않아도 되는 상태를 Untracked 라고한다. 파일을 새로 만들 경우 Untracked 상태가 되며, git add 명령어를 사용하면 git이 파일을 추적하는 상태가 된다. Unmodified, Modified, Staged Tracked 상태의 파일들은 다시 크게 Unmodified, Modified, Staged 로 나뉜다...

💽 CICD/Git

[Git] 특정 브랜치 clone 하기

[Git] 특정 브랜치 clone 하기 브랜치가 여러개일때, 서버에서 git clone을 하면 default 브랜치가 클론된다. 그렇다면 내가 원하는 특정 branch를 clone하기 위해선 어떻게 해야할까? git clone --branch git clone -b 위 명령어를 사용하면 원격저장소에 있는 모든 브랜치를 fetch한 후 원하는 브랜치로 전환된다. 모든 브랜치를 fetch하는 것을 원하지 않으면 다음과 같은 방법을 사용하면 된다. git clone --branch --single-branch git clone --b --single-branch 위 명령어를 사용하면 특정 branch만 fetch한다. 여담으로 특정 파일만 pull을 받아오고싶으면 다음과 같이 사용할 수 있다. git chec..

💽 CICD/Git

[CI/CD] Git hub Action으로 Python 빌드 테스트

[CI/CD] Git hub Action으로 Python 빌드 테스트 Git hub Action에 대한 자세한 설명은 앞선 포스팅을 참고 https://heywantodo.tistory.com/154 [CI/CD] Git hub Action [Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴이다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유한 heywantodo.tistory.com WorkFlow 만들기 당연하지만 Repository가 있어야 한다. 나는 Python Code 테스트를 하는 Workflow를 생성해볼 것이다. repository의 action 탭을 클릭해보면 ..

💽 CICD/Git

[CI/CD] Git hub Action

[Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴이다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유한다. 🔎Github Action의 컴포넌트 리포지토리에서 이벤트가 발생할 때 트리거 되도록 Github 워크 플로우를 구성할 수 있다. 워크플로우에는 하나 이상의 작업이 포함되어있으며, 스크립트를 실행하거나 작업을 실행하는 단계가 있다. WorkFlow 워크플로우는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프로세스다. 워크플로우는 리포지토리의 디렉토리에 정의된다 .github/workflows 위 경로의 저장소에는 각각 다른 작업을 수행할 수 있는 여러개의 워크플로우가 ..

💽 CICD/Git

[Git] 원격 저장소 Commit 취소하기

[Git] 원격 저장소 Commit 취소하기 원격 저장소에 커밋을 push 후 원상 복구하고 싶을땐 다음과 같이 진행 혹시 몰라서 branch를 딴 다음 commit 취소 후 강제 push 1. branch 생성 git checkout -b main #현재 브랜치 확인 git branch 2. 바로 전 커밋 취소 git reset --hard HEAD^ 3. 강제 push git push -f origin master ⚠ 협업을 한다면 주의해서 사용

heywantodo
'💽 CICD/Git' 카테고리의 글 목록 (2 Page)