저는 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

+ Recent posts