GIT(47)
-
[GIT] 워킹 디렉토리 청소
개발하는 과정에서 컴파일 등 임시로 생성되는 파일들이 생긴다. 이 파일들은 .gitignore 목록에 넣어 관리할 수도 있지만 반복해서 불필요하게 생성되는 파일들은 귀찮다. 이 때 clean 명령어를 사용하면 워킹 디렉토리에 있는 추적되지 않는 파일들을 찾아 삭제한다. clean 명령어를 사용할 때 주의할 점으로는 워킹 디렉토리의 추적되지 않는 모든 파일을 삭제하는 것이다. $ git clean -f : 강제로 삭제하는 옵션이다. -n : 잘못 삭제하는 것을 방지하고자 파일을 가상으로 미리 처리하고 사용자에게 확인을 요청한다. -d : untracked 상태의 파일만 삭제한다. -x : .gitignore 파일에 등록한 파일 삭제
2022.08.08 -
[GIT] 스태시
작업 브랜치를 변경하려면 워킹 디렉토리는 깨끗한 상태로 정리되어 있어야한다. 워킹 디렉토리에 작업 중인 내용이나 커밋되지 않은 변경 사항들이 있으면 브랜치를 변경할 수 없다. 현재 작업 중인 코드 수정이 끝나지 않은 채로 다른 브랜치에 있는 코드를 수정하려고 한다면 스테시 기능을 사용해야 한다. 스테시 기능 깃은 완료되지 않은 작업이 남아 있을 때 현재 작업을 임시로 저장할 수 있는 기능이다. 스태시는 현재 워킹 디렉토리 내역을 별도의 스택 영역에 잠시 보관하는 명령이다. 스태시 명령을 실행하면 현재 작업 중인 내용은 임시 저장되고 수정 전 마지막 커밋 상태로 돌아간다. 이전 커밋 후 작업하지 않은 생태의 워킹 디렉토리가 된다. 스테시는 로컬 저장소에서만 사용 가능하다. 기존 작업 도중에 새로운 변경 요..
2022.08.08 -
[GIT] 브랜치 삭제
생성된 브랜치를 삭제하는 것은 쉽다. 하지만 브랜치를 삭제하는 것은 해당 브랜치 내용과 커밋을 모두 삭제하는 것이다. 브랜치 삭제는 스테이지 상태에 따라 달라진다. 현재 자신이 있는 브랜치는 삭제할 수 없다. 일반적인 삭제방법 $ git branch -d 브랜치이름 -d 옵션은 스테이지 상태가 깨끗할 때만 삭제를 허용한다. 워킹 디렉토리에 작업한 기록이 있거나 add 명령어로 스테이지 인덱스가 변경된 상태라면 삭제하지 않는다. 또 병합되지 않은 브랜치는 -d 옵션으로 삭제할 수 없다. 강제로 삭제하는 방법 워킹 디렉토리 또는 스테이지에 추가 커밋 작업이 남아 있을 때 삭제하려면 강제로 삭제해야 한다. 병합되지 않아서 삭제할 수 없다고 한다. 대문자 -D 옵션을 사용하면 강제로 브랜치를 삭제할 수 있다. ..
2022.08.05 -
[GIT] 브랜치 전송
브랜치 푸시 깃의 push 작업은 로컬 저장소의 파일들을 원격 저장소로 전송한다. 파일뿐만 아니라 브랜치 정보와 커밋까지 모두 전송한다. 처음으로 로컬 저장소에 새로운 원격 저장소가 등록되면 push 명령어를 사용할 때 오류 메시지가 출력된다. 깃이 원격 저장소 어느 브랜치에 푸시해야할지 모르기 때문이다. 원격 저장소 등록만으로는 업스트림이 자동으로 설정되지 않는다. 현재 브랜치에서 원격 저장소 origin 서버의 master 브랜치로 업스트림 설정하려면 $ git push --set-upstream 원격저장소 master 로컬 저장소의 브랜치마다 원격 저장소의 어떤 브랜치에 푸쉬할지 업스트림 설정을 해야한다. ※ 처음 로컬 저장소가 원격 저장소에 연결되면 아이디와 패스워드를 묻는다. 아이디와 패스워드를..
2022.08.05 -
[GIT] 원격 브랜치
브랜치를 이용하여 협업할 수 있다. 리모트 브랜치 저장소는 각자의 고유한 브랜치를 생성하고 관리한다. 원격 저장소에 생성한 브랜치를 리모트 브랜치라 한다. 로컬 저장소에 생성한 브랜치는 원격 저장소로 공유할 수 있다. 원격 저장소와 연결된 로컬 저장소에서 새로운 브랜치를 생성한다고 해서 자동으로 원격 저장소에도 브랜치가 생성되는 것이 아니다. 또 원격 저장소에 등록된 브랜치가 자동으로 로컬 저장소를 만들지도 않는다. 별도로 명령어를 실행하여 저장소를 동기화해야 한다. 원격 저장소와 로컬 저장소의 브랜치 이름이 보통 같지만 일치하지 않아도 된다. 리모트 브랜치는 보통 별칭/브랜치이름 형태이다. 추적 브랜치 깃의 브랜치는 특정 커밋 해시값을 가리키는 포인터다. 추적 브랜치는 리모트 브랜치의 마지막 커밋 해시..
2022.08.05 -
[GIT] 브랜치 생성과 이동 동시에 하기
브랜치를 생성하면서 동시에 생성된 브랜치로 이동하려면 별도의 명령어가 필요하다. 자동 이동 옵션 브랜치 생성과 이동 명령을 따로 두 번씩 입력하는 것은 불편하다. 깃은 브랜치 생성과 이동 명령을 한 번에 처리하는 옵션을 제공한다. checkout 할 때 -b 옵션을 같이 사용하면 브랜치 생성과 이동을 한 번에 할 수 있다. $ git checkout -b 브랜치이름 브랜치 생성만 했기 때문에 master HEAD와 같은 커밋을 가리킨다. 커밋 이동 브랜치를 생성할 때 커밋 해시 값을 지정한 별칭으로 브랜치 목록에 등록한다. 즉, 브랜치 이름은 커밋 해시키와 동일하다. 따라서 브랜치로 이동할 때 꼭 브랜치 이름만 사용할 필요는 없고 커밋 해시키를 사용하여 checkout을 할 수 있다. $ git chec..
2022.08.03