[Git 사용법] init, clone, 파일삭제, 초기화, url 변경 등

Yura·2021년 12월 2일
0

git / github

목록 보기
3/6
post-thumbnail

학원에서 하던 작업을 집에서 이어서 할 때 매번 옮기는 게 너무 불편했던..ㅠㅠ
그래서 사용하기 시작한 git과 github! 처음엔 github 관리나 git 명령어를 사용하는 게 너무 낯설어서 혼자 시행착오도 많이 겪었지만, 익숙해지니 이전보다 작업환경이 몇 배로 좋아졌다. 😍
아직도 궁금한 것 투성이지만 지금까지 공부한 내용을 정리해보자!

Git 관리팁

  • 맥북 : git은 finder에 숨겨져있으므로 command + shift + .을 눌러 확인하자. git 디렉토리를 눈으로 확인하며 관리할 수 있다.

Git init

보통 프로젝트를 처음 시작할 때 git 저장소를 만들기 위해 사용한다. '초기화'한다는 뜻이지만 내용이 존재하지 않아도 상관없다. git이라는 디렉터리를 빈 저장소로 만들어 준다는 의미로 입력해보자!

	$ git init

여기서 중요!! init을 하기 전에 먼저 git 저장소를 만들 디렉터리로 이동해야 한다. 그리고 나서 status로 현재 git 저장소가 없다는 상태를 확인하자. 그 상태에서 init을 실행한다.

        $ cd <이동할 디렉터리명>
        $ git status (fatal: not a git repository)
        $ git init 

Git clone

local에 github의 저장소를 복제해와 작업하는 것을 clone이라고 한다.
주로 오픈 소스를 개발하거나 이미 진행중인 프로젝트에 참여할 때 사용한다.

	$ git clone <복제해올 url>

저장소를 clone하면 origin remote에 가져온 url이 저장된다. 이후에는 주소지정 없이 origin 명령어로 저장소의 내용을 fetch 또는 push할 수 있다.

마찬가지로 다른 개발자의 오픈소스 프로젝트들을 clone해서 가져올 수 있다..!
(private 저장소는 접근 권한이 없기 때문에 username과 password 필요)

  • shallow clone
    clone시 너무 무거운 프로젝트의 저장소는 여러가지 편집과정이 다 섞여있기 때문에, 최신 수정이 반영된 코드만 복제해 올 경우 shallow clone을 사용한다.
	$ git clone --depth=1 <복제해올 url>
  • 트러블 슈팅
    클론에 실패하는 경우 이런 오류 메세지를 볼 수 있다.
fatal: destination path '저장소명' already exists and is not an empty directory.

이미 해당 저장소 안에 내용이 존재한다는 것! git이 자동으로 레파지토리 이름과 같은 이름에 복제를 시도하기 때문에 이미 클론 이력이 있는 경우 오류가 난다. 이를 해결하기 위해서는 아래와 같이 다른 디렉터리를 지정해 클론을 시도하자.

	$ git clone <복제할 url> <다른 디렉터리명>

Github에 잘못 올린 파일 지우기

  • 레파지토리 및 로컬저장소 파일 삭제
	$ git rm -r <파일/폴더명> 
  • 레파지토리 파일만 삭제
	$ git rm --cached -r <파일/폴더명>
    	(cached는 원격저장소의 폴더/파일을 삭제한다는 명령어)

위의 옵션 중 하나를 선택하여 작성 후 다음 명령어를 추가로 입력해주면 삭제 완료!

        $ git commit -m "commit message"
        $ git push origin master

Repository 초기화 ⭐️

실제로 git이 엉망이되어 repository를 초기화하고 현재 폴더를 재정비한 후 다시 동기화시킬 때 유용하게 사용하였다!!

  1. .git 디렉터리 삭제 / 상태확인
	$ rm -rf .git
        $ git status (fatal: not a git repository)
  1. git 초기화 후 새로운 git 설정
        $ cd <생성할 디렉터리>
        $ git init
        $ git add .
        $ git commit -m "commit message"
  1. github 저장소 연결후 강제 push
        $ git remote add origin <연결할 url>
        $ git push --force --set-upstream origin master 

작업 도중 Github 레파지토리 이름 변경 시 url(경로) 변경해주기

  1. 현재 레파지토리 확인
	$ git remote -v
  1. push, fetch url변경
        $ git remote set-url--push origin <변경할 저장소 주소>
        $ git remote set-url origin <변경할 저장소 주소>
  1. 결과 확인
	$ git remote -v 

이미 push한 마지막 커밋 메시지 변경하기

  1. 원하는 변경 내용을 입력한다.
	$ git commit --amend -m "변경 내용 입력"
  1. 강제 push 하기
	$ git push origin main -f 

이미 push한 폴더명 로컬에서 변경하기

이미 push한 폴더명을 바꾸고 싶다면, 로컬에서 먼저 폴더명을 변경해준 뒤

git mv '이전폴더명' '바꿀폴더명'

라고 작성해주면 간단하게 변경완료!


(... 계속 추가 예정🙏...)

profile
가치와 의미를 쫓는 개발자 되기✨

0개의 댓글