지금까지 github 으로 push 잘하다가 갑자기 용량에러가 아래와 같이 나왔다..
기존에 로그파일이 있는데 그용량이 매우 커서 그런듯 하다. 

구글링해보니 git lfs 부터 해서 여러가지 해결방법이 있는데

나같은 경우에는 이미 commit 으로 이력이 올라가버렸기 때문에

git lfs 로는 해결할 수 없었다.

그래서 해결방법으로는 commit log를 삭제해주어야 한다.

1.커밋 이력 확인

git log // git log 확인

2. 커밋 내역 삭제

git reset --mixed HEAD^ // 1개 이력 삭제 
git reset --mixed HEAD~5 // 5 이력 삭제

다시 push 하면 파일이 이제 제대로 올라간다.

그런데 이제 대용령 파일을 다시 업로드 하지 않도록 gitignore 에 설정을 해주어야 한다.

3. gitignore 파일

### .gitignore 
logs/

 

나같은 경우 로그파일이 대용량이어서 logs 하위 경로로는 업로드하지 않도록 설정한다.

.gitignore 파일에 배제하고 싶은 파일명을 적었으나 연동되지 않았다.

알아보니 git 에 캐시가 남아있어서라고 한다.

캐시를 지워보자

git rm -r --cached .

 

싹 지우고, 다시 시도한다.

git add . 
git commit -m "소스 코드 수정" 
git push

 

매우 잘됌 ㅎㅎ

제목이 길다.

요약하자면 기존소스를 그대로 사용하고싶어서 다른 Repository에 소스코드를 업로드하자는 것이다.

git clone --mirror [기존 레포지토리 URL]

그러면 하단에 기존레포지토리이름.git 폴더가 생성될 것이다.

글로 들어간다.

cd 기존레포지토리이름.git

이제, 요놈을 설정값을 새로운 레포지토리 이름으로 바꾸어주어야 한다.

git remote set-url --push origin [신규 레포지토리 URL]

 

이제 마지막으로 push!

git push --mirror
 

끝~~

GitHub 에 프로젝트를 올려보자.

  1. 깃헙 페이지에 Repository 만들기

New 버튼 클릭

2. 내용 적용 후 등록

내용 작성 후 하단의 Create repository 버튼을 클릭한다.

3. 정상적으로 등록이 됐으면, 프로젝트로 접근한다. (미리 Git 은 깔아놓자)

git init
git remote add origin git@github.com:[계정명]/[프로젝트명].git
git branch -M main
git push -u origin main

잘 모르겠으면 아래와 같이 깃헙페이지에서 명렁어를 써주니, 보고 따라하자

  1. 신규 저장소 생성

* git 하위 디렉토리 생성, .git 생성 후 그안에서 명령을 실행 가능함

git init
 

2 . 저장소 복제/다운로드

* 원격 서버 저장소 코드 다운로드 /복제

git clone git@github:com:계정명/프로젝트명[repository]

* 로컬 저장소 복제

git clone /로컬/저장소/경로

3. 추가 및 확정(Commit)

* 커밋할 때 단일 파일 변경사항을 포함

git add 파일명

* 커밋할 때 파일 변경사항 한번에 모두 포함

git add -A OR git add .

* 커밋 생성(실제 변경사항 확정)

git commit -m '커밋할 내용'

* 커밋 메시지 생략

git commit -ma

* 깃 파일 상태 확인

git status
 

* 깃 브랜치 목록 보기

git branch
 

4. 깃 변경사항 발행

* 변경사항 원격 서버에 업로드

git push origin master
 

* 새로운 원격 서버 저장소 등록

git remote add origin 원격서버주소
 

* 현재 원격저장소 확인

git remote -v

* 현재 연결되어 있는 원격 저장소 제거

git remote remove origin
 

5. 갱신 및 병합

* 원격 저장소의 변경내용을 현재 디렉토리에 업데이트(Merge)

git pull
 

* 현재 브랜치에 다른 브랜치의 수정사항 병합

git merge 다른브랜치이름
 

* 변경내용 병합전에 바뀐 내용 비교

git diff 브랜치 다른브랜치
 

6. 태깅

* 현재 위치한 브랜치 커밋내용 확인

