일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- reactive
- html
- VCS
- libuv
- NoSQL
- 데이터통신
- git
- network
- ajax
- mongodb
- effective
- cache
- socket
- Elk
- redis
- Linux
- Java
- Lombok
- mybatis
- github
- reactor
- Static
- r
- spring
- HTTP
- Heap
- javascript
- 네트워크
- AWS
- nodejs
- Today
- Total
목록VCS (4)
빨간색코딩
https://www.gitignore.io/ 를 가면 미리만들어진 파일을 받을 수 있다. 작성법 기호 의미 # 주석 ! 예외 / 디렉터리를 의미 *.exe 확장자 exe파일을 모두 무시 A/*.exe A 디렉터리 안에 있는 확장자 exe파일을 모두 무시 .gitignore 은 앞으로 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다. 따라서 이미 버전 관리에 포함되어 있는 파일들을 .gitigore 파일에 기록한다고 해서 Git이 알아서 버전 관리에서 제외 하지는 않는다. 이 경우에는 수동으로 해당 파일들을 버전 관리에서 제외시켜줘야 하는데 git bash에서 git rm --cached 를 입력하면 적용된다
1. 브랜치로 일하기현업에서는 이슈를 해결하기위해 이슈마다 브랜치를 딴다. 이렇게 딴 브랜치로 이슈를 해결한 후 master에서 이슈브랜치를 병합하는 것을 Fast-forward 방식이라고 한다. 실제 master 브랜치는 커밋 object가 생성되지 않지만, 포인터를 앞으로 옮긴다. (fast-forward빨리감기라고 함)별도의 커밋을 갖고있는 master브랜치와 이미 분기된 다른 브랜치와 merge할 때는 fast-forward 방식이 아니다. 이때 git은 공통 조상을 찾고 3way-merge를 이용하여 갈라진 커밋객체를 합치고 새 커밋객체를 만든다. 2. 충돌해결같은 파일(=A)의 같은 코드를 각자 브랜치(로컬과 원격저장소가 될수도 있다)로 작업(commit)을 하고 merge를 할 때 충돌이 발..
git의 원리흐름도git의 object들이 working디렉터리에서 index를 거쳐 repo까지 어떤 명령어로 어떻게 움직이는지 원리를 정리해봤다. 이제 아래그림을 완벽히 이해할 수 있을 거다!! 1. git init.git의 초기구성HEAD config description /branches /hooks /objects /refs 2. git addgit add를 했을때 index(=stage area,tree구조)에 object이름과 실제파일이름이 추가되고(추적등록) objects에 blob타입으로 파일내용이 추가된다.같은 파일이라도 파일내용이 달라지면 새로운 object가 생긴다.object의 이름은 SHA1로 HASH된다. 즉 파일내용이 같으면 object명이 같다.3. git commitgit..
1. Git같은 버전관리시스템이 나오게 된 배경- 파일이나 폴더를 편집할 때 작업을하면서 아래 사진처럼 번잡하게한다.- 만약 여러명이 공유한 파일을 편집한다면 저장할때 동기화문제가 있다.- 이와같은 문제를 해결하기위해 git이 탄생. 2. git을 이용한 버전관리 - 소스 코드가 변경된 이력을 쉽게 확인 가능- 특정 시점에 저장된 버전으로 되돌아 갈 수 있다.- 동시저장할때 누군가 편집한 내용과 충돌한다면, 경고메시지 발생. 내용덮어쓰는 실수가 없다.- 매번 백업용 파일 복사본을 만들 필요가 없다.3. 초기설정: ~/.gitconfig 에 저장된다git config --global user.name 자신의 닉네임git config --global user.email 자신의 이메일4. 명령어 도움말 보는법..