일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- node
- Spring
- git
- Modified
- Dependency
- 자바스크립트
- staged
- spring boot
- JS
- git rm
- 리눅스
- Git 내부
- github
- hash-object
- node.js
- Auto-Importing
- unmodified
- SpringBootApplication
- Linux
- npm
- commit
- Dependency Management
- maven
- brew
- Server Off
- git push
- docker
- Git내부
- git rm --cached
- docker daemon
- Today
- Total
목록git (15)
갓태희
이전글에서 글을 포스팅하다가 hash-object의 --stdin옵션이 정확히 어떤건지를 잘 모르겠어서 구글링과 오픈톡에 물어봤지만 원하는 답을 찾지 못했다. 이전글의 포스팅을 끝마칠때쯔음 git-scm: Git의내부-Git개체 두번째 예시에서 echo의 결과값이 아닌 이제 파일을 가지고 하는예제를 진행하다가 파일은 --stdin옵션을 붙히지 않는데 착안해서 뭔가 알거같은 느낌이 들어 여러가지 재밌는 실험들을 해보았다. 이렇게 아예 test.txt라는 파일을 생성하고나서 hash-object 명령어를 사용할때 --stdin옵션을 사용하지 않는것을 알수있었다. 첫번째, 폴더가 아닌 파일 이 글의 마지막 이 옵션이 없으면 파일 경로를 알려줘야 한다를 계속해서 읽어보니 처음에 나는 objects폴더에 저장을 ..
들어가기 앞서.. stash는 꼭 자기가 stash했던 내역을 stash했던 시점에 다시 적용시킬 필요는 없습니다. 한번 stash한 내용은 어느 커밋, 어느 브랜치에도 적용가능합니다 그 와중에 충돌이 생긴다면 해결을 해주면 그만입니다. 저는 stash를 하고나면 꼭 다시 stash했던 시점으로 돌아와 stash스택에 저장된 내역을 적용시켜야 하는줄 알았습니다 밑에서 들 예는 같은 브랜치에 다시 돌아와서 적용시키는 예이지만 꼭 저렇지 않고 다른 브랜치, 다른 커밋에 stash를 적용시켜도 무방합니다. 현재 HEAD가 가리키는 main 브랜치에서 갑자기 develop브랜치에 볼일이 있어서 develop 브랜치로 checkout 하려는 상황이라고 가정 해보겠습니다. 예를들어 develop브랜치에는 내가 ma..
git rm에 대하여 이해하기위해서 여기에서 공부를 했었는데 잘 이해가 되지않았었다. 근데 최근들어서 다시 보게 되었는데 너무 좋은 글이였다. 이제 시작해보자. 우선 들어가기에 앞서 git-scm은 git rm을 어떻게 소개하고있는지 봅시다. git-rm - Remove files from the working tree and from the index 즉, 작업 디렉토리와 index에서 파일을 지운다는 것입니다. git-scm에서는 staging영역을 공식적으로 index라고 칭하고 있습니다. 즉 파일도 실제로 지워주고 staging영역에 있다면 staging영역에서 삭제 해준다는 뜻이겠죠 ? Git에서 파일 삭제하는법 Git에서 파일을 삭제하고자 할때는 git rm을 통해 Tracked 상태의 파일을..
친한 형이 오늘부터 깃 공부를 하신다고 하셔서 Source Tree로 깃을 공부하신다고 하시길래 바로 그냥 Source Tree버리고 터미널로 넘어오시라고 말했는데 터미널로 Git을 할경우 git add된 파일이 많으면 많을수록 특정 파일만 골라서 git commit하기에 정말 불편하긴 하다 그래서 나는 보통 그냥 git add . 혹은 git add * 혹은 git commit -am "commit message"를 통해 한번에 add혹은 commit하는 경우가 많은데 저렇게 Source Tree처럼 GUI를 지원해주면 마우스 클릭으로 저러한 add할 파일 commit할 파일들을 지정할수 있어서 좋다. 그래서 나도 Source Tree에 익숙해져야하긴 하는데 학부시절에 너무 추억이 안좋아서 그뒤로 터미..
Git 서버 - 프로토콜을 공부하다가 Bare 저장소라는 말이 계속나와서 처음에는 그냥넘기려다가 자꾸나와서 이해가 점점 안되길래 구글링을해서 공부를 해보았습니다. 보통 깃관련 구글링을 해보면 git-scm의 내용을 그대로 적은 결과만 많이 보게됬는데 여기에는 직접 실습을 통해서 Bare-repository와 Work-repository의 차이를 알려주어서 이해가 쉽게되었습니다. 그럼 저랑도 같이 실습을 해보시죠. 시작하기 먼저 아무것도 없는 빈 폴더를 만들어서 cd명령어를 통해 그 폴더로 들어갑니다. 그런다음 project라는 폴더를 하나만들어 거기에 README를 하나 추가해 줍니다. 그런다음 project 폴더에 들어가서 git init으로 깃 저장소를 만들어주면 현재 Untracked files로 ..
rebase란 몇개의 커밋들을 새로운 base commit으로 합치거나 이동시키는 과정입니다. 아래 설명들을 모두 보시고 나서 이 뜻을 다시 헤아려 보시면 이해가 잘 되실겁니다 아래 그림부터 보겠습니다. 위 그림은 Release Branch에 Rcommit1, Rcommit2, Rcommit3 총 3개의 커밋이 있는상황이고 Feature Branch는 Fcommit1, Fcommit2 이렇게 2개의 커밋이 있는 상황입니다. 이때 Feature 브랜치는 Rcommit1만 존재했을때 만들어진 브랜치이며 Rcommit1으로부터 만들어진 브랜치임에 주목합니다. 그리고 나서 feature 브랜치에 Fcommit1, Fcommit2 총 두개의 커밋이 추가되었고 저희의 목표는 Feature branch에 Releas..
이 분의 고민은 현재 자기가 로컬에서 두개의 브랜치를 사용하고 있는데 이걸 푸시한다면 원격(깃헙)에는 두개의 브랜치가 모두 올라가느냐 라는 질문인데, git push origin master 우리가 흔히 보던 push명령어 인데 이 명령어의 형태는 원래 git push [리모트이름] [브랜치이름] 이다. 즉 push하고싶은 리모트도 우리 맘대로 설정할수 있고 올리고싶은 브랜치도 우리 마음대로 할수 있다는 것이다. 그래서 보통 원격(깃헙)에 한번 올리고 나면 오픈소스가 되어버리니까 혹시 private한 소스코드를 가지고싶다면 private branch를 하나 따서 그냥 그 브랜치는 push하지 않고 계속 로컬에서만 사용하면 된다. private branch라고 해서 특별한게 아니라 그냥 git branch..
오픈톡에서 어떤분이 질문을 해주셨는데 요점은 특정 파일 혹은 폴더만 push 할수 있는지여쭤보셨다. 나같은 경우 gid add *으로 그냥 일일이 변경된 내용을 체크하기 귀찮아서 저 명령어를 통해 다 스테이징 영역에 올리는데 이렇게 다 스테이징 영역에 올려버리니까 커밋도 모든 파일이 되는 경우가 많았고 보통 push를 전체적으로 하지 부분만 해본적은 별로 없었던것 같아서 처음 저 말을 듣고 좀 당황했었다. 소스트리나 다른 내장되어있는 깃 툴을 이용하게 되면 자기가 스테이징하고싶은 파일을 쉽게 볼수 있고 버튼을 눌러서 일일이 하거나 복수선택으로 스테이징 할수있는데 커맨드로도 그렇게 물론 할수 있지만 귀찮아서 걍 다 올려버리는 경우가 많았던것 같다. 결론을 할수있다이며 git add를 할때 자기가 push ..