본문 바로가기

GIT10

[GIT] git cherry-pick git cherry-pick이란 무엇일까요? git을 이용해 코드관리를 하다 보면 다른 브랜치의 특정 커밋을 가져와야 할 경우가 종종 생기는데, 이때 git cherry-pick 명령어를 사용할 수 있습니다. git cherry-pick 이란? cherry-pick은 체리 한 바구니에서 제일 좋은 체리만 고르는 것에서 유래된 표현이라고 알려져 있습니다. 이 표현에 빗대어 git cherry-pick 명령어를 통하여 특정한 한 커밋을 현재 HEAD가 가르기는 브랜치에 추가할 수 있습니다. git cherry-pick명령어를 사용할 경우, 특정한 한 커밋을 옮기는 것이 아닌 새로운 커밋이 추가됩니다. 즉, 특정한 커밋은 그대로 있고 커밋에 종속된 변경사항과 그에 따른 커밋 메시지가 현재 HEAD가 위치한 브.. 2022. 7. 7.
[GIT] 특정 commit 상세 수정 내용 보기(git diff, git show) 커맨드를 통하여 GIT을 사용할 때, 특정 커밋의 상세 수정 내용을 확인하고픈 경우가 있습니다. 그럴 경우엔 아래의 2가지 간단한 명령어를 통하여 상세 내역을 확인할 수 있습니다. 1. git diff 2. git show 공통적으로 git log 명령어로 확인하고픈 커밋의 정보를 알수있습니다. 해당 명령어를 통하여 커밋들의 해쉬 값을 확인할수 있습니다. git diff 작업 사항을 add 하기 전 확인할 수 있도록 하는 명령어입니다. 이전 커밋된 파일상태와 현재 수정중인 상태를 비교할 때 자주 사용되며, 브랜치 끼리 비교도 가능합니다. 1. 파일을 수정한 뒤 git diff 명령어로 수정된 사항을 확인할 수 있습니다. 2. 더 자세한 사항을 확인하고 싶다면, git diff --color-words 혹.. 2022. 4. 15.
[GIT] git reset 취소하기 git reset을 하다 보면 reset 하기 이전으로 돌아가야 할 경우가 생깁니다. 그럴 경우 먼저, git reflog를 입력하여 이전 이력들을 조회합니다. git reflog git reflog 명령어에서 reflog는 reference log를 의미합니다. 이렇게 기존 이력들을 볼 수 있는 이유는, Git에서 커밋, 체크아웃, 머지 등의 이력을 모두 기록하고 있기 때문입니다. $ git reflog 1c6743127 (HEAD -> dev) HEAD@{0}: reset: moving to head~1 f48441c33 (origin/dev) HEAD@{1}: commit: update older code3 1c6743127 (HEAD -> dev) HEAD@{2}: reset: moving to .. 2022. 3. 31.
[GIT] git reset과 git revert GIT을 사용하다 보면 이전 커밋으로 돌아가야 할 경우가 종종 생깁니다. 그럴 경우 사용할 수 있는 reset과 revert에 대하여 포스팅을 시작합니다. 1. reset과 revert의 개념과 차이점 reset : 과거의 특정 커밋으로 되돌린다. revert : 현재에 있으면서 과거의 특정 커밋들만 없앤다. 둘의 공통점은 과거의 커밋으로 되돌린다는 점이지만, 가장 큰 차이점은 과거로 되돌리겠다는 내용도 기록이 되는가? 즉, 커밋 이력에 남는가? 입니다. reset은 아예 현재가 없었던 것처럼 원하는 과거로 돌아갈 수 있습니다. 말 그대로 '리셋'입니다. reset은 이력을 남기지 않습니다. 따라서 현재까지의 커밋 이력을 남기지 않고 원하는 시점으로 완전히 되돌아가고 싶을 때 사용합니다. revert는 .. 2022. 2. 18.
[GIT] git restore 를 이용한 staging area나 working directory 변화 취소 git을 사용하여 형상관리를 하다 보면, 로컬에서 작업하고 있는 staging area나 working directory에서 작업하는 내용을 초기화할 경우가 종종 있습니다. 그럴 때 git restore 명령어를 사용하여 변경사항을 초기화할 수 있습니다. git restore git 2.23 버전부터 작업 트리에서 수정한 파일 되돌리기 명령어가 변경되었습니다. - git checkout -- test.txt => git restore test.txt - git reset HEAD test.txt => git restore --staged test.txt - cf) git 버전을 확인하려면 git --version 명령어를 사용 1. 파일이 working directory에 변경된 상황 git restor.. 2022. 1. 7.
[GIT] git 설치하기 1. git 다운로드 git 다운로드 링크 https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp git-scm.com 위 링크를 클릭하여 GIT다운로드 페이지로 이동을 합니다. 위 이미지에서 프로그램을 이용할 OS 버전을 선.. 2021. 7. 19.
[GIT] git merge와 git rebase의 차이 git에서는 브랜치를 병합할 때 사용하는 두 가지 방법이 있습니다. 1. git merge 2. git rebase 1. git merge //1. master 브랜치로 이동 $git checkout master //2. 병합할 브랜치를 master브랜치에 merge $git merge [master에 병합할 브랜치 명] //위 1,2를 한번에 표현 가능 $git merge [master에 병합할 브랜치 명] master 병합을 하면 합쳐진 브랜치의 커밋 메시지가 중복으로 쌓이게 됩니다. 커밋 순서를 바꾸지 않습니다. 존재하는 브랜치가 변경되지 않습니다. 새로운 merge commit을 생성합니다. git merge --abort : 병합을 취소하는 명령어 위 이미지는 Main 브랜치에 Feature 브.. 2021. 7. 16.
[GIT] Git add, commit, push 취소 git add, git commit, git push를 취소하여야 할 경우가 있을때 대처 방법을 알아봅니다. 1. git add 취소하기 파일 상태를 Unstage로 변경합니다. //모든 파일이 Staged 상태로 바뀜 $git add //파일 상태 확인 $git status On branch master Changes to be commited: (use "git reset HEAD ..." to unstage) renamed: README.md -> README2.md modified: TEST.md 현재 변경된 파일들이 Stage에 add된 상태입니다. git reset HEAD [file]​ 명령어를 통하여 git add를 취소할수 있습니다. [file]이 없다면 add한 파일 전체를 취소합니다... 2021. 7. 16.
[GIT] Git 명령어 형상관리 작업을 할 때 Source Tree, GitHub Desktop, GitKraken 등의 GIT GUI 툴을 많이 사용하지만 그렇지 않고, Git Bash, Windows Powershell 등 에서 Git 명령어를 통해 직접 형상관리를 하기 위한 Git 명령어에 대한 글입니다. 1. git init 로컬 저장소로 사용할 폴더를 생성하여 해당 폴더로 이동 후 해당 명령어를 사용합니다. Initialized empty Git repository in [경로] 라는 메시지가 노출되고, .git 이라는 숨겨진 폴더가 생성됩니다. 만약 init을 취소하려면 rm -r .git 명령어를 입력합니다. .git 폴더 내부에는 저장소에 필요한 뼈대(Skeleton) 파일이 존재합니다. //.git 폴더 생성 .. 2021. 7. 16.
반응형