git & github | 레포지토리 복제하기(clone --mirror 에러)
·
git & GitHub
팀과제 리팩토링을 위해 개인레포로 복제했다. $ git clone --mirror {old_repository_url} $ cd {프로젝트명}.git $ git remote set-url --push origin {new_repository_url} $ git push --mirror 그런데 마지막 명령에서 아래처럼 에러가 났다 ! [remote rejected] refs/pull/1/head -> refs/pull/1/head (deny updating a hidden ref) ! [remote rejected] refs/pull/10/head -> refs/pull/10/head (deny updating a hidden ref) ! [remote rejected] refs/pull/11/head -..
git | 추적 중지시키기 git rm --cached -r
·
git & GitHub
깃으로 프로젝트 관리를 하면서 이런 캐시파일들은 깃으로 추적이 되지 않도록 .gitignore에 추가해서 진행하는데 초기세팅을 여러번 하는 과정에서 .gitignore파일이 없는채로 메인에 머지가 됐다. 그래서 해당 폴더의 파일들이 계속 깃으로 추적되고있었는데 캐시파일이라서 쉘만 껐다 켜도 파일이 업데이트돼서 계속 커밋하라고 떴다. 깃은 한번 추적한 파일을 계속 추적하기 때문에 뒤늦게 .gitignore에 추가해도 계속 추적한다. 그래서 untracking작업이 필요한데 그때 쓰는 명령어가 git rm --cached 이다. 파일 추적 중지 git rm --cached git rm --cached 위 명령어는 깃 추적만 삭제하고 파일은 삭제하지 않는다. 폴더 추적 중지 git rm -r --cached ..
git | 취소하기 git reset
·
git & GitHub
# 스테이징(git add) 취소 git reset (파일명) # 커밋만 취소 코드는 그대로 git reset --soft 커밋시점 #커밋로그와 작업내역 모두 되돌리기 git reset --hard 커밋시점 스테이징 취소: git reset 커밋 전 add한 파일을 다시 내리는 명령이다 git reset 파일명 하면 특정 파일에만 적용할 수 있다. 커밋만 취소: git reset --soft 현재 git log: commit f7a2708067b50cc49637f05c10718bac1d0e02a8 (HEAD -> main) Author: Date: Sat Jul 9 18:33:27 2022 +0900 수정2: test.md commit d3728d46660e2e37f2be798238a35e4f0b770d..
git | 실수로 메인에 작업했을때 작업내용 옮기기(main에 커밋 전)
·
git & GitHub
깃을 이용해서 협업을 할때 메인 브랜치는 직접 건드리지 않고 # 로컬 저장소 메인에서 브랜치를 만들어서 작업을 하고 push -> # 리모트 저장소 pr을 보내고 -> 메인에서 머지가 되고 -> # 로컬 저장소 업데이트된 메인을 pull로 받아서 로컬 main도 업데이트 이 작업을 반복하게 된다 그런데 실수로 브랜치를 내지 않고 메인에서 작업을 하다가 이 사실을 뒤늦게 깨달았을 때 메인을 처음으로(마지막 커밋 상태) 되돌리면서 작업 내용을 그대로 옮길 수 있는 방법이 있다. 초기 test.md파일 git stash 아직 커밋하지 않았을때 git stash를 사용하면 마지막 커밋부터 작업한 변경사항을 그대로 들어서 다른 브랜치로 옮길 수 있다. stash를 하면 현재 브랜치는 다시 마지막 커밋 상태로 초기..
GitHub | 원격으로 브랜치 이름 변경(master -> main), 브랜치 삭제
·
git & GitHub
로컬에서 기본 브랜치가 master로 설정돼있어서 커밋하고 깃허브에 master브랜치로 올라간걸 main으로 바꾸고 싶었다 깃허브에 올라가있는 master브랜치명 main으로 바꾸기 git branch -m master main git fetch origin git branch -u origin/main main git remote set-head origin -a (깃허브에서 알려준 방법) 이렇게 쓰면 되는데 나는 잘못된방법 git branch -m main git push -u origin main 이렇게 했다. 이건 아직 깃허브에 push하기전에만 쓰는 방법이다 로컬에서 브랜치 이름만 변경하고 그대로 깃허브에 푸시해버려서 깃허브에 master, main 브랜치 두개가 생겼다. 그래서 깃허브에서 디폴..
git | 기본 브랜치 이름 master-main 변경하는법
·
git & GitHub
이렇게 새롭게 git init을 하면 기본 브랜치명이 master로 나온다 깃허브에서는 master가 노예제를 연상시킨다고 main을 사용하는데 그래서 나도 기본 브랜치를 main으로 바꿔볼거다 노란 글씨로 써진 힌트:에 방법이 다 나와있다. 앞으로 새로 만드는 모든 레포지토리에 적용 git config --global init.defaultBranch 명령을 사용하고 새로운 디렉토리를 만들어서 git init을 했더니 기본 브랜치명이 main으로 나온다. 지금 만든 브랜치이름 변경 git branch -m # main으로 변경할거면 git branch -m main 방금 만든 브랜치는 이렇게 간단하게 변경이 된다. 방금 만든 브랜치는 이 방법으로 변경을 한다. .gitconfig 파일 직접 변경 git..
git & github
·
git & GitHub
VCS (Version Control System) 버전관리시스템 버전관리를 해야하는 이유 버전관리를 파일로 하면 관리가 힘들기 때문이다. 새 버전을 만들때마다 새 파일을 만들어서 과제(최종) 과제(진짜최종) 이렇게 붙여서 관리한다면 누가 언제 어디서 무엇을 어떻게 왜 바꿨는지 알기가 어렵다 내용 변경을 보려면 예전 버전을 찾아서 파일을 직접 열어서 비교해야 알 수 있다. 파일을 계속 만들기 때문에 쓸데없는 용량차지도 하게 된다. 그래서 변경사항을 추적해서 버전관리를 도와주는 vcs를 사용하는 것이 좋다. 깃 (git) vcs중 하나이다. 깃허브 (github) 깃을 사용해서 버전관리한 프로젝트 저장소이자 개발자들의 커뮤니티 로컬에서 작업한 프로젝트를 올려서 관리하게 해주는 호스팅 서비스이다 깃 사용법 ..
깃허브 파일 한번에 삭제하기
·
git & GitHub
홈페이지 고치면서 파일 정리를 했고 쓸모없는 파일들이 생겼다. 11days ago가 마지막 업데이트인 파일들 전부 중복되는 파일이다. (깃을 사용하지 않고 파일을 직접 업로드 했던거라 파일명 변경이나 위치변경이 적용 안돼서 중복파일이 생긴 상태) 깃허브 페이지에서는 파일을 하나하나 지우는 방법밖에 없다고 해서 깃으로 지우는 것을 시도해 봤다. https://github.community/t/how-to-delete-multiples-files-in-github/702 검색을 해보니 git rm -r file1 file2 file3.. 이렇게 삭제할 파일 하나하나 띄어쓰기로 구분해서 계속 입력하면 한번에 삭제가 가능하다고 한다. 삭제할 파일이 10개였지만 .jpg파일들은 한번에 삭제가 가능할 것 같아서 g..
반응형