스태시 스태시는 완료되지 않은 작업들을 임시로 저장할 수 있게 도와주는 기능이다. 스태시를 통해서 워킹 디렉토리의 작업을 스택 영역에 임시로 보관할 수 있다. 스태시를 사용하면 마지막 커밋 이후로 작업한 내용은 임시 저장되고 마지막 커밋 상태로 돌아간다. 변경사항이 남아 있을 때 git checkout으로 브랜치를 변경할 수 없다. 변경 작업을 도중 완료되지 않은 상태에서 브랜치를 변경해야 할 때 스태시 기능을 사용하면 된다. 실습 stash - 변경 내용 저장 새로운 브랜치에서 stash.txt라는 파일을 변경한 뒤 변경내용을 저장하지 않고 main 브랜치로 변경할 때 main 브랜치로 변경되지 않고 error가 출력된다. "Please commit your changes or stash them be..
$ brew search tomcat $ brew install tomcat brew search tomcat를 입력하여 원하는 tomcat의 버전이 있는지 확인한다. 8버전의 톰캣을 설치하기 위해 brew install tomcat@8을 입력하여 버전을 지정하여 설치하였다. brew로 설치를 하면 설치한 파일들은 /usr/local/Cellar 디렉토리 아래에 위치하게 된다. cd 명령어를 사용하여 해당 디렉토리로 이동한다. 해당 디렉토리 아래에는 설치했던 tomcat@8이 위치한다. tomcat@8 디렉토리로 이동하고 해당 디렉토리 아래에는 또 상세한 버전의 이름으로 디렉토리가 있다. 그럼 libexec 디렉토리를 찾을 수 있다. 인텔리제이에는 conf가 위치하는 해당 디렉토리까지의 경로를 입력하여야..
새로운 브랜치를 생성하고 git branch -r로 원격 저장소의 브랜치를 출력하면 새로운 브랜치가 보이지 않는다. 따라서 원격 저장소의 정보를 업데이트해줘야 한다. 이때 git fetch 명령어를 사용하면 된다. git fetch를 하고 git branch -r로 원격 저장소의 브랜치들을 출력하면 새로운 브랜치도 출력된다. 로컬 저장소에서 원격 저장소의 브랜치를 가져와서 사용하기 위해서 git checkout -b [로컬 저장소 브랜치명] [원격 저장소 브랜치명]으로 브랜치를 생성해 주었다. 위와 같이 작업을 하고 commit, push를 하면, 원격 저장소의 thirdbranch에 작업 내용이 반영 되는 것을 확인할 수 있다.
로컬 저장소에 매칭되는 원격 저장소의 이름은 같을 수도 다를 수도 있다. 로컬 저장소와 원격 저장소의 브랜치는 매칭되어 있는데 이런 매칭을 트래킹 브랜치(업스트림)가 도와준다. 이런 트래킹 브랜치들은 원격 저장소를 clone할 때 자동으로 설정된다. 위는 작업을 진행할 원격 저장소에 있는 브랜치이다. git brnach -v를 하면 clone한 저장소의 브랜치를 확인할 수 있다. 브랜치 목록을 보면 모든 브랜치를 가져온 것이 아닌 main 브랜치만을 가져온 것을 확인할 수 있다. 원격 저장소의 브랜치 목록을 보기 위해서는 -r 옵션을 주면 된다. 로컬 저장소의 브랜치와 원격 저장소의 브랜치를 모두 확인하고 싶다면 -a 옵션을 주면 된다. 트래킹 브랜치를 모두 확인하고 싶다면 -vv 옵션을 주면 된다. 로..
원격 저장소의 이름과 로컬 저장소의 이름이 일치하지 않을 때 push 하는 방법이다. 위의 이미지를 보면 한 저장소에 main, newbranch 이렇게 2개의 브랜치가 있다. README 파일의 내용을 newbranch에는 new branch라는 내용으로 변경해서 push하려고 한다. README 작업은 main 브랜치에서 이루어졌다. newbranch에 반영하기 위해서 단순히 git push origin main이라고 하면 원격 저장소의 main 브랜치에 반영될것이다. newbranch에 main의 작업을 반영하기 위해서는 "git push 저장소명 작업을한브랜치:push할브랜치" 이렇게 입력을 해주면 된다. 나는 현재 로컬의 main 브랜치에서 작업을 했고, 원격의 newbranch에 push를 하..
git에서 branch 이동은 checkout 명령어를 사용한다. 이 checkout에 대해서 정리하겠다. 배경이 초록색인 것이 현재 브랜치의 이름이다. 처음에는 main 브랜치에 위치해 있다. git branch newbranch 명령어를 통해 newbranch라는 이름의 새로운 브랜치를 생성하고, git checkout newbranch로 newbranch로 이동을 했다. git checkout newbranch를 실행 후 브랜치의 이름이 변경된 것을 확인할 수 있다. 브랜치를 생성함과 동시에 이동하는 것은 git checkout에 b 옵션을 주어 해결할 수 있다. git checkout -b newbranch를 사용하여 새로운 브랜치를 생성함과 동시에 이동했다. 해당 명령어를 실행하면 "new br..
* 맥OS 실습 환경을 기준으로 작성되었습니다. AspectJExpressionPointcut의 객체를 생성하고 setExpression을 통해 expression 설정을 하는데 모두 같은 색상이라 보기 불편하다. 우선 setExpression에서 option + Enter를 누르면 2번째에 [Inject language or reference]가 온다. 이것을 선택하자. 그러면 리스트가 나오는데 리스트에서 [PointcutExpression]을 선택하면 된다. 그럼 이렇게 색상이 적용되어 구분이 한층 구분하기 쉬워진다.
branch는 프로젝트를 독립적으로 관리하는데 도움을 준다. branch를 통해서 기존의 코드와 분리하여 작업을 진행할 수 있다. branch의 특징 가상 폴더: git은 작업 폴더를 복사하는 것이 아닌 가상 폴더를 생성한다. 독립적인 동작: 원본 폴더와 독립적으로 작업을 할 수 있다. 빠른 동작: blob으로 내부를 구조화 하여 브랜치 변경이 빠르다. blob은 파일의 내용이 저장되는 object이다. 브랜치 명령어를 사용하면 commit이 하나 생성되고 branch로 할당한다. 이런 해시 파일을 생성하여 브랜치가 더 빠르게 생성된다. $ git branch 브랜치 목록을 확인할 수 있다. 현재 브랜치 앞에는 *이 붙는다. branch 생성 $ git branch 브랜치명 commitID 브랜치를 생성..
HEAD 포인터는 작업 중인 브랜치의 마지막 commit ID를 가리키는 참조 포인터이다. 작업 중인 브랜치의 마지막 commit ID이기 때문에 브랜치를 이동하면 HEAD 포인트로 변경된다. 이동한 브랜치의 마지막 commit을 바리키게 된다. HEAD를 통한 상대적 위치 HEAD 포인터는 기준점으로 사용된다. HEAD를 기준으로 상대적인 commit 위치를 지정할 수 있다. 이 때 사용되는 기호는 ~이다. HEAD 바로 이전의 commit은 HEAD~로 알 수 있다. HEAD~의 정보를 출력했을 때 HEAD 바로 직전 commit인 19fe로 시작하는 commit이 출력되는 것을 확인할 수 있다. 바로 직전 commit이 아닌 더 전의 commit은 숫자를 지정하면 된다. 2번째 commit은 HEA..
pull pull은 원격 저장소에서 현재 commit 보다 더 최신 commit 정보가 있을 때 내려 받는다. 받은 정보는 stage 영역이 아닌 원격 저장소를 위한 임시 브랜치에 저장한다. 이렇게 내려받은 commit들은 로컬 commit과 비교하여 현재 브랜치와 자동으로 merge한다. pull 명령어를 하더라도 충돌이 발생하여 자동으로 merge가 되지 않을 때가 있다. 이런 경우네는 fetch를 사용한다. fetch fetch는 원격 저장소를 위한 임시 브랜치에 코드를 내려 받는 것은 같다. 하지만 pull처럼 자동으로 commit을 merge하지 않는다. 단순히 commit들만을 가져 오는 것이다. 이 브랜치는 서버명/브랜치명 형태의 이름을 가진다. 이렇게 내려 받은 commit은 git mer..
- Total
- Today
- Yesterday
- Squash and merge
- downTo
- python3
- pm.expect
- 코틀린
- 코딩테스트
- mysql
- hashcode
- Kotlin In Action
- Basic Type
- 확장 함수
- Python
- java
- Kotlin
- solidity
- go 특징
- github
- 2차 인터뷰
- 1차 인터뷰
- 네이버 2022 공채
- git
- 주생성자
- graphql
- postman tests
- DGS Framework
- string
- postman collection
- pm.test
- squash merge
- postman
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |