git 사용법과 협업 Home
git, github과 SourceTree 등 git client 사용법을 정리한 공간입니다.
최근 업데이트
commit & branch/merge
- cherry pick a range of commits and merge into another branch
- git master branch 가 없을 경우
- branch 삭제
- git squash commit
- 이미 커밋된 파일을 ignore 하기
- git init 할때 기본 브랜치명(default branch name)을 main 으로 설정하기
github 주요 기능
- github 에서 릴리스 하는 법
- github 에 project status badge 달기
- ssh port forwarding 을 사용해서 github 빠르게 접속하기
- github 에서 Couldn't agree a key exchange algorithm 에러 발생시 처리법
- 깃헙 마크다운(github markdown) 파일을 로컬에서 볼수있는 grip 패키지
- github 에 이중 인증(two factor authentication, 2FA) 적용해서 보안 강화하기(gitlab, bitbucket 포함)
- github PR(pull request) 을 merge 하지 않고 local 로 받기
- github 에 PR(Pull Request) 시 squash merge 와 rebase merge 를 허용하게 설정하기
- github default 브랜치명을 master 에서 main 으로 변경하기
- bfg-repo-cleaner 로 git repository 에 올린 민감한 정보 삭제하기
- github discussion 기능으로 프로젝트 의사소통하기
- github 에 여러 계정 등록하고 ssh 설정하기
- github 에서 push나 PR(pull request) 할때 issue 연결하기
Git Subsplit 로 소스를 모듈로 분리하기
git 현재 리비전 알아내기
How to see the changes in a commit?
PR(Pull Request)
SourceTree
특정 버전(태그) 다운로드 하기 - Download a specific tag with Git
git 파일이나 폴더 이름 변경 (git rename file or folder)
git archive 를 사용해서 폴더를 .git 제외하고 tar 나 zip 으로 묶기
git troubleshooting
- git 에서 https 로 연결시 "error: Protocol https not supported or disabled in libcurl while accessing https://github.com/" 에러 처리
- How to discard local commits in git - “Your branch is ahead of 'repo/branch' by N commits”?
- git 에서 https repository 연결시 SSL 인증서 오류 해결법
- git pull error: Your local changes to the following files would be overwritten by merge:
- git clone 시 repository URL 이 SSL(https) 일 경우 cloning 실패 해결 방법
- git pull 실패 - You have not concluded your merge (MERGE_HEAD exists)
- git push ERROR: Repository not found 에러 처리
- git clone 시 에러 - fatal: early EOF fatal: index-pack failed
- 터미널에서 git push 시 Gtk-WARNING 에러 발생
.gitignore 를 생성해 주는 gitignore.io
github 의 gist 를 원격에서 수정하고 push 하기
git tips & tricks
- git bare repository 설정 및 다른 프로토콜(HTTP, SSH) 과 연계
- git push/pull 할때 fatal: refusing to merge unrelated histories 문제 해결
- git fetch vs pull
- github 사용법
- gitlab 사용법 및 활용
- git svn 설치
- git tips
- git 수정 이전으로 내용 되돌리기
- git 을 ssh 로 연결시 22번 이 아닌 다른 포트 사용하기
- git add 한것을 commit 전에 취소 - svn revert 와 유사
- git - 빈 디렉터리 add 하기
- git 에 ssh 로 연결시 verbose mode 로 실행하기
- ssh config 설정해서 서버마다 다른 ssh key 사용하기
- git revert - 예전 commit 상태로 되돌리기
- github, gitlab, bitbucket 에 ssh 공개키가 제대로 등록되었는지 확인하는 방법
- git - 여러 개의 원격 저장소(remote repository) 설정하기
- git 원격지 브랜치 삭제(delete remote branch)
- WSL 개발 환경을 위한 git 파일 별로 CR/LF 설정하기
- git 의 기본 commit editor 변경하기
- git 리포지토리에서 추가/삭제된 파일 목록 표시
- git 버전 관리 무시 목록(ignore) 설정법(.gitignore)
- git 서브모듈(submodule) 로 외부 프로젝트 사용하기
- git 으로 쉽게 버전 관리 하기 - Easy Version Control with Git
- git 하위 디렉터리, 폴더만 클론(clone) 하기
- RHEL/CentOS 에 git 2 설치하기
- Windows 에서 git 서버 구축하기(Gitblit + Jetty)
- Windows 용 git server bonobo git server 설치하기
- 서브버전 저장소(subversion repository)를 git 으로 이관하기
- 소스트리(SourceTree)
- 이클립스에 egit 과 subclipse 설치법
- git 에서 CRLF 개행 문자 차이로 인한 문제 해결하기
- SourceTree 에서 git flow 초기화 하기 - git feature branch 가 잘못된 위치에 생길 때 조치
- posh-git 으로 Power shell prompt 에 git 저장소 정보 표시하기
- fedora 에서 bitbucket 에 public key 방식으로 연결 실패