[Git] 실수로 삭제한 Branch 복구하기!
·
Git,GitHub
실수로 삭제한 Branch를 복구하는 방법에 대해서 알아보자! 이 방법을 작성하게된 이유는..A 작업을 진행하던 중 우선순위가 더 높은 업무가 생겨 진행하고 있던 A작업 업무를 중단하고 우선순위가 높은 B 업무를 먼저 진행했다.작업 일정이 좀 길어서 작업하다가 브랜치가 많이 쌓여있어 삭제를 했고 A작업을 다시하려고 기록을 찾아보니 브랜치를 삭제해버렸다. A 작업을 생각보다 좀 진행했어서 브랜치를 살려야 겠다는 마음에 구글링을 했고, 살릴 수 있는 방법이 있어 복구에 성공!!그 방법을 기록해보려고 한다.일단 터미널에서 git reflog 명령을 이용하여 최근 작업내용들을 모두 확인해야 한다.git reflog  위와 같이 명령어를 입력하면 아래 이미지처럼 커밋 내역과 헤드번호가 나온다.  자신이 살려야 하..
[GitHub] 하나의 리포지토리에 여러 프로젝트 올리기 (+ github permission denied 해결하기)
·
Git,GitHub
인프런 강의를 듣다보니 한 강사님의 강의를 들으며 코드를 각각 리포지토리에 올리기보다 부모 리포지토리 안에 자식으로 넣고싶다는 생각이 들어 방법을 찾아서 적용해보고 해당 내용을 정리하게 되었다. 필자가 적용한 OS는 Mac이다!Windows여도 방법은 크게 다르지 않지만 gitBash를 사용해야 한다는 점만 참고하면 좋을 거 같다. 1. GitHub에 부모로 사용할 리포지토리를 만들기최상위로 관리할 폴더를 만들어야 아래 원하는 프로젝트를 넣을 수 있으니기 깃헙에 가서 부모 리포지토리를 하나 만들자이 때는 아무것도 추가하지 말고 빈 리포지토리여야 수월하게 작업할 수 있다. 2. 만든 부모리포지토리를 본인 PC에 Clone하기원하는 경로로 이동하여 gitHub에서 제공하는 HTTPS 경로를 넣거나 또는 gi..
[Git] 기존 Project에 버전 관리에 포함되어 있는 파일 명령어로 삭제
·
Git,GitHub
이미 기존 Project에 버전 관리에 포함되어 있는 파일들은 수동으로 삭제 해줘야 한다. 이경우에는 아래의 명령어를 사용한다. $ git rm -r --cached . $ git add . $ git commit -m "fixed untracked files" GitHub에는git push를 해주면 적용 완료!
[GitHub] GitHub_#2
·
Git,GitHub
- 로컬에서 브랜치를 만들어 원격에 push하기 VS code에서 git branch 명령어로 브랜치를 생성 후 switch 한 다음 git push를 하면 다음과 같은 메시지가 뜬다. 이 메시지는 즉, 내가 생성한 브랜치를 원격 어떤 장소에 저장해야 하는지 모르겠다는 뜻으로 만약 origin에 추가할 것이라면 보여지는 명령어를 실행시키면 된다. 아니면 git push -u origin from-local 명령어를 사용해도 된다. (upstream을 축약하여 u라고만 사용) 위의 명령어를 실행시킨 뒤 깃허브에서 확인을 해보면 브랜치가 생성된 것을 확인할 수 있다. 깃허브에서 from-local 브랜치에 하나의 파일을 수정하면 잘 되는 것을 확인할 수 있다. 로컬에서 브랜치를 확인하기 위해서는 git br..
[GitHub] GitHub_#1
·
Git,GitHub
- GitHub에 원격 저장소 추가 후 푸시하기 깃헙에서 레퍼지토리를 생성 후 HTTPS 프로토콜을 사용하여 기존에 있던 디렉토리를 올려보자 레포지토리를 생성 후 HTTPS 프로토콜을 선택하면 코드를 복사하는 곳이 2개가 생긴다. 맨 마지막에 있는 코드를 복사해서 붙여넣기 후 실행하면 레퍼지토리에 디렉토리에서 커밋한 모든 것들이 업로드 되는 것을 확인할 수 있다. git remote add origin (원격 저장소 주소) 로컬의 Git 저장소에 원격 저장소로의 연결 추가 원격 저장소 이름에 흔히 origin 사용. 다른 것으로 수정 가능 git branch -M main GitHub 권장 - 기본 브랜치명을 main으로 git push -u origin main 로컬 저장소의 커밋 내역들 원격으로 pu..
[Git] Git_#3
·
Git,GitHub
Branch 란? - Branch : 분기된 가지(다른 차원) - 프로젝트를 하나 이상의 모습으로 관리해야 할 때 예) 실배포용, 테스트서버용, 새로운 시도용 - 여러 작업들이 각각 독립되어 진행될 때 예) 신기능 1, 신기능 2, 코드개선, 긴급수정... 각각의 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합 브랜치 생성하기 git branch 브랜치명 브랜치 확인하기 git branch 현재 디렉토리 앞에는 * 붙어있음 브랜치로 이동하기 git switch 브랜치명 메인으로 이동할 때는 git switch main 명령어 실행 예시) 브랜치 생성과 동시에 이동하기 git switch -c 브랜치명 예시) 브랜치 삭제하기 git branch -d 삭제할 브랜치에 다른 브랜치로 적용되지 않은 내용의 커..
[Git] Git_#2
·
Git,GitHub
- No commits yet : 아직 커밋한 적이 없다. - Untracked files : 추적하지 않는(untracked) 파일: Git의 관리에 들어간 적 없는 파일 [하나의 파일을 버전에 담기] git add tigers.yaml 명령어를 입력 후 실행하면(git add 파일명.확장자) tigers.yaml 파일의 색깔과 모양이 달라진 것을 볼 수 있다. 이 상태로 git status 명령어를 실행하면 Untracked files에서 tigers.yaml 파일이 Changes to be committed라는 메시지가 보이면서 new file로 넘어온 것을 확인할 수 있다. [모든 파일을 하나의 버전에 담기] git add . 명령어로 디렉토리에 있는 모든 파일을 버전에 담을 준비를 해준다. [버..
[Git] Git_#1
·
Git,GitHub
1. git bash에서 user.name과 user.emali 설정하기 설정하는 이유? - 어떤 사람이 어떤 작업을 했는지 알기 위해서(github 계정과는 별개) git config --global user.name "(본인 이름)" git config --global user.email "(본인 이메일)" 위의 명령어로 설정 후 아래 명령어로 설정이 되었는지 확인할 수 있다. git config --global user.name git config --global user.email 2. git init 프로젝트를 시작하고 소스 코드를 Git으로 관리하고자 한다면 먼저 git init으로 저장소를 초기화해야한다. 사용법은 저장소로 사용하고자 하는 디렉터리로 이동한 다음 git init을 인자없이 실..