git remote
: 단축 이름 확인
git remote -v
: 단축이름 + 원격저장소주소
=> 이렇게 원격저장소주소가 단축이름으로 저장되어 있으면, 이후에는 해당 단축이름으로 원격저장소의 내용을 fetch해오거나 로컬 변경사항을 push할 수 있다.
git remote add <단축이름> <url>
단축이름에 내가 원하는 작명 적어도 되고,
그냥 단순히 origin이라고 작성해도 된다.
git push <리모트 저장소 이름> <브랜치 이름>
예) $ git push origin main
보통 $ git push -u ${원격저장소주소} ${브랜치명}
로 작성하는데,
=> -u
옵션은 해당 주소를 기억하라는 의미이다. 한번만 -u 옵션을 사용하면, 그 다음부터는 git push만 입력해도 된다.
예를 들어 https://github.com/~~~~.git
같이 .git으로 끝나는 게 원격저장소주소인데 이걸 매번 작성할 수 없으므로 해당 원격저장소 주소를 단축이름 변수에 저장해놓고(위에서 git remote add <단축이름> <url>
로 하면 된다) 그 다음부터는 그걸 불러오는 방식으로 사용하면 된다.
이렇게 단축이름에 변수로 저장한 저장소들 확인하려면 위에서처럼 git remote -v
로 확인하면 됨.
git remote rename <변경 전 리모트 저장소 이름> <변경 후 리모트 저장소 이름>
git remote remove <삭제할 리모트 저장소 이름>
예를 들어 git remote remove origin
git clone ${원격저장소 주소}
=> 원격저장소 주소는 2가지 HTTPS 형식과 SSH 형식
https://github.com/${USERNAME}/${REPOSITORY_NAME}.git
git@github.com:${USERNAME}/${REPOSITORY_NAME}.git
원격저장소를 가져올 때, -b 혹은 --branch를 사용하면 특정 브랜치나 태그 내용만 가져올 수 있다.
git clone --branch <branchname> <remote-repo-url>
또는 git clone -b <branchname> <remote-repo-url>
시스템에서 파일이나 폴더를 숨김으로 지정할 때 점(.)으로 시작한다.
원격저장소를 효율적으로 쓰기 위해 필요없는 파일은 저장소에 올리지 않아야 한다. 저장소에 올리지 않는 파일은 .gitignore에 작성해주면 된다. 여기에 작성된 파일들은 스테이징되지 않으므로 파일 관리가 편하다.
예를 들어 node_modules 같은 건 package.json에 잘 명시해두고 npm install 입력하면 자동으로 설치하니까 굳이 저장소에 올릴 필요가 없다.
#
를 붙여서 주석을 달 수 있다. 보통은 하나하나 등록하기 보다는 gitignore.io 같은 데서 초기값을 받아와서 추가값을 등록하는 방식으로 사용한다.
[파일명(확장자포함)]
/[파일명(확장자포함)]
[폴더명]/
[특정경로]/[특정파일]
*.js
![예외하고싶은파일]
.gitignore에 작성하지 않아서 실수로 원격저장소에 올렸다면?
다시 .gitignore에 꼼꼼하게 작성하고 저장한 뒤에, git rm -r --cached .
를 입력해서 다시 한번 확인해주는 작업을 거쳐야 한다.
(rm은 remove, r은 recursive => git으로 제거하려는 폴더/파일이 있는데 그 안에 또 뭔가 있을 수 있고 계속 그렇게 들어갈 수 있으므로, 즉 반복적으로 제거하려는 폴더/파일이 계속 있을 수 있으므로)
그러면 rm으로 삭제되었다고도 뜨고, 파일 목록도 D로 delete되었음이 표시된다. 그리고 나서 이제 다시 새로운 버전을 만들고 원격저장소로 push까지 해주면 된다. (add/commit/push)
git rm <삭제할 파일/폴더명>
을 사용하면 로컬, 원격저장소에 있는 게 전부 삭제되는 것이고.
git rm --cached <삭제할 파일/폴더명>
을 사용하면 로컬에는 남아 있지만, 원격저장소에 있는 것만 삭제하는 것이다.
그러므로 git rm -r --cached .
로 원격 저장소에 있는 애들을 전부 삭제하고(로컬에는 남아 있으므로) 그걸 다시 원격저장소로 push 해주면 된다.
2.5 Git의 기초 - 리모트 저장소
Git Clone Branch – How to Clone a Specific Branch
Cloning a repository
git-clone - Clone a repository into a new directory