학원에서 하던 작업을 집에서 이어서 할 때 매번 옮기는 게 너무 불편했던..ㅠㅠ
그래서 사용하기 시작한 git과 github! 처음엔 github 관리나 git 명령어를 사용하는 게 너무 낯설어서 혼자 시행착오도 많이 겪었지만, 익숙해지니 이전보다 작업환경이 몇 배로 좋아졌다. 😍
아직도 궁금한 것 투성이지만 지금까지 공부한 내용을 정리해보자!
command + shift + .
을 눌러 확인하자. git 디렉토리를 눈으로 확인하며 관리할 수 있다. 보통 프로젝트를 처음 시작할 때 git 저장소를 만들기 위해 사용한다. '초기화'한다는 뜻이지만 내용이 존재하지 않아도 상관없다. git이라는 디렉터리를 빈 저장소로 만들어 준다는 의미로 입력해보자!
$ git init
여기서 중요!! init을 하기 전에 먼저 git 저장소를 만들 디렉터리로 이동해야 한다. 그리고 나서 status로 현재 git 저장소가 없다는 상태를 확인하자. 그 상태에서 init을 실행한다.
$ cd <이동할 디렉터리명>
$ git status (fatal: not a git repository)
$ git init
local에 github의 저장소를 복제해와 작업하는 것을 clone이라고 한다.
주로 오픈 소스를 개발하거나 이미 진행중인 프로젝트에 참여할 때 사용한다.
$ git clone <복제해올 url>
저장소를 clone하면 origin remote에 가져온 url이 저장된다. 이후에는 주소지정 없이 origin 명령어로 저장소의 내용을 fetch 또는 push할 수 있다.
마찬가지로 다른 개발자의 오픈소스 프로젝트들을 clone해서 가져올 수 있다..!
(private 저장소는 접근 권한이 없기 때문에 username과 password 필요)
$ git clone --depth=1 <복제해올 url>
fatal: destination path '저장소명' already exists and is not an empty directory.
이미 해당 저장소 안에 내용이 존재한다는 것! git이 자동으로 레파지토리 이름과 같은 이름에 복제를 시도하기 때문에 이미 클론 이력이 있는 경우 오류가 난다. 이를 해결하기 위해서는 아래와 같이 다른 디렉터리를 지정해 클론을 시도하자.
$ git clone <복제할 url> <다른 디렉터리명>
$ git rm -r <파일/폴더명>
$ git rm --cached -r <파일/폴더명>
(cached는 원격저장소의 폴더/파일을 삭제한다는 명령어)
위의 옵션 중 하나를 선택하여 작성 후 다음 명령어를 추가로 입력해주면 삭제 완료!
$ git commit -m "commit message"
$ git push origin master
실제로 git이 엉망이되어 repository를 초기화하고 현재 폴더를 재정비한 후 다시 동기화시킬 때 유용하게 사용하였다!!
$ rm -rf .git
$ git status (fatal: not a git repository)
$ cd <생성할 디렉터리>
$ git init
$ git add .
$ git commit -m "commit message"
$ git remote add origin <연결할 url>
$ git push --force --set-upstream origin master
$ git remote -v
$ git remote set-url--push origin <변경할 저장소 주소>
$ git remote set-url origin <변경할 저장소 주소>
$ git remote -v
$ git commit --amend -m "변경 내용 입력"
$ git push origin main -f
이미 push한 폴더명을 바꾸고 싶다면, 로컬에서 먼저 폴더명을 변경해준 뒤
git mv '이전폴더명' '바꿀폴더명'
라고 작성해주면 간단하게 변경완료!
(... 계속 추가 예정🙏...)