본문 바로가기

git명령어5

git reset 되돌리고 싶을 때 커밋 리스트 확인하기(git reflog) 프로젝트를 시작한 후에 이런 저런 작업들을 해서 많은 커밋들이 쌓였다. 작업을 하다가 특정 시점으로 돌아가고 싶어서 git reset 명령어를 실행시켰는데, 그것이 실수였다면... 다시 예전으로 돌아가야 한다면...🫠 그럴 때는 어떻게 해야 할까? 먼저 아직까지 한 커밋리스트를 살펴 보았다. git reset 되돌리는 방법을 설명하기 위해 일단 첫번째 커밋인 Create calculator.py and Lisence 으로 돌아가보도록 하겠다. (테스트를 하면서도 되돌리는 걸 실패할까봐 무서운 코린이...😦) 되돌리고 싶은 첫번째 커밋 아이디를 확인한 후에 git reset --hard 1ec2 라는 명령어를 실행시켰다. 그리고 다시 커밋 히스토리를 확인해 보았다. 엌... 다 없어져 버렸어... 일단 r.. 2022. 12. 10.
git revert로 커밋 여러개 동시에 취소하기 커밋을 하나씩 취소할 수도 있지만 이어진 커밋 여러개를 동시에 취소할 수도 있다. 테스트를 위해서 아래와 같이 revert.txt 라는 파일을 만들고 여러가지 작업을 한 후에 각각 커밋을 해 두었다. 해당 파일을 생성하기만 한 Create revert.txt 커밋을 제외하고 (앗 오타가..) 나머지 Update revert.txt 부터 Edit revert.txt 까지 총 3개의 커밋을 취소해보도록 하겠다. 위의 붉은색 배경으로 표시된 파일을 지우려면 git revert 명령어를 입력하고 실행하면 된다. git revert [취소하고 싶은 커밋의 이전 커밋아이디]..[취소하고 싶은 마지막 커밋 아이디] 커밋 아이디 두개를 '..' 으로 이어주는데, 여기서 주의할 점은 앞의 커밋 아이디는 삭제 커밋에 포함.. 2022. 12. 8.
Remote Repository 내용을 merge하지 않고 가져오기(git fetch) git pull은 리모트 레포지토리 내의 해당 브랜치가 가리키고 있는 모든 커밋을 로컬 레포지토리로 가져와서 머지를 하는 명령어이다. 그런데 간혹 아래와 같은 상황이 발생할 수 있다. 리모트 레토지토리의 브랜치 내용을 머지하기 전, 점검해야 할 필요가 있다. 리모트 레포지토리의 브랜치 내용과 로컬 레포지토리에서 직접 작성한 코드를 비교해서 오류가 없는지 검토해야 한다. 그럴 때 리모트 레포지토리에 있는 내용을 무조건 머지하는 것이 아니라, 일단 가져와서 내용을 살펴보고 머지를 할 수 있는 명령어가 있다. 아래 명령어를 사용하면 된다. git fetch fetch는 우리말로 '가져오다'라는 의미를 가지고 있다. 이 명령어를 사용하면 머지를 하지는 않고, 리모트 레포지토리에 있는 내용을 가져오기만 한다. 예.. 2022. 11. 30.
두 커밋 사이의 차이점 비교하기(git diff) 이번 포스팅에서는 두 개의 커밋 사이에 내용이 어떻게 바뀌었는지, 그 차이점을 비교해보는 방법에 대해서 설명하려고 한다. 먼저 지난 포스팅에서 aliasing했던 단축 커맨드(git history)를 사용하여 한 줄 요약된 커밋 히스토리를 살펴보았다. (아래 이미지 참고) 예제로 설명하는 것이 이해하기 편하니까! 위의 커밋 리스트 중에서 Create README.md Add the info of calculator.py in README.md 라는 메세지가 적혀있는 두 개의 커밋을 비교해보려고 한다. (위에서부터 4번째, 6번째) 그럴 때에 사용하는 명령어가 바로 diff이다. 차이점을 의미하는 영어단어 difference를 떠올리면 암기하기 쉬울 것이다. git diff 이전커밋아이디 다음커밋아이디 커.. 2022. 10. 25.
Local Repository에서 작업한 내용 Github에도 반영하기(git push) 지난 포스팅에서 혼자 PC에서 작업하던 파일을 깃허브(Github)에 업로드하는 방법에 대해서 설명했다. 업로드를 해 두었다고 해서 내 PC에 있는 프로젝트 폴더(Local Repository)와 깃허브의 Remote Repository에 있는 폴더가 연동되어 자동으로 변경되는 것은 아니다. 그렇다면 내 PC에서 작업한 내용을 어떻게 해야 깃허브에 반영할 수 있을까? 그럴 때에 사용하는 명령어가 있다. Local Repository 변경사항을 Github에 반영하기 내 PC의 프로젝트 폴더에 README.md 파일을 하나 생성했다. 그 다음 git add 명령어를 이용해서 변경된 파일을 모두 Staging Area로 이동시키고 commit 했다. 아래와 같이 한 개의 파일을 커밋하는 데 성공했다. git.. 2022. 10. 4.