728x90
반응형

Merge 10

Git에서 마스터 브랜치를 완전히 다른 브랜치에서 대체하는 방법

질문 : Git에서 마스터 브랜치를 완전히 다른 브랜치에서 대체하는 방법은 무엇입니까? 내 Git 저장소에 두 개의 분기가 있습니다. master 로 병합 할 의도로 seotweaks 를 만들었습니다. 그러나 그것은 3 개월 전이고이 브랜치의 코드는 master 보다 13 개 버전이 앞서 있습니다. 의 코드 모든 그것은 효과적으로 우리의 작업 마스터 지점이되었다 master 지금은 다소되지 않습니다. 내가 아는 아주 나쁜 연습, 교훈을 얻었습니다. master 브랜치 seotweaks 에있는 콘텐츠로 대체 할 수있는 방법을 알고 있습니까? master 에서 모든 것을 삭제하고 병합 할 수 있지만 이것이 모범 사례처럼 느껴지지 않습니다. 답변 "ours"병합 전략을 사용하여 마스터를 다음과 같이 seotw..

개발관련/Git 2021.12.29

C# 컴파일 된 실행 파일에 DLL을 포함하는 방법

질문 : 컴파일 된 실행 파일에 DLL 포함 컴파일 된 C # 실행 파일에 기존 DLL을 포함 할 수 있습니까 (배포 할 파일이 하나만 있도록)? 가능하다면 어떻게할까요? 일반적으로 나는 DLL을 외부에두고 설치 프로그램이 모든 것을 처리하도록하는 것이 멋지지만, 직장에서이 질문을 한 두 사람이 있었는데 솔직히 모르겠습니다. 답변 Costura.Fody 를 사용하는 것이 좋습니다. 어셈블리에 리소스를 포함하는 가장 쉽고 쉬운 방법입니다. NuGet 패키지로 제공됩니다. Install-Package Costura.Fody 프로젝트에 추가 한 후 출력 디렉터리에 복사 된 모든 참조를 주 어셈블리에 자동으로 포함합니다. 프로젝트에 대상을 추가하여 포함 된 파일을 정리할 수 있습니다. Install-CleanR..

개발관련/other 2021.12.19

Git으로 GitHub에서 특정 분기 가져오기

질문 : Git은 GitHub에서 특정 분기를 가져옵니다. 여러 지점이있는 프로젝트가 있습니다. 나는 그들을 GitHub 로 밀고 있었고, 이제 다른 누군가가 프로젝트를 진행하고 있으므로 GitHub에서 브랜치를 가져와야합니다. 마스터에서 잘 작동합니다. xyz 브랜치를 만들었다 고합시다. GitHub에서 브랜치 xyz 를 가져와 내 localhost xyz 에 병합하려면 어떻게해야합니까? 사실 여기 내 대답을 : 망할 놈의 푸시 및 풀 가지 하지만 "! [거부 됨]"오류와 "빨리 감기가 아님"에 대한 내용이 표시됩니다. 어떤 제안? 답변 하지만 "! [거부 됨]"오류와 "빨리 감기가 아님"에 대한 내용이 표시됩니다. Git이 브랜치의 변경 사항을 현재 마스터로 병합 할 수 없기 때문입니다. master..

개발관련/Git 2021.12.12

Swift에서 배열을 연결하거나 병합하는 방법

질문 : Swift에서 배열을 어떻게 연결하거나 병합합니까? 다음과 같이 신속하게 생성 된 두 개의 배열이있는 경우 : var a:[CGFloat] = [1, 2, 3] var b:[CGFloat] = [4, 5, 6] [1, 2, 3, 4, 5, 6] 어떻게 병합 할 수 있습니까? 답변 + 배열을 연결하여 새 배열을 만들 수 있습니다. let c = a + b print(c) // [1.0, 2.0, 3.0, 4.0, 5.0, 6.0] += (또는 append )를 사용하여 한 배열을 다른 배열에 추가합니다. a += b // Or: a.append(contentsOf: b) // Swift 3 a.appendContentsOf(b) // Swift 2 a.extend(b) // Swift 1.2 pr..

개발관련/other 2021.12.11

`git merge`와`git merge --no-ff`의 차이점

