[Git] 안심하고 commit하자 reflog
·
개발/Git
아래 포스팅에서 자주 쓰는 명령어와 업무 flow를 정리해 보았다. https://growing-dev101.tistory.com/20 [Git] 자주 쓰는 명령어 Git 자주 쓰는 명령어 내가 현업에서 Git을 사용하면서 자주 사용하는 순으로 나름대로 정리해 보았다. 실제로 더 디테일한 옵션을 사용하기도 하지만 아래 내용만으로도 대부분의 업무가 가능하 growing-dev101.tistory.com 터미널에서 Git을 잘 활용해서 복잡하게 얽힌 상황을 해결해야 할 때가 있고 또 그런 환경에서 실수하기 쉽다. GitHub에서 원격 저장소가 여러 개이고 Fork 된 저장소까지 있다면 단순 작업을 하더라도 실수할 소지가 많다. Merge나 Rebase가 제대로 되지 않아, 원격 저장소와 로컬 저장소의 상태가..
[Git] 자주 쓰는 명령어, 익숙해지자
·
개발/Git
Git 자주 쓰는 명령어 내가 현업에서 Git을 사용하면서 자주 사용하는 순으로 나름대로 정리해 보았다. 실제로 더 디테일한 옵션을 사용하기도 하지만 아래 내용만으로도 대부분의 업무가 가능하고, 브랜치가 엄청 많거나 분단위로 커밋이 발생하는 경우가 아닌 이상 충분하다고 생각한다. # remote 저장소로부터 git repository를 복사한다. git clone [remote repo] # commit history를 보여준다. git log # 한줄로 commit 로그를 출력한다. git log --oneline # commit 로그 그래프를 보여준다. git log --graph # 현재 파일 상태를 표시한다. git status # stage 상태와 HEAD를 비교한다. git diff --sta..
[Git] GitHub vs Gerrit
·
개발/Git
GitHub와 Gerrit이 뭐지? GitHub와 Gerrit 두 가지 모두 코드를 관리하고 코드 리뷰를 통한 협업을 위한 시스템이다. Git을 베이스로 하여 각자 로컬 저장소에 있는 코드들을 함께 효율적으로 관리하기 위해 만든 시스템이라고 볼 수 있다. 또한 두 가지 모두 코드 리뷰를 자동화하고 강제하는 목적에 맞춰 만들어진 시스템이다. 수정한 코드를 적용하려면 일정 점수 이상의 코드 리뷰 점수를 획득해야 하도록 설정할 수 있다. 개발자가 수정한 코드를 중앙 저장소에 보내면 자동으로 지정된 리뷰어에게 알림이 가고, 리뷰어는 온라인으로 리뷰를 진행한다. 리뷰에서 규정된 점수 이상을 획득하면 최종적으로 해당 코드를 반영할 수 있다. Gerrit https://www.gerritcodereview.com/a..
[Git] 터미널에 Git branch 표시
·
개발/Git
Git branch의 의미 Git에서 branch는 생각보다 매우 중요하며 필수적이다. 아래 Git 원리 강의에서 branch의 의미에 대해서 충분히 이해해야 한다. https://growing-dev101.tistory.com/8 [Git] 원리 강의 추천 Git 이 그렇게 중요한가? 내가 생각했을 때 소프트웨어 개발에서 가장 중요한 것이 뭐냐 라고 했을 때 (C언어와 같은 근본적인 언어를 제외하고서) 망설임 없이 Git 이라고 할 것이다. 하지만 막상 growing-dev101.tistory.com branch가 지정되지 않고 HEAD가 특정 commit을 그대로 가리키는 상태는 detached HEAD 상태이다. Detached HEAD란? 보통 브랜치는 특정 commit을 가리키고 HEAD가 이 ..
[Git] 원리를 이해해야 보인다, 강의 추천
·
개발/Git
Git 이 그렇게 중요한가? 내가 생각했을 때 소프트웨어 개발에서 가장 중요한 것이 뭐냐라고 했을 때 (C언어와 같은 근본적인 언어를 제외하고서) 망설임 없이 Git 이라고 할 것이다. 하지만 막상 사용해보고 처음 접하면 굳이 이게 왜? 그냥 별거 아닌 거 같은데 라는 생각이 든다. 그냥 git이라는 명령어로 시작하는 수많은 툴 중에 하나인데 이게 왜 이렇게 유명하고 필수적인가? 막상 개발을 하고 여러 사람과 협업하고 여러 가지 수정 상황을 겪어보면 비로소 Git의 위대함을 이해할 수 있다. Git은 분산 버전 관리 시스템 기존 버전관리 시스템(SVN과 같은) 과 차별화되는 Git의 특징은 분산형 버전관리 시스템이라는 것이다. 또한 분산형 버전관리가 오프라인으로 관리가 되는 것이 중요하다. 출장을 가거나..
[Git] Git alias 활용해서 생산성을 높이자
·
개발/Git
Git alias 란? git을 명령어로 입력하는 방식으로 사용하는 것이 처음에는 힘들지만 익숙해지면 자유롭게 활용할 수 있어서 좋다. 이때 좀 더 효율적으로 명령어를 입력하기 위해 git alias를 지원한다. checkout, branch, status와 같은 명령어는 매우 자주 사용되지만 매번 입력하기 귀찮은 것들을 축약해서 등록하고 사용한다. Git alias 사용 일반적으로 많이 사용하는 alias를 소개한다. alias를 등록하는 방법은 두 가지가 있다. 두 가지 모두 결국 ~/.gitconfig 에 기록되지만 등록하는 방식이 다르다. 하나는 아래와 같이 git config --global alias.xx XXXX와 같이 명령어를 입력해서 등록하는 것이다. $ git config --globa..