origin에 push하지 않았을때 가장 최근의 commit message 수정 아직 원격저장소에 push하지 않았다면 ammend 명령어로 가장 마지막에 commit한 message를 수정할 수 있다. 더 오래된 commit message를 수정하거나 여러개의 commit을 수정 더 오래된 commit message를 수정하거나 여러개의 commit을 수정할때는 rebase -i HEAD뒤에 보고싶은 commit의 갯수를 써주면 그 갯수만큼 commit 이력을 확인할 수 있다. <img src="https://velog.velcdn.com/images/gkqkehs7/post/a74a4928-f43e-40f3-8919-2cb731eb4db8/im
브랜치 생성 기능을 만들기전 해당 기능을 나타내는 브랜치 생성 commit message 형식 해당 기능을 최종적으로 다 만들고 local에 올릴때는 위 형식을 사용 예시) front - [signUp ui] @gkqkehs7 back - [signUp api] @gkqkehs7 예시) compare & pull request 그 다음 compare & pull request pull request 생성 <img
github에 만들어 놓은 repository주소를 origin이라 한다. github와 연결하기 연결여부 확인 원격 저장소와 연결 해제 origin의 master라는 branch에 업로드하면서 병합하는 push명령어 fetch를 사용하면 원격저장소에 있는 데이터들을 로컬로 받아온다. pull은 원격저장소에 있는 데이터를 받아오고 병합한다 (fetch + merge) clone을 사용하면 init + remote + pull을 동시에 할 수 있다. 원격저장소의 branch로컬로 가져오기 받아오는 방법1 받아오는 방법2 로컬에 있
만약 commit을 위처럼 작성했는데 commit을 하나로 압축하려면 어떻게할까? git rebase를 사용하면 된다. 단 현재에서 과거로 압축해야한다. 압축할 목적지는 pick이 되고 압축하면서 사라질 commit은 squash가 된다. 위와 똑같은 상황을 연출하였다. git r
세번째 사진을 찍고 commit을 했는데 commit 메세지를 잘못입력해서 바꾸고 싶다면 어떻게 해야할까? git reset을 사용하면 된다. reset에는 3가지 종류가 있다. 하나씩 살펴보자. git reset --soft reset soft는 사진첩에서 사진만 지우는 것이다. reset soft를 사용하면 head가 이전으로 되돌아간다. commit을 완료했는데 commit message를 변경하고 싶을때 주로 사용한다. 두번째 사진을 저장되었던 그 때로 soft reset 한다. <img src="https://velog.velcdn.com/images/gkqkehs7/post/483ef715-0669-41a3-bf9a-f13ce79a5c2d/ima
git brach는 내가 어디있는지 확인하는 명령어이다. git branch "새로운 브랜치명"을 하면 새로운 브랜치를 생성한다. newBranch를 만들었지만, 이동하지 않았기 때문에 아직 Head는 master에 있는 것을 확인할 수 있다. checkout을 하면 해당 branch로 head를 이동시킨다. -b 옵션을 붙히면, 브랜치를 만들면서 이동할 수 있다. Fast Foward Merge 이제 newBranch에서 새로운 파일을 생성하고 commit을 날렸다. <img src="https://velog.velcdn.com/images/gkqkehs7/post/7113b841-bb19
git을 실무에서 어떻게 사용하나요?는 중요하지 않다. 공부를 할때 중요한건 원리이다. git이란 프로그램이 어떤 원리로 작동하고 그걸 내가 어떻게 활용할 수 있을지 고민하고 사용해보는 것이 중요하다. git의 원리 만약 A폴더를 git폴더로 쓰겠다고(git init) 선언하면 A폴더는 working directory가 된다. A폴더에 test1.txt를 만들면 git은 변경감지를 한다. 변경이 일어났는데 이걸 기록할지 기록하지 않을지에 대한 결정은 우리가 한다. 만약 기록한다면(git add) 이 바뀐 내용이 인덱스영역에 기록되게 되고, 영구히 기록하고 싶다면(git commit) 헤더영역에 version1으로 영구히 기록된다. git add는 그 순간의
GIT 이야기 유닉스는 대형 컴퓨터를 위해 나온 운영체제 이다. 리눅스 토발즈는 사람이 개인용 컴퓨터에 맞는 운영체제로 유닉스를 변신시킨 리눅스를 개발하였다. 리눅스 토발즈는 리눅스를 GNU→ General Public License (공개 소프트웨어 프로젝트)로 지정하였다. GNU의 의미는 누구에게나 공개하겠다. 뼛속까지 공개하겠다. 단, 누군가 이를 사용하여 새로운 프로그램을 발전시킨다면 이 프로그램 또한 GPL라이센스를 따라야 한다는 의미이다. (누군가 리눅스를 업그레이드 해서 B소프트웨어를 만들면 B소프트웨어도 무조건 공개되어야 한다) 리눅스는 수많은 개발자들이 협업을 통해 발전시켰다. 만약 두명이 a.html이라는 같은 파일에서 작업을 한다면 누군가는 합쳐야 한다. 이는 매우 힘들었기 때문에 Bitkeeper라는 분산 버젼관리 프로그램으로 협업을 하였다.하지만 Bitkeeper가 유료화가 되는 바람에, 리눅스 토발즈가 Bitkeeper바탕으로 Git을