git 10

HEAD detached 는 어떤 상황이지?

git branch 명령어에서 (HEAD detached at [TAG_NAME])와 같이 보이는 것은 현재 브랜치가 분리된 상태에서 특정 커밋에 위치하고 있음을 의미합니다. 즉, [TAG_NAME] 이라는 커밋 해시나 태그를 체크아웃했기 때문에 일반적인 브랜치 대신 HEAD가 직접 해당 커밋을 가리키고 있는 상태입니다. 브랜치로 돌아가고 싶다면: git switch 또는 git checkout 명령어를 사용하여 원래 브랜치로 돌아가세요. git switch main # 또는 원하는 브랜치 이름새로운 브랜치를 만들고 싶다면: 분리된 상태에서 작업한 내용을 새로운 브랜치로 저장하려면, 현재 상태에서 새 브랜치를 만드세요. git switch -c new-branch-name이렇게 하면 HEAD가 분리된 상..

git 2024.11.13

신규 branch 생성

신규 branch 를 생성 하는 방법과 확인 하는 방법에 대하여 다시한번 기록합니다. 사람은 망각의 동물이라서 그런지 잘 쓰지 않는 경우 잊어 버리기 때문에, 다시 정리 기록 합니다. 1. clone를 받는다. master branch 이다. 2. git branch -r 로 필요한 remote branch 를 찾는다. 3. git branch --track origin/dev 명령으로 dev branch 를 track 한다. (자동으로 dev branch로 checkout 된다.) 4. git branch my_dev 이라는 branch를 생성한다. 5. git log 명령으로 상황을 살펴 보면, commit 기준으로 아래와 같이 정보를 보여 준다. commit a07d54fac390e9a07153be..

git 2021.05.03

Pro Git - 브랜치 워크플로, 브랜치 관리, 브랜치 추적

브랜치 워크플로 배포했거나 배포할 코드만 master 브랜치에 Merge 해서 안정 버전의 코드만 master 브랜치에 둔다. 개발을 진행하고 안정화하는 브랜치는 develop 이나 next 라는 이름으로 추가로 만들어 사용한다. 이 브랜치는 언젠가 안정 상태가 되겠지만, 항상 안정 상태를 유지해야 하는 것이 아니다. 테스트를 거쳐서 안정적이라고 판단되면 master 브랜치에 Merge 한다. 토픽 브랜치 (issue 같이 짧은 호흡 브랜치) 에도 적용할 수 있는데, 해당 토픽을 처리하고 테스트해서 버그도 없고 안정적이면 그 때 머지 한다. 토픽 브랜치는 어떤 한가지 주제나 작업을 위해 만든 짧은 호흡의 브랜치다. iss91 은 버리고, dumbidea 와 iss91v2 를 master 에 merge 한..

git 2021.02.22

Git 필수 명령어 요약

Clone : clone은 서버에 있는 거의 모든 데이터를 local에 복사하는 것이다. git clone 명령을 사영하면, 자동으로 orign/master 가 생긴다. git clone github.com/vdpa4me/pydev.git //Git 이름의 directory 명을 만들고 그안에 복사한다. git clone github.com/vdpa4me/pydev.git myPythonDev //특정 directory 명을 만들고 그안에 복사한다. git clone -o booyah //origin 대신 booyah 라는 이름을 붙인다. Status check : 해당 Git 의 상태를 체크한다. git status git status -s[-short] //좀더 간단한 형태로 보여 준다 add : W..

git 2021.02.16

[책] Pro Git 2판, review [5] - branch

Git branch 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서, 원래 코드와는 상관 없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는 것이 브랜치 이다. 브랜치란 무엇인가? GIt 이 브랜치를 다루는 과정을 이해하려면 우선 GIt이 데이터를 어떻게 저장하는지 알아야 한다. Git은 데이터를 Change Set 이나 변경사항(Diff) 으로 기록하지 않고 일련의 스냅샷으로 기록한다. Commit 하면 Git은 현 Staging Area에 있는 데이터의 스냅샷에 대한 포인터, 저자나 커멧 메시지 같은 메타데이터, 이전 커밋에 대한 포인터 등을 포함하는 커밋 object를 저장한다. 이전 commit 포인터가 있어서 현재 commit이..

git 2021.02.15

[책] Pro Git 2판, review [3]

git log Commit 히스토리를 시간순으로 보여준다. 가장 최근에 commit 한 것이 가장 위에 나온다. git log --stat 각 commit 의 통계 정보를 조회 할 수 있다. git log --pretty=oneline --pretty 옵션은, 기본 형식 이외에 여러가지 중에 하나를 선택할 수 있다. oneline은 각 commit을 하나의 라인으로 보여준다. git log --pretty=format"%h - %an, %ar : %s" --pretty=format 옵션은, 나만의 format으로 결과를 출력하고 싶을 때 사용한다. 저자(Author) : 원래 작업을 수행한 원작자 커미터(Committer) : 마지막으로 이 작업을 적용한 사람. git log --pretty=format..

git 2021.02.15

[책] Pro Git 2판, review [2]

변경될 file에서 이전 과 최신에 어떤 내용이 변경됐는지 살펴보려면, git diff 명령을 사용해야 한다. test.txt 를 다시한번 수정한다. git diff test.txt Commit 한것과, working directory 에 있는 것을 비교한다. Unstaged 상태인 것들만 보여 준다. Staging area에 넣었다면 git diff 명령은 아무것도 출력하지 않는다. git diff --staged test.txt Commit 한것과, Staging Area에 있는 것을 비교 git diff 는 consol 상 비교를 해서 알아보기 힘들다. git difftool test.txt 설정된 diff too (diff3) 가 자동으로 호출 되면서 좀더 멋지게 비교 한다. git commit ..

git 2021.02.10

[책] Pro Git 2판, review [1]

"Everything you need to know about Git" Pro Git 은 Git 의 bible 이라 불립니다. 특이한 점은 대부분의 git 사용자들은 1~3장 까지만 공부하면 된다는 것~ 서전 준비: 우선 github 에 아래와 같은 git repository 를 생성 했다. github.com/vdpa4me/pydev.git 그리고 내 컴퓨터에는 , Git for Windows 를 설치 했다. 책 내용 소개 시작~ GIt 은 DVCS(분산 버전 관리 시스템) 의 한 종류 이다. Git 에서 클라이언트는 단순히 파일의 마지막 스냅샷을 checkout 하지 않는다. 그냥 저장소를 전부 복제 한다. 서버에 문제가 생기면 복제물로 다시 작업을 시작 할 수 있다. 클라이언트 중에서 아무거나 골라..

git 2021.02.10