반응형

Infra/Git 9

[Github] PRO 학생 계정 만료 기간 연장하기

깃허브 측으로부터 [GitHub] Coupon expiration reminder 라는 제목으로 메일이 한 통 도착했다. 2021년 2월부터 약 2년간 학생 계정으로 github PRO 기능 및 github student developer pack을 사용해왔었는데, 이게 2주 후에 만료된다는 메일이었다. 만료되는 시점부터는 월 4달러 씩 빠져나갈 예정이니 downgrade를 하든 학생인증을 별도로 하라는 안내였다. 학생 계정으로 누릴 수 있는 Github Pro의 혜택은 아래와 같다. GitHub Pro In addition to the features available with GitHub Free for personal accounts, GitHub Pro includes: GitHub Support..

Infra/Git 2023.01.23

[Git] git no conflict를 너무 믿지 말자

부제: CI/CD 툴 Jenkins, github actions의 중요성 부제 2: 작업 브랜치에 아무리 충돌날만한 게 없다고 생각되더라도 항상 최신 base branch를 반영해주자 너무나도 당연한 걸 간과해서 오늘 또 삽질을 했다. 일기장처럼 오늘 삽질한 내용에 대해 적어보려 한다. (지나가던 애기가 깔깔깔 배를 잡으면서 웃을만한 정도로 부끄럽고 바보같은 트러블 슈팅이다.) base branch (develop)에 PR을 하나 머지한 후에, 겹치는 부분이 없다고 생각해서 별도로 작업 브랜치 (feature)에는 pull (fetch merge)해주지 않고 이어서 작업한 후에 PR을 날렸다. 좋아, 테스트도 잘 되고, 실행도 잘 되는 걸 확인했다! Build Successful도 확인했다! base 브..

Infra/Git 2022.08.17

[Github] 커밋, PR 공동 작업자로 세팅하기_ Co-authored-by

페어 프로그래밍, 몹 프로그래밍 등으로 공동 작업을 하다보면, 위 사진처럼 커밋을 할 때 공동작업자로 설정해주고 싶을 때가 있다. 어떻게 해주면 되는걸까? Co-authored-by 이용하기 Co-authored-by: {github 핸들명} ex) Co-authored-by: kth990303 바로 위처럼 커밋할 때, body에 co-authored-by를 입력해주면 된다! 커밋 메시지를 적어준 후에, 두 칸 띄운 후 공동작업자를 세팅해주면 된다. 만약 터미널에서 커밋을 한다면 아래처럼 body로 적어줄 부분에 Description을 언급해주고 위 공동작업자를 세팅해주면 된다. git commit -m "Title" -m "Description .........."; 참고로 Squash And Merg..

Infra/Git 2022.07.18

[Git] PR merge 조건을 Git Branch Protection Rule으로 적용해보자

PR을 Merge할 때, 특정 조건을 만족해야 머지가 가능하도록 하는 방법은 없을까? github에서 간단한 설정만 해주면 가능하다! 위 레포에는 최소한 2명 이상의 code reviewer의 approved가 있어야 머지해줄 수 있도록 해주었다. 뿐만 아니라, merge 종류는 squash and merge만 허용해주도록 변경해주었다. 어떻게 설정해준 것일까? Git Settings General 레포지토리의 Settings - General에 들어가서 아래로 쭉 내리면 여러 기능들을 설정할 수 있는 것이 보인다. Feature에서는 Issues, Projects, Discussions를 만들지 말지 결정할 수 있다. 아마 초기 세팅하면 Discussions는 생기지 않을텐데, 여기서 체크표시해주면 r..

Infra/Git 2022.05.06

[Git] PR을 보낼 때엔 main 외의 별도 브랜치 생성 후 보내주자 (feat. git rebase merge 충돌 방지)

알고리즘 초급 스터디, 기업코테 스터디에서 github을 이용하여 코드를 커밋하고 코드리뷰하고 있다. 이 때 나는 스터디원들이 PR을 보낼 때, main 브랜치가 아닌 다른 브랜치를 생성시킨 후, 그 브랜치에서 PR을 보낼 것을 권장하고 있다. 브랜치를 확인해보면 main에서 바로 올리신 것 같아요. 이 경우에, squash and merge가 이루어진 후, 다음 주차 과제를 진행하기 위한 fetch 또는 rebase 과정 중에 충돌이 발생할 수 있을 것 같아요. week9와 같이 브랜치를 새로 생성해서 만드는 건 어떤가요? 물론 로컬 폴더 삭제 후, git clone을 하는 방법이라든지, 별도의 default branch를 생성해두었다면 위 충돌은 겪지 않을 것 같아서 더 좋다고 생각하는 방법으로 진행..

Infra/Git 2022.05.06

[220216][Git] 왕초보 특강_ upstream과 remote, commit, fork, clone에 대하여

우아한테크코스 4기 활동을 한지 일주일이 지났다. git을 이용해서 clone, fetch, commit, push 등을 하고 있긴 하지만, 메뉴얼에 적혀있는대로 환경세팅을 하기 위해 진행해본거라 정확한 의미도 모른 채 기계적으로 명령어를 입력하면서 진행하고 있었기 때문에 git에 대해 아는 것이 너무나도 없었다. 다행히 이번에 Git 특강을 진행했고, 덕분에 궁금증을 조금이나마 해소할 수 있었다! 이번 포스팅을 통해 git과 조금 친해지는 시간을 가져보자. Upstream과 remote가 뭘까? 우선 upstream과 remote의 영단어 뜻부터 보자. upstream: 상류 remote: 원격 remote는 repository를 원격으로 관리할 수 있는 저장소를 의미한다. 우리가 git의 다양한 명령..

Infra/Git 2022.02.16

[220215][Git] 다른 저장소로 PR시, 충돌이 발생한다면? Git rebase와 cherry-pick을 이용해보자

우아한테크코스 미션 2단계 제출을 하려던 도중, 아래 현상이 발생했다. 크흐흑.... PR 날릴 때 충돌이 발생하면, 정말 원인도 찾기 힘들고, 해결하기에도 막막하다. 그동안 git add, push, commit 정도만 사용해왔던 나에게는 더더욱 막막했다. 이런 현상은 왜 발생했을까? 원인 발생한 이유 (** 주의: 정확한 원인이 아닐 수 있습니다. **) 결론부터 말하자면, PR 커밋과 upstream 커밋의 커밋 해시가 달라서이다. 사실 나는 1단계 과정을 거쳐 리팩토링 과정 후 merge됐던 코드와 로컬 코드(2단계를 시작할 때의 내 코드)가 동일했기 때문에, 2단계 시작 전, 따로 github 저장소의 merged된 코드를 fetch + merge하는 과정을 거치지 않았다. 코드가 동일했기 때문..

Infra/Git 2022.02.16

[220210][Git] fetch, merge를 통한 상대 저장소 브랜치 커밋 이력을 내 저장소로 가져오기

우아한테크코스에서 알렉스의 노트북으로 페어 프로그래밍을 진행하면서 알렉스의 저장소에 commit 및 push를 진행하였다. 따라서 미션을 마무리한 후, 알렉스의 저장소 커밋 브랜치를 내 저장소의 브랜치로 가지고 오려고 했다. 그래서 미션 가이드를 참고했는데... 엥? 방법을 안알려줬다ㅋㅋㅋ 가이드에서 이 부분은 각자 해결하라고 과제로 내던져주었다... 다행히 알렉스가 함께 봐주면서 금방 해결할 수 있었는데, 아래 작업을 거치면 된다. 1. git remote add {축약할 이름} {가져올 상대의 저장소} 먼저 리모트에 어떤 저장소를 가져올 것인지 입력해주어야 한다. git remote -v 를 통해 현재 리모트에 어떤 저장소가 입력돼있는지 확인해보면 아마 origin으로 내 저장소만 존재할텐데, 상대의..

Infra/Git 2022.02.10

[NodeJS] Git 설치확인 및 VS Code와 연결

저번에 mongoDB를 이용해 연동한 파일과 git을 연결해보려고 한다. 그러기 위해서는 먼저 git이 설치돼있는지 확인해봐야된다. Git 설치유무 확인 cmd(명령 프롬프트)창을 열고 git --version 을 입력한다. 아래와 같이 버전이 나오면 git이 설치가 돼있는 상태 아니라면 git을 https://git-scm.com/downloads 여기서 다운로드받자. git 연결하기 VS Code를 열고 터미널에 git init을 입력해준다. node_modules와 같은 파일은 git 저장소에 올릴 필요가 없다. 어차피 npm install로 설치가 가능하기 때문. 따라서 .gitignore 파일을 생성해 아래와 같이 node_modules는 git에 올리지 않게 ignore화해주자. 이제 git에..

Infra/Git 2021.06.19
반응형