git7 git stash, cherry-pick git stash 자신이 어떤 작업을 하던 중에 다른 요청이 들어와 하던 작업을 멈추고 잠시 브랜치를 변경해야 할 일이 있다고 하자. 이때, 아직 완료하지 않은 일을 commit하는 것은 껄끄럽다. 그때 git stash를 사용한다. 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다. git stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다. stash란 아래에 해당하는 파일들을 보관해두는 장소 이다. Modified이면서 Tracked 상태인 파일 Tracked 상태인 파일을 수정한 경우 Tracked: 과거에 이미 commit하여 스냅샷에 넣어진 관리 대상 상태.. git/git 연습 2024. 3. 22. git 롤백, git branch,pull request,fetch,rebase git 롤백 - git revert, reset 커밋을 되돌리기위해 사용하는 명령어는 revert, reset 두가지이다. git reset git reset은 커밋 history 자체를 뒤로 돌린다. ( 돌아갈 커밋으로 되돌린다.) git reset # 커밋 history를 이전으로 되돌린다. 로컬에만 커밋이 머물러 있거나, 원격 저장소에 push를 했어도 나만 사용하는 게 확실한 브랜치라면 reset을 써도 상관없다. 하지만 다른 사람들과 공유하고 있는 브랜치라면 서로의 커밋 history가 달라지기 때문에 서로를 위해서도 하지 않는 게 좋다. 원격 저장소에 올라간 커밋을 reset 하면? 원격 저장소에 올라간 커밋을 되돌리면 원격 저장소와 로컬 저장소의 커밋 history가 다르기 때문에 push .. git/git 연습 2024. 3. 13. 1 - Git 기초 Git Init - git 저장소 생성하기 Git으로 버전 관리를 하고 싶은 디렉토리로 이동 후 git 저장소를 생성해준다. cd 경로명 원하는 디렉토리로 이동 후 git status 명령어를 통해 현재 위치에 이미 Git저장소가 생성되어있는지 확인합니다. git status git init git init 명령어를 실행하면, 현재 디렉토리를 기준으로 Git 저장소가 생성됩니다. 다시한번 git status를 해보면 git remote 방금 생성한 로컬 git 저장소를 github의 원격 저장소(리포지토리)와 연결하고 싶을때 사용하는 명령어 github에 리포지토리 생성후 Code 버튼을 눌러서 HTTPS의 링크를 복사해줍니다. git remote add 별칭 복사한url 위의 방법 혹은 git remo.. git/git 연습 2024. 3. 6. git)submodule (서브모듈) 서브모듈 개념, 사용방법 실습 (서브모듈 추가) private으로 서브모듈저장소를 만들었고 그안에 application-dev.yml을 추가하였다. 이제 상위 레포지토리로가서 해당 리포지토리를 서브모듈로 지정한다. (꼭 상위레포지토리 위치로 이동해서 작업해야한다) git submodule add 서브모듈주소 추가할위치 명령어를 사용하기전 현재 디렉토리위치가 어디인지 잘 체크해야한다. 프로젝트 최상위 위치에서 다음과 같은 위치로 폴더를 추가해 서브모듈의 파일들을 저장해주었다. config라는 폴더가 생성되면서 서브모듈리포지토리에 있던 파일이 생긴것을 확인할 수 있었다. 추가로 처음생성하면 .gitsubmodules라는 파일이 생기고, 그안에 서브모듈의 정보가 저장된다. 그리고 commit 후 push를 해.. git 2023. 1. 29. git] subtree 만들기 , 오류 해결(fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.) [틀린내용이 있을 수 있습니다.] 1. 부모 리포지토리를 생성해준다. 부모 리포지토리안에 자식 리포지토리를 저장해서 폴더형식으로 구성할것이다. study-inflearn-springMVC1이 부모 리포지토리이다. 2. 자식 리포지토리 생성해준다. 부모 리포지토리에 들어갈 자식 리포지토리를 생성한다. study-inflearn-springMVC1-project1이 자식 리포지토리 study-inflearn-springMVC1-project2 또한 자식 리포지토리이다. 3. 부모리포지토리를 생성했을시 아무파일도 없는 상태일것이다. 3-1. 부모 리포지토리를 clone한다. GitBash 프로그램을 키고, clone된 리포지토리가 저장되길 바라는 위치로 이동후 git clone 부모리포지토리깃주소 를 해준다... git 2023. 1. 19. git)로컬저장소를 원격저장소의 파일들로 강제로 덮어쓰기하는법(fetch,reset --hard) 원격저장소의 내용을 로컬에 덮어쓰기하고싶을때가있다. [EC2에서 우분투서버를 운영할때 원격저장소에 최신화된 Springboot 프로젝트를 맨처음 가져올때 사용했다.] 로컬저장소의 커밋기록들과 원격저장소의 커밋기록들이 다르면 다음과 같은 오류가 발생하는데 아예 원격저장소의 내용과 커밋기록을 따르고 싶을때 다음과 같이 수행한다. 1. git fetch origni(원격저장소연결할때 설정한 이름) // git fetch --all 은 모든 원격저장소에 관한 변경사항을 가져온다. 2. git reset --hard origin/브런치명 // 해당 브런치의 최신커밋기록을 따라간다. -> 해당 브런치의 최신버전을 로컬에 적용한다. 주의할점 내 로컬파일과 원격저장소 파일을 비교해서 겹쳐지는 부분만 덮어쓰기하는게 아니.. git 2022. 10. 9. git ignore 파일 적용하기 [미완] .gitignore에 파일을 추가하고 .gitignore만 push해서 최신화시켜준다. 만약 그 파일이 이미 원격리포지토리에 올라가있을때 git저장소에 git ignore 다시적용 git rm -r --cached . -r -> 폴더아래 파일이있을시 하위파일까지 삭제 --cached -> 원격저장소에있는 파일만 삭제하고 , 로컬에서는 삭제하지않는다. . -> 모든파일에 적용 git add . git commit -m "message" git push origin 브런치명 [Git] .gitignore 다시 적용 시키기 프로젝트를 진행하면서 .gitignore 파일을 나중에 추가하였거나, 초반에 잘못 작성하여 수정하여 다시 적용시키게 되는 경우가 종종 발생합니다. 이러한 상황에서 .gitignore 를 다.. git 2022. 10. 6. 이전 1 다음