회사에서도 git 엔터프라이즈 버전을 사용하고 있고, 개인적으로 github도 사용하고 있다. 제대로 clone을 받아서 사용하면 문제가 없는데.. 가끔 계정관련해서 꼬일때가 있다. 예를들면 회사 git의 권한으로 개인 git에 push하려고 한다던지..아래와 같이 ssh key config 파일을 만들어서 쉽게 관리할수 있다. ~/.ssh/config file# 개인 GitHub 계정Host github.com-p HostName github.com User git IdentityFile ~/.ssh/id_rsa# 회사 GitHub 계정Host github.com-c HostName 회사git도메인 User git IdentityFile ~/.ssh/id_rsa_back..
git log 명령어를 사용하여 제외하려는 커밋의 해시 값을 확인합니다. git rebase -i 명령어를 사용하여 인터랙티브 리베이스를 시작합니다. 이제 편집기가 열릴 것입니다. 여기에서 제외하려는 커밋 이전의 모든 커밋은 'pick'으로 남겨두고, 제외하려는 커밋은 'drop'으로 변경합니다. 변경 사항을 저장하고 종료합니다. Git은 이제 인터랙티브 리베이스를 실행하여 제외하려는 커밋을 제거하고 새로운 커밋 히스토리를 만듭니다. 마지막으로, git push --force 명령어를 사용하여 원격 저장소에 변경 사항을 반영합니다. 주의해야 할 점은 --force 옵션을 사용하면 다른 개발자들과 협업하는 경우에는 주의하여 사용해야 합니다. 위의 과정을 수행하면 제외하려는 특정 커밋을 제거할 수 있습니다.
비밀번호를 바꾸고 나서 git에 권한있는 동작을 시도하려고 할때 생기는 오류 로컬 깃에 변경된 비밀번호 반영은 생각보다 훨씬 쉬웠다. 우선 해당 계정을 사용중인 아무 로컬 저장소로 이동하자. 그 후 아래 명령어를 입력하면 Github 인증이 초기화 된다. % git config --unset credential.helper 이제 다시 Push를 진행하면 계정과 비밀번호를 요구할것이다. % git push origin master 새롭게 로그인 후 사용하면 된다.
- local 브런치 일괄삭제 git branch -D $(git branch --list 'feature/*') - 불필요한 remote branch를 일괄삭제하는 방법 (branch 부분을 적당히 변경하면 된다) git branch -r | grep -Eo 'feature/.*' | xargs -I {} git push origin :{} - 삭제한 remote branch와 local branch를 동기화 하려면 아래 명령어 이용 git fetch --all --prune git remote prune origin
merge 혹은 rebase 중 실수로 내가 작업한 파일을 덮어썼을때.. (멘붕..) git reflog --date=iso 로 commit log를 확인하고 롤백한 commit log로 체크아웃 해준 후에 다시 돌려 놓는다.
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.