반응형

Git 41

깃체리픽 vs 리베이스

깃체리픽 vs 리베이스 저는 최근에 깃과 함께 일하기 시작했습니다. Git book을 온라인으로 살펴보니 "Git Rebase" 섹션 아래에 다음이 있습니다. rebase 명령을 사용하면 한 분기에서 커밋된 모든 변경 내용을 가져다가 다른 분기에서 다시 재생할 수 있습니다. (인용: http://git-scm.com/book/en/Git-Branching-Rebasing) 이것이 깃체리픽의 정확한 정의라고 생각했습니다(현재 체크아웃된 분기에서 커밋 또는 커밋 개체 집합을 다시 적용). 그 둘의 차이점은 무엇입니까?ㅇgit cherry-pick커밋을 할 수 , 그 , 진화라고 ;-)을할는을고수만소로그한다은릴고렴은러,)한다;릴d고만렴은소s,;eoo)eeeye을gots러 진정한 차이는 두 가지 도구를 모두 만..

source 2023.09.09

Git 프로젝트가 동일하고 지점이 다른 Visual Studio 인스턴스 2개를 여는 방법

Git 프로젝트가 동일하고 지점이 다른 Visual Studio 인스턴스 2개를 여는 방법 비주얼 스튜디오 인스턴스 2개를 열어야 합니다. 하나는 프로젝트 X/브랜치 1의 코드만 보는 것이고, 다른 하나는 프로젝트 X/브랜치 2의 코드만 보는 것입니다. 어떻게 하면 커밋을 할 때 변화를 잃지 않고 할 수 있을까요?여기서의 문제는 비주얼 스튜디오가 아니라 Git의 작동 방식에 관한 것입니다.branch in git를 체크아웃하면 branch in working tree 또는 (파일 구조, 원하는 이름으로) branch in the working tree에 branch in the working tree 또는 (파일 구조)가 배치됩니다. git를 사용하면 한 번에 하나의 지점만 체크아웃할 수 있지만, 해결책..

source 2023.09.09

라인이 삭제/제거되었을 때 커밋을 찾는 방법은 무엇입니까?

라인이 삭제/제거되었을 때 커밋을 찾는 방법은 무엇입니까? Git 저장소의 파일에 삭제된 줄이 있습니다.누락된 텍스트 중 일부와 파일을 알고 있었기 때문에git log -S'missingtext' /path/to/file. 하지만 돌아온 것은 누락된 텍스트가 포함된 줄을 추가한 커밋뿐입니다.HEAD에 텍스트가 없었고, 이 텍스트를 추가한 커밋이 브랜치에 있었기 때문에 브랜치 기록에 있는 커밋 중 하나가 이 텍스트를 제거했을 것이라는 것을 알고 있었지만 표시되지 않았습니다. 일부 수동 검색 후 병합을 위한 충돌을 해결하는 동안 실수로 라인이 제거된 것으로 나타났습니다.그래서 궁금한게 있어요. 이것이 곡괭이가 라인을 삭제한 커밋을 찾지 못한 이유입니까? 제가 어떻게 "누락된 텍스트"가 삭제된 곳을 찾을 수 ..

source 2023.09.04

원격 없이 모든 로컬 분기 나열

원격 없이 모든 로컬 분기 나열 例제:.리모컨이 없는 모든 로컬 지점을 삭제하는 방법을 원합니다.을 지의이쉽연게수결있다습니할가을름▁a▁▁to다▁it로 연결하는 것은 git branch -D {branch_name}하지만 애초에 어떻게 그 목록을 얻을 수 있을까요? 예: 원격 없이 새 분기를 만듭니다. $ git co -b no_upstream 내 모든 지점을 나열하고 리모컨이 있는 지점은 $ git branch -a master * no_upstream remotes/origin/HEAD -> origin/master remotes/origin/master 어떤 명령을 실행하여 가져올 수 있습니까?no_upstream답으로? 달릴 수 있습니다git rev-parse --abbrev-ref --symbol..

source 2023.08.30

Git이 없는 파일에 Git SHA1을 할당하는 방법은 무엇입니까?

Git이 없는 파일에 Git SHA1을 할당하는 방법은 무엇입니까? Git가 파일에 SHA1 해시를 할당할 때 이 SHA1은 내용에 따라 파일에 고유합니다. 따라서 파일이 한 리포지토리에서 다른 리포지토리로 이동하는 경우 파일의 SHA1은 내용이 변경되지 않은 상태로 유지됩니다. Git는 SHA1 다이제스트를 어떻게 계산합니까?압축되지 않은 전체 파일 내용에 적용됩니까? 저는 Git 외부에 SHA1을 할당하는 것을 본받고 싶습니다.다음은 Git가 파일(또는 Git 용어로 "거품")에 대한 SHA1을 계산하는 방법입니다. sha1("blob " + filesize + "\0" + data) 따라서 Git를 설치하지 않고도 직접 쉽게 계산할 수 있습니다."\0"은 2자 문자열이 아닌 NULL 바이트입니다. ..

source 2023.08.26

기본값 롤백 방법 Git

기본값 롤백 방법 Git Git에서 베이스가 마음에 들지 않으면 어떻게 롤백합니까? Git은 리베이스를 위한 드라이 런이 없습니다.기본 재배치를 수행했지만 아직 푸시하지 않은 경우 이전으로 롤백하려면 어떻게 해야 합니까?reflog를 사용하여 기본 재배치가 시작되기 전에 첫 번째 작업을 찾은 다음 다시 초기화할 수 있습니다. 예를 들어, 다시 초기화할 수 있습니다. $ git reflog b710729 HEAD@{0}: rebase: some commit 5ad7c1c HEAD@{1}: rebase: another commit deafcbf HEAD@{2}: checkout: moving from master to my-branch ... $ git reset HEAD@{2} --hard 이제 당신은 리..

source 2023.08.20

Git에서 분기의 해시를 찾는 방법은 무엇입니까?

Git에서 분기의 해시를 찾는 방법은 무엇입니까? 로컬/원격 지점 이름을 지정하면 이 지점이 가리키는 커밋의 해시를 어떻게 가져올 수 있습니까?명령어는 친구입니다. 예: $ git rev-parse development 17f2303133734f4b9a9aacfe52209e04ec11aff4 또는 원격 감지 분기의 경우: $ git rev-parse origin/master da1ec1472c108f52d4256049fe1f674af69e785d 이 명령은 일반적으로 지점 이름을 지정하는 모든 방법을 구문 분석할 수 있기 때문에 매우 유용합니다.git예: git rev-parse master~3 git rev-parse HEAD@{2.days.ago} ...기타.Git 2.19 (2018년 2분기) 이후..

source 2023.08.20

다른 분기의 특정 커밋에서 분기를 생성하는 방법

다른 분기의 특정 커밋에서 분기를 생성하는 방법 저는 마스터 브랜치에서 여러 커밋을 수행한 후 개발 브랜치에 병합했습니다. 마스터 브랜치에서 처음 커밋된 dev 브랜치의 특정 커밋에서 브랜치를 만들고 싶습니다. 다음 명령을 사용했습니다. git checkout dev git branch 그러나 이것은 내가 예상했던 개발 브랜치가 아닌 마스터 브랜치에서 브랜치를 생성합니다.커밋 ID가 마스터 분기와 dev 분기에서 동일합니다.그렇다면 다른 분기에서 동일한 커밋 ID를 어떻게 구별할 수 있을까요? PS: 저는 GitHub에서 예시를 만들었습니다. 다음 명령을 사용했습니다. git checkout dev git branch test 07aeec983bfc17c25f0b0a7c1d47da8e35df7af8 테스..

source 2023.08.20

github의 동일한 분기에서 서로 다른 두 커밋을 비교하는 방법은 무엇입니까?

github의 동일한 분기에서 서로 다른 두 커밋을 비교하는 방법은 무엇입니까? GitHub에서 동일한 지점의 역사를 비교하는 것은 저에게 매우 혼란스럽습니다.저는 이것에 대해 정기적으로 어려움을 겪고 있습니다. 사용할 경우compare/masterGitHub repo 이름 뒤의 URL에서 드롭다운 메뉴의 옵션을 기준으로 repo의 다른 지점과 비교할 수 있습니다. https://help.github.com/en/articles/comparing-commits-across-time 그러나 일반적으로 마스터에 대한 여러 커밋을 비교하려고 합니다. 어떻게 쉽게 할 수 있습니까?좀 더 명확한 예를 들어볼 수 있을까요?다음 URL 구조를 사용하여 동일한 분기의 커밋을 비교할 수 있습니다. github.com//..

source 2023.08.15

git 모든 파일을 체크아웃합니다.

git 모든 파일을 체크아웃합니다. 저장소의 모든 파일에 있는 모든 변경 사항을 제거하려면 어떻게 해야 합니까? 제가 지점에 있는데 몇 가지 변경을 했다고 칩니다. git status"Changes not stageed for commit"의 파일 집합을 반환하며 모든 파일에서 이러한 변경 사항을 모두 제거합니다.명령 하나로 어떻게 할 수 있습니까? 파일 하나만 체크아웃하려면 다음 작업을 수행할 수 있습니다. git checkout -- 나는 그것을 알아챘다.git checkout --alone은 커밋되지 않은 모든 파일의 목록을 반환합니다.하지만, 저는 그것들을 모두 확인할 방법을 찾을 수 없습니다.git checkout --all. 확인했습니다man git checkout아무것도 찾을 수 없었습니다...

source 2023.07.01
반응형