저는 commit할 때, merge 후 conflict 해결할 때만 IDE에서 작업하고
나머지는 Terminal에서 명령어로 처리합니다.
정리한 명령어들은 필수적으로 사용하는 것 같습니다.
Git 프로젝트 시작
git init : 처음 깃 설정
git clone : 원격 저장소에서 로컬에 복사
git remote add origin [git address] : 원격 저장소 주소를 연결
변경 후 원경 저장소에 업로드
git add * : 모든 변경 파일에 대해 인덱스에 저장
git commit -m "commit description" : 커밋
git push origin [branch name] : 원격 저장소에 없는 경우 원격 저장소에 올리기
git push : 원격 저장소에 업데이트
브랜치 관리
git branch : 로컬 브랜치 리스트
git branch -r : 원격 브랜치 리스트
git branch -a : 모드 브랜치 리스트
git checkout [branch name] : 변경
git checkout -b [branch name] : 만들고 변경
git checkout -t [branch name]
git branch -D [branch name] : 로컬 브랜치 삭제
git push origin :[branch name] : 원격 브랜치 삭제
git merge [branch name] : 현재 브랜치에 지정 브랜치를 합침
브랜치 복구, 변경사항 임시저장
git stash : 하던 작업 임시 저장
git stash pop : 저장했던 작업 복구
git reset --hard [commit key] : 커밋 당시 형상으로 복구
git reset --soft [commit key] : 커밋 당시로 HEAD는 이동하지만 변경 코드는 남아있음
저는 작업 브랜치를 실수해서 다른 브랜치에서 작업하고 커밋한 경우
git reset --soft [전 커밋] 으로 돌아가고
git stash
git checkout [코드가 붙어야할 브랜치]
git stash pop
git commit
이렇게 사용합니다.
원격 저장소에서 받아오기
git pull : 해당 브랜치 변경사항 받아오기
git fetch : 브랜치 정보 업데이트
기타
git tag [tag name] : 중요한 커밋에 태그를 붙여 표시한다.
보통 master branch 에 release branch를 합치고 표시하는 방식으로 쓴다. 아마?
'Common' 카테고리의 다른 글
PorterDuff (0) | 2020.08.18 |
---|---|
암호화와 해시 (0) | 2020.06.19 |
Android Studio/IntelliJ 단축키 (Window) (0) | 2019.08.17 |
시간 표시 (0) | 2019.06.16 |