
로컬 저장소에 매칭되는 원격 저장소의 이름은 같을 수도 다를 수도 있다. 로컬 저장소와 원격 저장소의 브랜치는 매칭되어 있는데 이런 매칭을 트래킹 브랜치(업스트림)가 도와준다. 이런 트래킹 브랜치들은 원격 저장소를 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..
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..

commit 의미 있는 변경 작업들을 저장소에 기록하는 것 git은 변경된 부분만을 추출하여 기록한다. 변경된 내용만을 관리하고, 코드가 변경된 시간에 따라서 저장하는데 이를 commit이라고 한다. commit은 parent commit에 대해 변화된 부분만을 새로운 commit으로 생성하여 시간과 함께 기록한다. index.html 파일을 새로 생성하고 git status를 터미널에 입력했을 때 Untracked files라고 출력된다. 위의 파일은 git의해 변화가 추적되지 않는다. commit을 위해서는 위의 파일이 추적 가능한 상태가 되어야 하고 git add를 통해서 추적 상태로 변경을 할 수 있다. git add로 stage 상태로 파일이 변경되었다. git add를 한 뒤에 git stat..

.gitignore .gitignore 파일을 통해서 개인 정보와 같은 민감한 데이터가 포함되어 repository에 올리고 싶지 않은 파일들을 관리할 수 있다. .gitignore에 포함된 파일이라면 추적 대상에서 제외되며, 작업하고 있는 디렉토리의 최상단에 두어야 한다. 표기법 # 주석을 적을 때 사용하는 기호이다. 위와 같이 파일 이름만 적으면 그 파일은 추적 대상에서 제외가 된다. #로 추적 제외 대상이 무엇인지 기입한다. * *은 모든 문자열이라는 의미에 기호이다. *.class라고 되어 있다면 class 파일을 모두 제외한다. 위의 기호는 glabbing 문자이다. 아래의 사이트에 내용이 정리되어 있다. https://linuxhint.com/bash_globbing_tutorial/ Bash..

Git의 저장공간 working directory: 작업을 하는 공간 stage: 임시로 저장하는 공간 repository: 실제로 저장하여 기록하는 공간 working directory 작업을 하는 공간 로컬 저장소에 접근하여 실제로 파일 생성 및 수정하는 공간 untracked VS tracked git이 모든 파일을 관리한다면 시스템에 부하 가능성이 있다. 따라서 git은 요청받은 파일들만 추적 관리를 한다. git은 tracked 파일과 untracked 파일을 나누어서 추적 관리를 하는데, 이렇게 함으로써 시스템 부하를 줄이고 효율적으로 관리할 수 있다. untracked working directory에 파일이 생성된 직후의 상태 git이 파일을 추적하지 않는 상태 .gitignore에 있는 ..

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for 'github_address' git push를 했을 때 위의 문제가 발생했을 때 해결 방법이다. 에러를 읽어보면 personal access token을 사용하란다. 원래 git push를 하면 Username과..
- Total
- Today
- Yesterday
- Squash and merge
- go 특징
- squash merge
- Python
- git
- pm.expect
- solidity
- mysql
- postman collection
- graphql
- Basic Type
- 주생성자
- java
- 코딩테스트
- python3
- 코틀린
- string
- downTo
- pm.test
- 2차 인터뷰
- hashcode
- Kotlin In Action
- postman
- postman tests
- DGS Framework
- 확장 함수
- github
- 1차 인터뷰
- Kotlin
- 네이버 2022 공채
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |