본문 바로가기

Git

(8)
다른 사람의 repository에 push할 때 403이 떴다면 - git push the requested url returned error: 403 배경 1. 다른 사람이 만들어둔 repository에 push를 하기 위해 권한을 요청 2. repo 소유자가 권한 주었다고 함 3. 작업하고 git push했는데 403 에러가 남 아래 방법들을 하나씩 해보고 다시 push 시도하길 반복 token 재발급, 설정 mac os 기준 참고글 remote url 재설정 git remote set-url origin https://@github.com//.git 대상 repo url 복사하고 user-name(내 GitHub username) 넣고 끝에 .git 붙이기 권한이 있긴 한건지 의심하며 권한 유무를 볼 수 있는 페이지를 찾아 헤메기 이 페이지에서 내가 관여할 수 있는 repo 목록을 확인할 수 있습니다. + 타인의 repo에서 내가 구체적으로 무슨 ..
Git 속이기 - rebase $ git log로 이제껏 남겨둔 commit을 볼 수 있다. branch들이 각기 origin/main에서 언제 분화되어 나오고 거기서 얼마나 멀리, 몇 commit이나 떨어졌는지도 알 수 있다. 이렇게 쌓아둔 commit 중에는 무언가 중요한 변화가 담겨있는 것도 있고, branch를 옮겨다니느라 대충 남긴 것도 있다. 이걸 그대로 merge하면 이 기록이 전부 남는다. 여러 branch를 받아들이는 main의 이력이 특히 엄청 지저분해진다. rebase를 쓰면 이 이력을 원하는 대로 조작할 수 있다. 여러번의 commit을 마치 한 번의 commit에 해낸 것처럼 합쳐 넣을 수 있고, 한참 전에 파생된 branch지만 최신 main의 상태를 따와 만든 것처럼 히스토리를 바꿀 수 있다. 기능이 센 만..
error: src refspec origin does not match any 가능성이 있는 원인 2가지 1. 새로 폴더를 만들어 git init 한 뒤 commit을 한 번도 하지 않았을 때 2. upstream 설정이 안 되었을 때 3. 2를 해결하고자 git이 준 코드를 쳤는데 오타를 냈을 때 내 경우는 2와 3이었다. 어제 한 일 1. Github에는 이미 쓰고 있던 repo가 있음 2. 로컬에 $ mkdir 을 하고 새 파일도 만들어 놓음 3. $ git clone을 하지 않고 기존 repo와 연결하기 위해 이 폴더에서 아래를 실행함 $ git init $ git remote add origin 4. (여긴 기억이 정확하지 않음) 일단 지금 있는 걸 add, commit 해주고 $ git pull로 기존 repo를 당겨옴 5. $ git push를 하고 보니 로컬 브랜치는..
Github 협업 - branch 연습하기 12월 28, 30일에 실행한 git 협업 연습에서는 기초적인 시나리오만 진행했다. 한참 뒤에 쓰는 거라 매 단계를 상세히 작성하기 어려워 뼈대만 남긴다. 이 글에서는 28일 내용을 기록했다. 1. branch를 나누지 않았을 때 어떤 문제가 생기는지 체험 2. branch 나누고 반영하기 3. conflict 해결 연습 준비 * git 강의 하나 정도는 들은 머리 : 에러 메세지 이해를 못하면 곤란하다. * 같이 할 사람 2명 이상 : 세명 이상이면 두명일 때보다 더 많이 연습할 수 있다. * 버려도 되는 github repository(이하 repo) : 날려먹는 건 아니지만 연습장이 필요하다. * 에러가 나도 포기하지 않고 변경 사항을 밀어붙일 마음가짐 : 해결할 수 있으니 타협 금지. 한 개의 r..
GitHub 협업 - 시작하기 Github 협업의 구조를 이해하는 데 도움이 된 링크 1. 초심자를 위한 Github 협업 2. 토이 팀프로젝트 시나리오, 브랜치 전략 읽고 나면 앞으로 어떤 단어를 넣어 구글링해야 될 지 알 수 있다. 내가 github 협업을 처음 시작할 때 어땠는지 주절거릴 셈이라 정보성 내용을 글머리로 밀었다. 원래 3개였는데 최근에 다시 보니까 하나가 사라졌다. 혼자 쓰는 git은 좀 생소해도 별 게 없다. 기초에 대한 유튜브 강의도 많고, 원하는 대로 되지 않을 때는 대개 정해진 순서를 지키지 않아서이다. add, commit, push하는 일련의 과정이 익숙해지고 github desktop이나 사용하는 IDE가 제공하는 GUI의 편리함까지 더하면 그냥 클라우드 같다. 그런데 한 repository(이하 re..
Git - Visual Studio Code에서 git bash 사용하기 강사님이 git bash 대신 vs code를 쓰신다. 이를 따라하고자 여기를 참고해 powershell 대신 bash로 vs code의 터미널을 바꿔보았다. 참고한 게시글이 삼 년도 더 된 글이라 조금 변한 것도 있다. 여러가지로 해보았기 때문에 후반에 시도한 방법의 선수 조건이 먼저 한 방법에서 충족되었을 수도 있다. 편하다고 생각한 방법부터 기록하니, 혹시 이걸 보고 따라하는 사람이 있다면 여러 방법으로 시도해보시길 바란다. 터미널에 bash 치기. 반대로 bash 상태에서는 powershell을 쳐서 돌아올 수 있다. 터미널 우측 위 + 버튼 → Select Default Shell → Git bash ctrl + , → terminal.integrated.shell.windows 입력 → Edi..
Git - Another git process seems to be running in this repository Git을 설치한 뒤 시험 삼아 test.txt 파일이 들어있는 git_tutorial 폴더를 만들었다. add, commit, status 명령어가 어떤 결과를 내는지 요모조모 해보다 전체 파일을 add하는 add . 명령어를 써보기 위해 txt 파일을 하나 더 만들었다. add를 하고 나서야 파일명에 오타가 난 걸 알았다. 파일명을 manually 변경하고 commit을 하려다 -m과 commit message를 잊었더니 처음 보는 화면이 나왔다. 뭘 눌러도 되는 게 없길래 창부터 껐다. (나중에 알고 보니 commit message를 자세하게 남길 수 있는 창이었다. 맨 밑줄에 q!를 입력해 탈출할 수 있다.) 새로 창을 열고 status확인. 수정 이후의 파일명인 test2.txt가 untracke..
Git 설치 Git 강의를 수강하기 시작했다. 학원 휴강 기간이라 시간이 좀 생기기도 했고, 무엇보다 코드 파일 관리가 점점 힘들어져 필요성을 느꼈다. 집에 있는 노트북과 학원에 있는 데스크탑 간의 파일 공유를 구글 드라이브로 하다보니, 파일을 업데이트하고 그 파일을 챙기기가 여간 번거로운게 아니었다. 나는 한 명인데도 컴퓨터를 두 대 쓰면서 1차원적으로 클라우드를 사용하니까 쓸 데 없는 품이 드는 느낌. 여러명이면 이보다 더 일이 많겠다. 그래서, git을 알면 버전 관리도 잘 할 수 있다며? 같은 막연한 생각으로 시작. 가장 먼저 git을 설치한다. 다운로드 페이지 OS에 맞는 파일을 다운받고, exe를 실행한다. Select Components에서 잠깐 멈췄는데, 이럴 때 이미 체크되어 있는 건 광고성인지 아닌..