Git (10) 썸네일형 리스트형 [Git]git 기초 1. 새 개발 프로젝트 생성 Android studio에서 새 프로젝트를 생성한다. 2. git 저장소 생성 2.1. github에서 새 레포 생성 2.2. 터미널 열기 2.3. 프로젝트 디렉토리로 이동 cd ${디렉토리 경로} 2.4. git 저장소 생성 git init git add README.md // 또는 git add . git commit -m "first commit" // 메인으로부터 main 브랜치 생성 git branch -M main // 'origin' 이름의 원격 저장소를 등록 git remote add origin ${repository 주소} // git remote add origin // 원격 저장소 연결 확인하기 git remote -v // 내 로컬 저장소(내 컴퓨터).. [Git]repository에서 필요한 하위 디렉토리만 clone(git 2.25 이후) Sparse checkout sparse checkout은 Git 저장소에서 필요한 파일이나 폴더만을 작업 디렉토리로 체크아웃하는 기능을 제공한다. 일반적으로 Git에서 저장소를 클론 하거나 체크아웃하면 저장소의 모든 파일과 폴더가 작업 디렉토리에 다운로드된다. 그러나 대규모 프로젝트의 경우 모든 파일을 체크아웃할 필요가 없는 경우가 많다. 이럴 때 sparse checkout을 사용하여 특정 파일이나 폴더만을 선택적으로 체크아웃하여 작업 디렉토리에 가져올 수 있다. 이를 통해 로컬 저장소의 용량을 절약하고 작업 디렉토리를 정리할 수 있다. Dart 공부를 하면서 하나의 레포지토리 안에 폴더 형식으로 실습 예제들을 관리하고 있다. 필요한 예제 코드만 clone 하기 위해 sparse checkout 기능.. [Git]Github으로 협업(clone, pr, merge, 충돌 해결) 1. 프로젝트 복제참여할 프로젝트를 복사한다. git clone ${원격 저장소 url}// git clone git clone 명령어를 사용하면 자동으로 원격 저장소와 로컬 저장소가 연결된다.이후에는 git pull 명령어로 원격 저장소의 최신 변경 사항을 가져올 수 있다.fork vs cloneFork (포크):포크는 다른 사람의 원격 저장소를 자신의 GitHub 계정으로 복사포크한 프로젝트는 원본 프로젝트와 완전히 독립적으로 유지된다. 즉, 포크한 프로젝트의 변경 사항은 원본에 반영되지 않는다.주로 오픈 소스 프로젝트에 기여하고자 할 때 사용된다. 포크한 프로젝트에서 변경 사항을 만들고, 이를 원본 프로젝트에 Pull Request를 보내어 기여할 수 있다.Clone (클론):클론은 Git 저장소.. [Git]원격 저장소와 로컬 저장소 충돌 시 해결 방법 1. 강제로 덮어 씌우기 1.1. 원격 저장소(origin)의 내용을 로컬 저장소(new_branch)로 가져와 덮어쓰기(강제 pull) 1. 내용을 덮을 브랜치로 이동한다. git switch new_branch 2. 원격 저장소 내용을 덮어씌운다. git reset --hard origin/new_branch 1-2. 로컬 저장소의 내용을 원격 저장소에 가져와 덮어쓰기(강제 push) git push origin +내용을 덮을 원격 저장소 이름 // git push origin +main 해결 방법 2. 변경된 내용만 가져와 병합하기 1. 원격 저장소에서 변경 내용을 fetch git fetch 원격 저장소 이름 // git fetch origin 2. 변경 내용을 로컬 브랜치에 병합 gi.. [GitHub][해결]화살표 폴더 'flutter_study' 폴더 안에 생성한 'mysql_git' 폴더를 잘못 push 했더니 이렇게 화살표 디렉토리가 되어버렸다. 최상위 디렉토리에 .git 파일이 이미 존재하는데 하위 저장소가 된 'mysql_git' 폴더에도 .git 파일이 있기 때문에 생긴 오류이다. 즉, 한 레포지토리 안에 .git 파일이 하나 이상 존재하기 때문이다. 1. .git 파일 제거 ls -al 'mysql_git' 폴더 속의 .git 을 제거해 준다. rm -rf .git 그리고 다시 목록을 확인해보면 .git 이 제거된 것을 확인할 수 있다. ls -al 2. 캐쉬 파일 삭제 git rm --cached . -rf 3. push 진행 그리고 다시 상위 폴더, 'flutter_study'로 올라와서 add, com.. [Git][해결]remote: Invalid username or password. git push 중 만난 에러. Token 유효 기간이 끝나 발생한 에러이다. github 페이지의 우측 팝업 메뉴에서 'setting' 으로 들어간 후, 왼쪽 메뉴 리스트 하단의 'Developer settings' 클릭 Personal access tokens -> Gernerate new token 클릭 원하는 기간을 선택하고 화면 하단의 Generate token 을 클릭해 생성한다. 새로 생성된 token을 복사한다. 터미널에서 다시 push 를 시도한다. $ git push -u origin main 그러면 Username 과 Password를 입력하라고 뜨는데, 이 때, password에 복사한 token을 입력하고 엔터! [Git]Repository 이동(잔디 살리기) 프로젝트 폴더 경로를 수정하려고 새 폴더에 .git을 새로 만들고 github에서는 기존의 repository는 삭제했었다. 그랬더니 해당 프로젝트의 잔디까지 모두 삭제되어버린.. 다행히 난 기존 폴더의 .git을 삭제하지 않았기 때문에 레포지토리를 복구하지 않고 잔디를 살릴 수 있는 기회가 있었다. git init --separate-git-dir=/옮길디렉토리이름/.git . 해당 명령어를 입력해서 잔디 복구 성공! 하지만, 복구된 잔디가 신기해서 클릭해보았는데 잔디가 사라진다.. 마치 신기루마냥 ㅠㅠ 반나절즘 포기하고 있다가 레포지토리 복구를 통해 살려내고 clone, mirror 명령어를 통해 경로를 다시 수정하였다. git clone --mirror [기존 레포지토리 주소] cd [기존 레포지토.. [Git]Github repository 삭제 및 복구 1. Repository 삭제 (레포지토리를 삭제하면 해당 프로젝트의 잔디도 없어진다!) 1.1. 먼저 삭제하려는 프로젝트에 들어간다. 1.2. 상단의 Settings 메뉴를 클릭 1.3. 제일 밑으로 스크롤 하면 Danger Zone이 나타난다. Delete this repository를 클릭한다. 1.4. 계정과 레포지토리를 입력하여 삭제 절차를 계속 진행한다. 2. 삭제한 Repository 복구 2.1. Settings 메뉴 클릭 2.2. 좌측 메뉴 카테고리 중에서 Repositories로 들어간다. 2.3. Deleted repositories를 클릭한다. 2.4. 다음과 같은 화면이 뜨는데, 복구하고자 하는 레포지토리가 보이지 않아도 당황하지 말자. 삭제된 지 얼마 안된 레포지토리라면 뜨지 않.. 이전 1 2 다음