git log
 

7. Local 저장소 작업

* 로컬 저장소 변경사항을 변경 전으로 reset

git checkout -- 파일명 // 특정파일 git checkout . // 전부

* 원격에 저장된 git project 의 현 상태를 다운로드

git fetch origin
 

 

프로그램 개발 중 코드를 작성하면서 협업을 하는 상황이 매우 자주 발생하는 데,

이 소스 관리를 제대로 하려면 형상 관리 툴을 사용해야 한다.

요즈음 개발자들이 주로 쓰는 GitHub 로 소스를 공유하려면 SSH-Key 를 만들어 허용을 받아야 하므로

만들어보자.

SSH 는 Secure Shell 의 줄임말로, 원격으로 접근할 때 쓰는 보안 프로토콜이다.

비유하자면, 일종의 출입증을 등록하는 절차라고 하겠다.

https://storycompiler.tistory.com/112

상세한 원리와 방식은 위의 자료를 참고하길 바란다.

간단하게 키를 만들어 서버에 접속을 시도해보겠다.

목차

  1. Local 환경 SSH Key 만들기
  2. Git Hub 에 SSH Key 등록하기

1. Local 환경 SSH Key 만들기

일단 현재 ssh key가 있는지 확인해보자.

통상적으로 ssh key는 따로 이름을 설정하지 않을 경우

id_rsa 파일과

id_rsa.pub 파일로 나뉘어진다.

둘의 차이점은 pub 가 붙은 파일은 Public key 즉 공용키이고,

붙지 않은 파일은 private key , 보안이 적용된 키이다.

필자의 경우 있지만 없다고 가정하고 만들어보며,

다른 이름을 부여하여 만들어보자.

ssh key 생성

위를 보면 명령어

ssh-keygen -t rsa -b 4096 -C ohks486@naver.com

으로 작성되어 있다.

-t 옵션으로 암호화 타입을 정할 수 있으며, rsa 는 암호화 방식입니다.

-b 는 생성할 키의 비트수를 정하며, 필자의 경우 4096 비트로 지정했다.

알아보니 rsa타입은 최소 768 비트가 필요하다고 한다.

-C 의 경우 주석을 입력할 수 있으며, 깃헙의 경우 사용자의 로그인ID를 적으라고 가이드한다고 한다.

자 이제 rsa 가 만들어졌으므로,

제대로 만들어졌는지 확인해보자.

인증키 파일 확인

잘 만들어졌다.

이제 이 ssh key가 돌아가고 있는지 확인해보자.

인증키 상태 확인

잘 돌아가고 있다.

이제 이 인증키를 정식으로 등록해보자.

인증키 등록

등록이 잘 됐다.

이제 인증키를 텍스트형식으로 복사하여 사용해보자.

인증키를 텍스트 형식으로 확인한다.

이제 깃헙이나 다른 클라우드에서 ssh key를 등록할 때

저 텍스트 부분을 복사해서 붙여넣으면 되는데,

주의할 점은 제일 첫부분인 ssh-rsa 부터 제일 끝부분까지 전부 복사하여 넣어야 한다는 것이다.

2. Git Hub 에 SSH Key 등록하기

Git Hub 에 로그인에서 자기 프로필을 클릭하면, 다음과 같은 메뉴가 켜지는데

Settings를 클릭한다.

Git Hub SSH and GPG keys

다음과 같이 좌측의 SSH and GPG keys 버튼을 클릭한다.

클릭하고 New SSH key 버튼을 클릭한다.

인증키를 텍스트 형식으로 확인한다.

아까 진행했던 텍스트형식으로 확인한 인증키를

아래 화면에 붙여넣는다.

이런 식으로 키를 첫 부분부터 이메일부분까지 전부 넣어야 한다.(밑에는 짤렸어요 ㅜㅜ)

위 사진은 깃헙에 ssh-key를 넣은 것으로, 정상적으로 등록됬다면

이제 깃의 명령어를 사용해서 깃헙에 있는 소스코드를 내려받거나, 편집 등 수정을 할 수 있다.

막상해보면 별거 아닌데 처음하면 어렵게 느껴진다

혹시 안된다면 절차대로 했는 지 꼭 확인해보자!

+ Recent posts