HappyCoding/git

    fast-forward merges

    fast-forward merges git merge 중에서 가장 깔끔하고, 간단함. master branch에서 새로운 branch가 생성된 이후에 master branch의 변동사항이 없다면 merge를 할 때 master branch가 가리키고 있는 pointer를 d가 아닌 f로 옮겨 놓기만 하면 된다. 그리고 branch를 삭제하면 그래서 fast-foward가 가능하다면 항상 이렇게 merge하는 것을 선호한다. 장점일 수도 있고 단점일 수도 있는 점: history에 merge가 되었다는 사실이 남지 않는다. feature-A branch가 있었고, master branch 에 merge가 되었다는 것이 commit으로 남지않음 순수하게 모든 것을 history에 남기길 좋아하는 팀이면 별도..

    git branch 사용

    git branch new-branch # new-branch라는 이름의 브랜치가 만들어진다. # new branch는 새롭게 만들어진게 아니라 new branch라는 포인터가 3345766을 가리키고 있는 것임. git switch new-branch # 새로만든 'new-branch' 로 이동 git switch master # master로 다시 이동 git switch -C new-branch2 # new-branch2를 만들고 그 곳으로 이동 git switch checkout ~~~~ #checkout은 정말 유용하게 해쉬코드(~~~~~)를 작성하면 그곳(~~~~)으로 이동 (HEAD가 그곳을 보고 있다. ex) git checkout bd7bd28 git checkout fix #HEAD가 ..

    git tag

    git tag ~~~~~ # ~~~ : 원하는 문자열 # gi다시 git log 확인해보면 입력한 문자열이 tag 되어있는 거 확인할 수 있다. git tag v1.0.0 0ad2dbb6 #해쉬코드 # 그냥 log가 있었을 때는 # 굉장히 많은 commit 들이 있었지만, # tag를 달아둠으로써 특정한 point를 기억하기 쉽고, 눈에도 잘 들어온다. # 간단하게 tag의 이름만 작성해도 되지만 # release 정보를 포함하고 싶다면, 버전에는 어떤 기능이 포함되어있는지 상세하게 작성할 수도 있다. git tag v1.0.1 328708d -am "Release note..." # annotate의 약자, 이 테그에 정보 추가한다는 명시, git show v1.0.1 # 누가 언제 만들었는지, 방금 ..

    git 명령어

    git log -S "about" git log --grep="project" #커밋타이틀중에서 프로젝트가 포함된 commit보고싶다면 git log -S "about" #소스코드 컨텐츠 안에서 문자열 검색 / 문자열 변경사학 가지고 있는 로그 찾기 git log -S "about" -p git log about.txt #about에 해당되는 commit볼 수 있다. git log -p about.txt # 좀 더 자세한 내용 확인 git log -s about.txt #간단한 상태만 확인 git log HEAD #git log했을 때와 동일한 내용 보여준다. git log HEAD~1 #git log의 head 이전 부모부터 보여줌 git log HEAD~2 #git log의 head부터 두번째 떨어진..