질문 : `git merge`와`git merge --no-ff`의 차이점은 무엇입니까? gitk log 사용하면 둘 사이의 차이점을 찾을 수 없습니다. 차이점을 어떻게 관찰 할 수 있습니까 (git 명령 또는 일부 도구 사용)? 답변 --no-ff 플래그는 HEAD 가 병합하려는 커밋의 조상 git merge 가 "빨리 감기"를 실행하는 것을 방지합니다. 빨리 감기는 병합 커밋을 구성하는 대신 git이 들어오는 커밋을 가리 키도록 분기 포인터를 이동하는 경우입니다. 이것은 일반적으로 로컬 변경없이 git pull 을 수행 할 때 발생합니다. 그러나 때로는 특정 분기 토폴로지를 유지하기를 원하기 때문에 이러한 동작이 발생하는 것을 방지하고 싶을 때가 있습니다 (예 : 토픽 분기에서 병합하고 히스토리를 읽..

개발관련/Git 2021.12.11

git cherry-pick "...38c74d is a merge but no -m option was given"

질문 : git cherry-pick은 "… 38c74d는 병합이지만 -m 옵션이 제공되지 않았습니다"라고 말합니다. 마스터 브랜치에서 몇 가지 변경을 수행했으며이를 업스트림으로 가져오고 싶습니다. 내가 다음 커밋을 체리 선택하면. 그러나 나는 git이 말하는 fd9f578에 붙어 있습니다. $ git cherry-pick fd9f578 fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given. git은 나에게 말하려는 것이 무엇이며 여기에서 사용하기에 적합한 것을 체리 선택합니까? 마스터 브랜치에는 업스트림 브랜치에서 수정 된 파일에 대한 변경 사항이 포함되어 있으므로 병합 충돌이있을 것이라고 ..

개발관련/Git 2021.11.10

Git에 가장 적합한 시각적 병합 도구에 대해서

질문 : Git에 가장 적합한 시각적 병합 도구는 무엇입니까? Git에서 병합을보고 편집하는 데 가장 적합한 도구는 무엇입니까? 별도의 패널에 "mine", "theirs"및 "ancestor"와 네 번째 "출력"패널이있는 3 방향 병합보기를 얻고 싶습니다. 또한 해당 도구를 호출하는 지침이 좋을 것입니다. (나는 여전히 kdiff3를 오류가 발생하지 않는 방식으로 시작하는 방법을 찾지 못했습니다.) 내 OS는 Ubuntu입니다. 답변 Meld 는 무료 오픈 소스 및 크로스 플랫폼 (UNIX / Linux, OSX, Windows) diff / merge 도구입니다. 설치 방법은 다음과 같습니다. 우분투 맥 Windows : "권장되는 Windows 용 Meld 버전은 https://meldmerge.o..

개발관련/Git 2021.09.29

다른 git 병합 전략 사용 시기

질문 : 다른 git 병합 전략을 언제 사용합니까? git-merge의 man 페이지에서 사용할 수있는 병합 전략이 많이 있습니다. resolve -3 방향 병합 알고리즘을 사용하여 두 개의 헤드 (즉, 현재 분기와 가져온 다른 분기) 만 해결할 수 있습니다. 교차 병합 모호성을주의 깊게 감지하려고 시도하며 일반적으로 안전하고 빠른 것으로 간주됩니다. 재귀 -3 방향 병합 알고리즘을 사용하여 두 개의 머리 만 해결할 수 있습니다. 3 방향 병합에 사용할 수있는 공통 조상이 둘 이상인 경우 공통 조상의 병합 트리를 생성하고이를 3 방향 병합에 대한 참조 트리로 사용합니다. 이는 Linux 2.6 커널 개발 기록에서 가져온 실제 병합 커밋에 대해 수행 된 테스트에서 잘못된 병합을 일으키지 않고 병합 충돌을 ..

개발관련/Git 2021.09.16

'git merge'와 'git rebase'의 차이점

질문 : 'git merge'와 'git rebase'의 차이점은 무엇입니까?git merge 와 git rebase 의 차이점은 무엇입니까?답변원래 3 개의 커밋 A , B , C 가 있다고 가정합니다.그런 다음 개발자 Dan은 커밋 D 생성하고 개발자 Ed는 커밋 E 생성했습니다.분명히이 갈등은 어떻게 든 해결되어야합니다. 이를 위해 두 가지 방법이 있습니다.이동 :커밋 D 와 E 모두 여전히 여기에 있지만 D 와 E 모두에서 변경 사항을 상속하는 M 을 만듭니다. 그러나 이것은 많은 사람들이 매우 혼란스럽게 생각하는 다이아몬드 모양을 만듭니다.REBASE :실제 파일 내용이 M 과 동일한 커밋 R 생성합니다. 그러나 우리는 E 제거합니다 (점-소실 선으로 표시됨). 이러한 삭제로 인해 E 는 개발자..

개발관련/Git 2021.09.14

두 개의 Git 저장소를 병합하는 방법

질문 : 두 개의 Git 저장소를 어떻게 병합합니까? 다음 시나리오를 고려하십시오. 자체 Git 저장소에서 작은 실험 프로젝트 A를 개발했습니다. 이제 성숙 해졌고, A가 자체적으로 큰 저장소가있는 더 큰 프로젝트 B의 일부가되기를 바랍니다. 이제 A를 B의 하위 디렉토리로 추가하고 싶습니다. 어떤면에서 기록을 잃지 않고 A를 B로 병합하려면 어떻게해야합니까? 답변 다른 저장소의 단일 분기는 기록을 유지하는 하위 디렉토리 아래에 쉽게 배치 할 수 있습니다. 예를 들면 : git subtree add --prefix=rails git://github.com/rails/rails.git master 이것은 Rails 마스터 브랜치의 모든 파일이 "rails"디렉토리에 추가되는 단일 커밋으로 나타납니다. 그러..

개발관련/Git 2021.07.16
728x90
반응형