Programming-[Base]/git 9

github ssh 방식, GPG key와 ssh key unverified 문제, .git config에 대한 이해

git 설정 방식 개념 - 계정 여러개에 대해 설정한 경우 구글링해서 계정 여러 개에 대해서 ssh 방식으로 key값을 등록하는 방법들을 찾을 수 있다. 나의 경우 아래처럼 설정했다. 1. ssh로 접속하는 정보는 ~/.ssh 디렉토리 내에 있다. userA는 개인 계정, userB는 회사계정으로 설정했다. key를 만들고 github에 등록하는 방법은 쉽게 찾을 수 있다. 아래 글을 참고해도 좋다. https://usingu.co.kr/frontend/git/%ED%95%9C-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-github-%EA%B3%84%EC%A0%95-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%..

github ssh 방식, 여러 유저로 login 및 commit

ssh 방식으로 로그인 하다가, git push가 갑자기 작동하지 않아서 블로그에 다시 기록해둔다. ssh 정보 등록 https://velog.io/@ashappyasikonw/GitHub-%EC%97%AC%EB%9F%AC-%EA%B3%84%EC%A0%95%EC%97%90%EC%84%9C-ssh%EB%A1%9C-git-clone-%ED%95%98%EA%B8%B0 위 링크를 참고하면 된다. cd ~/.ssh 위치에 config 파일이 있고, 아래처럼 user를 나눠서(userA, userB)로 ssh 정보를 기록해놓으면 된다. 실제 ssh key 정보는 id_rsa_userA.pub 또는 id_rsa_userB.pub에 있다. Host github.com-userA HostName github.com Us..

[TIL] git reflog: git reset도 잘못하고 merge도 잘못해서 local, remote 모두 엉망일때..

제목 그대로 git reset도 잘못하고 merge도 잘못해서 local, remote 모두에서 내가 했던 작업분을 찾을 수 없는 상황이였다.(거의 삼일치 작업분...) 이 때는 git reflog 명령어를 쳐보면 reset, merge 했던 기록들이 다 남아있다. 참고: https://seosh817.tistory.com/297 다행히도 온갖 reset, revert, commit 기록들이 남아있었다. git reset --hard {원래 commit hash key} 명령으로 작업분들 살릴 수 있었다..

GPG key to github - GNUPG, pinentry 에러 mac M1

Github의 서명이 만료되어 gpg key를 업데이트해야했다. 아래 링크에보면 설명이 잘 나와있다. https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg 정상적으로 gpg key를 만들고 github에 올리는데까지 성공했다. 그리고 git config 명령어를 통해 바뀐 gpg key를 설정까지 해주었으나 그래도 에러들이 발생했다. 나의 경우 pinentry를 설치했는데, 그냥 pinentry는 설정 파일을 바꿔줘도 작동하지 않고 pinentry-mac은 정상작동했다... 다음 명령어를 입력하면 보통 opt/homebrew/bin/pinentry-mac 경로에 설치된다. $ brew install pinentry-mac gpg를 관리하는..

[TIL] git submodule, python setup.py와 pip, Docker CMD Bash shell

1. git submodule 개념과 기본 형식 git submodule로 프로젝트 내에 다른 repository를 삽입하여 따로 형상 관리를 할 수 있다. 관리 요소가 늘긴하지만 병렬적 작업이 가능할 것 같다. .gitmodules 파일을 만들고 아래 양식으로 내용을 써놓는다. [submodule ""] path = url = git@github.com:/.git branch = 또는 tag = 그리고 터미널에서 아래 명령어를 입력하면, 서브모듈이 .gitmodules에서 정의한 branch나 tag를 따라서 update 된다. git submodule update --remote 외부 모듈에서의 관리 외부 모듈에서 해당 모듈의 .py 파일들을 참조하여 사용할 수 있게된다. 외부 모듈 업데이트 시에 내..

Git Commit 취소 : Reset, Revert 개념 이해하기

개요(참조) 참조할 많은 글들이 있다. 요약 정리만 해둔다. Working Directory, Index, HEAD 및 HEAD point, commit에 대한 이해가 없다면 먼저 git 공식 사이트를 보고 원리를 이해하는 것이 좋다. 1. git 공식 사이트 https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0 2. 명령어 모음 https://danidani-de.tistory.com/27 3. reset, revert 비교 https://velog.io/@njs04210/Git-reset%EA%B3%BC-revert-%EC%95%8..

[링크] [TIL] git submodule

Main Project와 Sub Project가 있을 때 Sub Project를 관리하기 위한 Sub repository Main Project와 Sub Project가 있을 때, 보통은 모든 프로젝트를 하나의 git repo.에 저장하지 않는다. Main만 자주 업데이트하고, sub는 업데이트하지 않을 수 있기 때문이다. 그리고 한꺼번에 관리하는 것은 시간 및 네트워크 비용이 클 수 있다. 링크에서 예를 드는 부분은, node 계열의 프로그램을 작성할 때 다른 곳에서 받아오는 라이브러리들은 이름과 버전 정보 등만 pacakage.json에 담아놓고, 실제 파일은 node_modules 폴더에 저장한채로 git에는 올리지 않는다는 내용이다. 상기 작성한 부분 중 Sub Project가 다른 곳에서 받아오..