Git
Git manual
-
[Git] Linear History with Foxtrot Merge
Git은 history를 관리하는 방식이 크게 두 가지로 나뉜다. Linear history 장점: history graph가 깔끔해진다. 단점: patch 반영 시 conflict resolution이 번거롭다. Non-linear history 장점: pull (fetch and merge) command로 수행이 쉽다. 단점: history가…
-
[Git] Tag 추가, 변경, 삭제, 검색, 비교, Checkout, Push
Git을 사용할 때 versioning을 하기 위한 기능이 tag다. Tag는 HEAD처럼 특정 commit의 pointer 역할을 한다. Tag 추가 Lightweight Tag Lightweight tag는 간단하게 특정 commit을 위한 label만을 추가하는 것으로, 방법은 다음과 같다. Annotated Tag…
-
[Git] Github Action Workflow 작성법
Github Action의 workflow 파일 작성을 통해 각 workflow 동작을 기술해준다. 각 파일의 구조는 크게 다음과 같이 나타낼 수 있다. name .github/workflows/XXX.yml 파일에 가장 먼저 기술되는 부분은 workflow의 이름이다. 필수 key는 아니기에 만약 설정해주지…
-
[Git] Github Action 사용법
Github에선 workflow를 자동화 할 수 있는 기능을 제공한다. 대표적인 workflow 자동화 프로그램으로는 Jenkins가 있는데 간단한 업무를 Github에서 제공하는 Action으로 어느정도 대체가 가능하다. 대신 위 기능은 각 repository 별 최대 등록 가능한 workflow 개수가…
-
[Git] Commit History에서 크기가 가장 큰 파일 찾기
Git commit history에서 크기가 가장 큰 파일 순으로 찾아야 하는 경우 다음과 같은 명령어로 얻을 수 있다. 수행하게 되면 [hash number] [path] 가 출력된다. Reference https://stackoverflow.com/questions/10622179/how-to-find-identify-large-commits-in-git-history
-
[Git] rm 명령어 옵션
Git을 사용하면서 특정 파일을 지우는데 사용되는 대표적인 명령어로 rm이 존재한다. Option Description –ignore-unmatch git rm을 통해 파일을 지우는데, 만약 해당 파일이 git 상에 존재하지 않더라도 return status를 0으로 출력, 즉 fatal을 발생시키지 않음…
-
[Git] 특정 Commit 가져오기 (Cherry-Pick)
Git을 사용하다보면 실수로 다른 branch에 잘못된 commit을 수행하거나 하는 경우에 다른 branch의 commit을 가져와야 하는 경우가 종종 발생한다. 이 때 사용할 수 있는 명령어가 cherry-pick이다. git cherry-pick 명령어는 특정 commit을 현재 HEAD가 가리키는…
-
[Git] clone –bare vs. –mirror 차이
clone 명령어 수행 시 다양한 옵션이 존재하지만, 그 중에서 많이 사용되는 것 중에 bare와 mirror가 존재한다. 차이를 표로 나타내면 다음과 같다. None –bare –mirror Working tree O X X Contents Working treeRepository DB…
-
[Git] show 명령어
Git에서 commit 정보를 탐색하기 위한 show 명령어가 존재한다. Command Description $ git show branch1 branch1에 대해 latest commit에 대한 log와 diff를 나타냄 $ git show HEAD 현재 branch에 대해 HEAD가 가리키는 commit 정보…
-
[Git] fetch 사용법
Git에서 fetch는 원격 저장소에서 반영된 내용을 받아 올 때 사용하는 명령어다. 이는 실제 로컬 저장소에 내용이 반영되진 않고, 원격 저장소의 반영된 내용을 참조하기 위해 사용됩니다. 따라서 만약 원격 저장소의 내용을 실제 파일에 반영하고…