GitNotes.4-3.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 4.3: 변경 내역을 조각(hunk) 단위로 추가(add) 하기

git add 시에, patch 옵션을 통해 이후 커밋에 포함될 변경 내역을 "조각들" 단위로 확인하여 stage 할 수 있다:

git add -p

혹은

git add --patch

위와 같은 명령어 입력시, 각 diff 덩어리들을 눈으로 확인 후 아래와 같이 stage 시킬지 말지 결정할 수 있는 대화형 프롬프트가 화면에 나타나게 된다.

Stage this hunk [y,n,q,a,d,/,s,e,?]?
  • y : 이 조각(hunk) 이 이후 커밋에 포함될 수 있도록 stage 시킨다
  • n : 이 조각이 이후 커밋에 포함되지 않도록 stage 대상에서 제외한다
  • q : 종료; 이 조각 및 이후 모든 조각들을 stage 시키지 않는다
  • a : 이 조각과 이후 현재 파일 내 모든 조각들을 stage 시킨다
  • d : 이 조각 및 이후 현재 파일 내의 모든 조각들을 stage 시키지 않는다
  • g : 파일 내의 다른 조각들의 목록을 표시하고 이동할 조각 위치를 선택한다
  • / : 정규표현식을 이용해 조각을 검색하고 해당 위치로 이동한다
  • j : 현재 조각에 대한 결정은 뒤로 미루고 다음 미확정 조각 위치로 이동한다
  • J : 현재 조각에 대한 결정은 뒤로 미루고 확정 여부와 상관없이 다음 조각 위치로 이동한다
  • k : 현재 조각에 대한 결정은 뒤로 미루고 이전 미확정 조각 위치로 이동한다
  • K : 현재 조각에 대한 결정은 뒤로 미루고 확정 여부와 상관없이 이전 조각 위치로 이동한다
  • s : 현재 조각을 더 작은 단위의 조각으로 나눈다
  • e : 현재 조각 내용을 직접 편집한다
  • ? : 조각 관련 조작 도움말을 표시한다

이와 같은 방법을 이용하여 이후 커밋에 포함하고 싶지 않은 수정내역들을 손쉽게 찝어낼 수 있다.

위 프롬프트는 git add --interactive 명령어 입력 후 p 항목 선택을 통해서도 접근할 수 있다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.4-2.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 4.2: 변경 사항이 포함된 파일을 unstage 하기

git reset <filePath>

역주: 위 명령어는 <filePath> 에 해당하는 파일이 git add 명령어를 통해 이미 stage 되어 있는 경우 stage 영역에서 제외시키기 위해 사용하는 명령어입니다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.4-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 4.1: 파일들의 모든 변경 내역을 Staging 하기

git add -A

위와 같이 수행하거나 혹은 2.0 이후의 버전에서 아래와 같이 수행한다.

git add .

2.x 버전에서는, git add . 명령어는 현재 디렉토리와 모든 하부 디렉토리의 모든 파일들에 대한 변경 내역을 stage 할 것이다. 그러나, 1.x 버전에서는 새로 추가되었거나 수정된 파일들만 stage 할 뿐, 삭제된 파일들에 대해서는 stage 를 수행하지 않는다.

git add -A 명령어나, 혹은 동일한 명령어인 git add --all 를 사용하면, Git의 버전에 상관없이 모든 파일들의 수정 내역을 stage 할 수 있다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.3-11.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 3.11: 특정 원격 저장소에 대한 정보 표시하기

주어진 원격 저장소 (예:origin) 에 대해서, 아래와 같은 명령어를 통해 해당 원격 저장소에 연관된 다양한 정보를 출력할 수 있다:

git remote show origin

혹은, 원격 저장소의 URL 정보만 표시하고 싶다면 아래와 같은 방법을 사용할 수도 있다:

git config --get remote.origin.url

2.7+ 이상의 버전을 사용하고 있다면, 위에 소개된 것처럼 config 명령어를 사용할 필요 없이, remote 명령어에서 바로 URL 정보를 얻어올 수도 있다.

git remote get-url origin

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.3-10.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 3.10: 원격 저장소 이름 변경하기

등록된 원격 저장소의 이름을 변경하가 위해서는, git remote rename 명령어를 이용한다.

git remote rename 명령어는 두개의 파라미터를 받는다:

  • 기존 등록된 원격 저장소 이름 : 예) origin
  • 새롭게 부여할 원격 저장소 이름 : 예) destination

현재 등록된 원격 저장소들의 이름 확인하기

git remote # origin

현재 등록된 원격 저장소 목록을 URL 정보와 함께 확인하기

git remote -v # origin https://github.com/username/repo.git (fetch) # origin https://github.com/usernam/repo.git (push)

원격 저장소의 이름 변경하기

git remote rename origin destination # Change remote name from 'origin' to 'destination'

변경된 이름 확인하기

git remote -v # destination https://github.com/username/repo.git (fetch) # destination https://github.com/usernam/repo.git (push)

=== 명령어 수행 중 발생 가능한 에러들 ===

  1. Could not rename config section 'remote.[old name]' to 'remote.[new name]'

    이 에러는 변경하고자 하는 기존 원격 저장소 이름 (예:origin) 이 존재하지 않을 때 발생한다.

  2. Remote [new name] already exists.

    (에러 메시지 스스로가 잘 설명하고 있다.) 변경하려고 하는 새로운 원격 저장소 이름이 이미 존재한다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.3-9.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 3.9: 원격 브랜치에 push 하기

원격 저장소의 특정 브랜치에 push 하기 위한 명령어는 다음과 같다:

git push <remote_name> <branch_name>

예제

git push origin master

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.3-8.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 3.8: 새로운 브랜치에 Upstream 정보 설정하기

새로운 브랜치를 만들고 해당 브랜치로 전환 (switch) 하려면 아래와 같이 입력한다.

git checkout -b AP-57

이렇게 새로운 브랜치를 생성한 이후에, push 명령어에 사용될 upstream origin 정보를 아래와 같이 설정할 수 있다.

git push --set-upstream origin AP-57

위와 같이 설정하고 나면, 이후로는 해당 브랜치에서 git push 만 입력해서 설정해놓은 upstream 브랜치에 push 할 수 있다.

역주: --set-upstream 설정을 해놓지 않은 경우 git push origin AP-57 처럼 명시적으로 origin 의 특정 브랜치에 push 할 수 있습니다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.3-7.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 3.7: 새로운 원격 저장소 추가하기

git remote add upstream git-repository-url

위 명령어는 "git-repository-url" 주소에 해당하는 원격 git 저장소를 "upstream" 이라는 이름의 원격 저장소로 자신의 git 저장소 내에 새로이 추가한다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts