반응형

분류 전체보기 131

GIT : 특정 파일 diff 하는 방법, 명령어

특정 파일 diff diff의 범위를 특정 파일이나 파일들로 좁히는 것입니다. 예를 들면, 등록되지 않은 모든 변경사항이나 마지막 커밋 이후에 등록된 모든 변경사항 등 실제로 살펴보고 있는 모든 것들 대신에 범위를 줄여서, 이 파일 안에 있는 것만 출력하라고 할 수 있습니다. 지금 스테이지에 등록된 모든 변경사항들을 보고 있습니다. 하지만 numbers.txt 파일의 변경사항만 출력하라고 할 수도 있습니다. 그리고 우리가 보고 있는 것이 그것입니다 마지막 커밋 이후에 어떤 변화가 있었는지 보고 싶어서 git diff HEAD를 실행합니다. 하지만 여전히 작업이 진행 중이고 몇 시간이 흘렀다고 가정합니다. 이제 마지막 커밋 이후에 main.css 파일의 변경사항만 보고 싶다면 이 style/main.css..

GIT 12:00:57

GIT : diff로 스테이징된 변경 사항 보는 방법(staged, cached)

스테이징된 변경 사항 보기 git diff의 또다른 변형으로 git diff --staged 또는 git diff --cashed가 있는데 이 둘은 동일한 것으로 이름만 다를 뿐입니다. 두 옵션 모두 스테이지에 등록된 변경사항만을 보여줍니다. 등록되지 않은 변경사항을 보는 방법을 살펴봤고 등록되지 않은 것과 등록된 변경사항을 보는 방법도 살펴보았습니다. 이 두 옵션들은 단지 등록된 파일만을 보여주는 옵션입니다. 마지막 커밋과 스테이지 영역 사이의 차이점이 있습니다. 커밋될 변경사항은 numbers.txt파일로, ONE을 추가했습니다. 그리고 colors 파일에도 일부 변경된 것이 있습니다. violet을 추가했는데, 스테이지에는 등록되지 않았습니다. 이제 git diff --staged를 실행하면, nu..

GIT 2023.01.27

GIT : diff로 작업 디렉토리 변경 사항 보는 방법

git diff HEAD 이 명령은 마지막 커밋, 가장 나중에 실행된 커밋부터 워킹 디렉토리에 있는 모든 변경사항의 목록들을 나열해 줍니다. HEAD는 포인터이고, 브랜치에 있는 가장 마지막 커밋을 참조합니다. 그래서 HEAD가 어디에 있든 git HEAD를 실행하면, HEAD가 참조했던 그 이후에 변경했던 모든 것을 보게 됩니다. 그래서 여기서 다시 명령을 실행해 보면, git diff HEAD 스테이지에 등록한 것과 그렇지 않은 모든 변경사항을 모두 출력합니다. 그래서 git diff를 실행했을 때 보았던 것과 똑같은 결과를 볼 수 있습니다. 여기 보여지는 것은 스테이지에 등록하지 않은 변경사항입니다. 그리고 이것은 마지막 커밋 이후에 변경된 모든 것들을 보여주고 있습니다. 하지만 colors.txt..

GIT 2023.01.26

GIT : Diff 읽는 방법, 개념, 설명

git diff git diff 사용할 수 있는 방법, 다양한 변형, 옵션 등에 대해 얘기하기 전에 실행결과에 대해 논의해 봅시다. git diff에서 얻어지는 실행결과는 diff가 무엇이든 생성하려는 것은 항상 아주 비슷한 패턴을 따른다는 것입니다. 비교적 명확하게 일부 코드가 변경된 것을 알 수 있지만 +나 - 기호 앞에 아주 많은 것들이 있습니다. 그리고 @@같은 이상한 모양의 기호도 있습니다. 미미한 차이점을 정확하게 볼 수 있습니다. 아주 많은 것들이 있는데, 심지어 아주 미미한 변경사항에 대한 것들도 있습니다. 빨간색 글씨에 -기호가 앞에 있는 purple과 녹색 글씨에 +기호가 있는 indigo와 violet 이 diff의 결과물에서 볼 수 있는 것들이 무엇인지에 대해 알아보겠습니다. 가장 ..

GIT 2023.01.25

GIT : 브랜치 병합 충돌이 발생하는 경우, 개요

머지 병합 충돌 두 브랜치를 병합할 때, 깃은 자동적으로 모든 변경사항들을 병합하기 위해 최선을 다합니다. 빨리 감기 병합이든 아니면 병합 커밋을 만드는 것이든 자동적으로 병합하기 위해 애씁니다. 하지만 변경사항들이 충돌한다면, 브랜치에서 누군가가 파일을 수정했고, 병합하고 있는 두 번째 브랜치에서 누군가가 동일한 파일을 삭제한 경우 발생합니다. 또다른 상황은 만약 한 브랜치에서 어떤 파일의 77번째 라인을 편집하고, 누군가는 다른 브랜치에서 같은 작업을 할 수도 있습니다. 다른 브랜치에서 동일한 파일에서 똑같이 77번째 라인을 편집합니다. 깃은 자동적으로 병합하는 방법을 알지 못해서 어떤 것을 유지하고 어떤 것을 제거해야 하는지 결정하지 못합니다. 그래서 여기서 병합 충돌이 발생합니다. 직접 문제를 해..

GIT 2023.01.24

GIT : 브랜치 빨리 감기 병합, 머지, 설명, 개요

빨리 감기 병합 빨리 감기 병합은 특별한 경우의 병합으로 더 간단하게 수행할 수 있는 병합입니다. 명령어는 똑같지만 깃의 측면에서 보면 아주 쉬운 병합입니다. 왜냐하면 포인터를 특정 숫자의 커밋으로 옮기면 되고 아니면 특정 목적지 커밋까지 빨리 감기하면 됩니다. 만약 bugfix브랜치를 master에 병합한다면 master는 2개의 커밋을 빨리 감기합니다. 이것은 특별한 경우의 병합이라는 걸 기억해야 합니다. 모든 병합이 이런 방법으로 작동하는 것은 아닙니다. 또한 단계도 기억해 두어야 합니다. 첫 번째 단계는 목적지 또는 병합하려는 브랜치로 이동합니다. master 브랜치로 이동해야 하는데 만약 이미 master에 있고, 이 커밋들을 master에 병합하고 싶다고 해봅시다, 해야 할 일은 git mer..

GIT 2023.01.23

GIT : 브랜치 머지, 병합 명령어 예제, 개요, 설명

https://git-scm.com/docs/git-merge Git - git-merge Documentation During a merge, the working tree files are updated to reflect the result of the merge. Among the changes made to the common ancestor’s version, non-overlapping ones (that is, you changed an area of the file while the other side left that area intact, or git-scm.com 머지 병합 명령어 병합은 브랜치 작업의 필수적인 특징 중 하나입니다. 전반적인 아이디어는 브랜치를 사용해서 독립된 콘텍스..

GIT 2023.01.22

GIT: 브랜치 삭제, 이름 변경 방법, 예제

브랜치 삭제 초기에는 자주 사용할 일은 없습니다. 하지만 전문적으로 작업한다거나 수많은 브랜치가 있는 대규모 프로젝트에서 일한다면 새 브랜치를 만들고 병합하는 작업을 계속 하게 됩니다. 어떤 작업을 하고 병합하는 것은 아주 보편적인 일입니다. 특별한 이유없이 추가적인 브랜치를 원치 않는다면, 삭제할 수 있습니다. git branch 명령을 사용하면 브랜치 목록이 보여집니다. 또한 새로운 브랜치를 생성하고-d 옵션을 사용해서 깃 브랜치를 삭제할 수도 있습니다. 옵션 -d나 --delete로 브랜치를 삭제합니다. 새 브랜치 deleteMe로 이동하고, 브랜치를 삭제하기 위해 git branch -d 옵션을 사용합니다. git branch -d deleteMe 코드를 실행하면 오류가 발생하는데요. 메시지는 C..

GIT 2023.01.21

GIT : .gitignore로 파일 무시하는 방법은?

git ignore 프로젝트에서 작업하면서 깃을 사용할 때, 갖고 있는 파일이나 디렉토리가 어느 시점에서 깃에게 알려지거나 추적되는 것을 원치 않고 완벽하게 제외되길 원하는 상황이 가끔 있습니다. 그리고 이것을 위한 매커니즘이 있습니다. .gitignore라는 특정 파일을 생성할 수 있습니다. ignore 필요한 이유 가장 흔한 것 중의 하나는, 만약 코드를 작성하는 응용프로그램에서 API 키나 자격증명을 사용해서 작업하고 있거나 잠재적으로 신용카드와 연결된 아마존 웹서비스같은 종류의 응용프로그램의 비밀 또는 사용하고 있는 몇몇 API가 있다면 그것들이 세상밖으로 알려지는 것을 원치 않을 것입니다. 그래서 그런 것들을 별도의 파일에 넣습니다. 그리고 만약 코드를 깃허브에 푸시해서, 그 코드를 공유하고 공..

GIT 2023.01.20
반응형