기타/git

· 기타/git
제목 그대로 서로 다른 2개의 repository 를 합쳐보자. 1. Base repository 열기 우선, 베이스 레포지토리를 연다. 2. 합칠 원격 repository를 추가한다. 3. Fetch from target repository 4. Integration 전용 branch 생성 그냥 베이스 브랜치에서 checkout 해도 된다. 5. Merge & Resolve conflict ⚠️ 서로 다른 저장소의 커밋 히스토리를 합치려(merge)하므로 에러가 발생한다. --allow-unrelated-histories 옵션을 주면 해결할 수 있다. 대부분 merge 하고나면 CONFLICT 에러가 발생할텐데 여기서는 수작업 하는 수 밖에 없다. 6. git push 이정도는 할 줄 알잖아? 7. 이..
· 기타/git
🔒 문제 상황 다른 컴퓨터에서 버전 관리 작업을 하다가 이런 식으로 user.name, user.email 을 설정하지 않은 채 commit을 해버리는 경우가 있다. 🔑 해결 방법 1. Interactive Rebase # 여기서의 COMMIT-HASH 는 # 내가 변경하고자 하는 커밋 이력의 '전' COMMIT 이어야한다. $ git rebase -i [COMMIT-HASH] 여기서는 'b19d6cc', 'aca3ccd' 의 commit 이력을 변경하고 싶다면 그 이전인 'c4f4bba' 로 rebase 해야한다. 2. edit 변경 대상 commit rebase -i 이때 commit 해시 앞에 'pick' 이 기본적으로 붙어있는데 'edit' 으로 변경해주면 해당 commit을 변경할 수 있다. 3..
· 기타/git
🔒 문제 상황 git push를 하려니 (non-fast-forward) 에러 메시지가 나왔다. 아래와 같은 메시지를 봤다면 이 글을 잘 찾아왔다. "Push was rejected, and update failed with an error" error: failed to push some refs to [git-repository-url] hint: Updates were rejected because the tip of your current branch is behind 직역하면 현재 당신의 브랜치 일부가 origin 브랜치의 뒤에 와있다는 뜻이다. 상세하게 분석해보기 위해 sourcetree 를 살펴봤다. 💡 아이디어 해결 방안 1. push --force ❌ 이전 포스트에서 본 것처럼 그냥 $ ..
· 기타/git
🎯 Goals Merge 와 Rebase 의 차이점을 안다. 결론 왠만하면 merge 써라, commit 히스토리를 유지할 수 있다. ⚠️ Merge request 중에서도 'squash' 는 단 하나의 Merge request (Pull Requset) 이력만 남기고 나머지는 사라지게한다. Merge & Pull Request 별도의 병합 히스토리 커밋을 생성한다. 리뷰, 테스트 등을 제공하여 "여기가 이어지는 커밋이에요!" 라는 이력을 남긴다. Rebase 별도의 병합 히스토리 커밋 없이 곧바로 깔끔하게 이어붙이기 하는 용도다. 리뷰, 테스트 등이 필요하지 않게 일관된 히스토리를 유지할 수 있다. Why to use 깨끗한 커밋 히스토리 정리 Merge 커밋이 생성되지 않는다. When to use ..
· 기타/git
Git 을 사용할 때 더 이상 아이디 (이메일), 패스워드를 입력하지마세요. 'Access Token' 이나 'OAuth' 를 사용하세요. 🎯 Goal commit 시 필요한 계정 정보를 올바르게 입력할 수 있다. config 의 우선순위를 알고 실컷 짜놓은 코드가 남의 명의(Author) 로 커밋되는 불상사를 방지한다. 현재 설정된 Config 확인 Command git config --list git config -l System 설정 확인시 --system Global 설정 확인시 --global Local 설정 확인시 --local 모든 설정 확인시 추가인자 X 계정 정보 입력 user.name user.email 요놈들을 올바르게 설정해야한다. 다른 컴퓨터에서 작업하는 경우 특히 우선순위가 높은..
· 기타/git
🎯 Goal 프로젝트 라이브러리에 존재하는 보안 취약성을 해결할 수 있다. npm의 모든 패키지를 간단하게 최신화하는 방법을 안다. ⚠️ 문제 상황 github로 부터 자꾸 gmail 로 메일이 날아왔다. 6개월 전에 배포해놓은 프로젝트에 대해 경고 알림을 보내왔는데 "에이 뭐 문제있겠어?" 하다가 자꾸 알림오는게 짜증나서라도 대체 뭔가? 하고 살펴봤다. lodash 라이브러리 구버전에서 Command injection 취약점이 발견되었다. 문제와 해결방안을 한줄로 정의해보겠다. "네가 쓰고 있는 라이브러리 구버전에서 취약점이 발견되었으니, 최신버전으로 업데이트해!" CVE (Common Vulnerabilities and Exposures) 공개적으로 알려진 보안 취약성 기업과 기관이 보안 강화에 사용..
M_Falcon
'기타/git' 카테고리의 글 목록 (2 Page)