2017-12-12 37 views
0

패치가있는 커널 소스 코드가 tgz 아카이브에 있습니다. 대부분의 패치는 커널 git에 알려져 있지만 어떤 패치가 통합되었는지는 알지 못합니다. 어떤 패치가 소스 코드에 적용되었는지 어떻게 알 수 있습니까?커널 소스 tgz에서 적용된 패치 찾기

+0

어떻게 패치를 만들었습니까? 그리고 소스 코드는 무엇이며 패치를 소스 코드에 적용한다는 것은 무엇을 의미합니까? –

+0

죄송합니다 패치는 아마도 잘못된 용어입니다. git이 커밋한다는 의미입니다. .git dir없이 어떤 git 커밋이 소스 트리에 적용되었는지 확인할 수 있습니까? 소스 아카이브를 가져 오는 것과 커밋이 적용되는 로컬 자식 repo에 대한 확인과 같은 것입니다. – HMcGregor

+0

git repo 디렉토리 밖에서 git 커밋을 확인할 수 없습니다. 외부 디렉토리를 youe git repo 디렉토리 안에있는 지사로 옮겨야합니다. 아래 답변에 대한 자세한 내용. –

답변

0

소스 코드를 git repo 외부로 복사하는 것 같습니다 (애플리케이션의 프로덕션 환경이라고 부르 자). 그리고 git repo의 최신 커밋이 (git repo 외부의) 프로덕션 환경에 적용되는지 확인하고 싶습니다.

위의 상황이 충족되는 경우 직접 응답은 아니오입니다. 하지만 당신은 git repo 안에 지점으로 프로덕션 환경을 hange 수 있습니다.

git repo의 경우 일반적으로 분기를 사용하여 개별적으로 실행됩니다. 또한 지점간에 변경 사항을 적용해야하는 경우 지점/작업/환경을 동기화합니다. 상황에, 당신은 당신의 자식의 repo에서 두 가지 작업을 할 수 있습니다

  • master 지점 : 일을 당신의 자식의 repo 내부의 생산 환경으로.
  • develop 지점 : 단지 master 지점에 develop 지점을 병합, 새로운 변화/기능을 개발하거나 master 지점 (생산 환경)에 변경 사항을 적용 할 준비가되었을 때,이 지점에 버그를 수정. 아래로 워크 플로

단계 :

는 가정, 당신은 지금 master 분기에만 작동하며, 아래와 같은 커밋 역사 :

…---A---B---C master 

이제 광고를하여 evelop 분기를 만들 수 있습니다 git checkout -b develop을 입력 한 다음이 분기로 작동합니다 (아래 그림에서 D, EF을 커밋). 커밋 기록은 다음과 같습니다.

…---A---B---C master 
      \ 
       D---E---F develop 

master 지점 (생산 환경)에 develop 지점에서 커밋을 적용 할가, 다음 명령을 사용합니다

git checkout master 
git merge develop 

을 그리고 역사가 될 것입니다 커밋 (master 지점 및 develop 지점 둘 점은 최근에) F 커밋 :

…---A---B---C---D---E---F master, develop 

그리고 더 세부 모델을 분기를 들어, 당신은 또한 A successful Git branching model를 참조 할 수 있습니다.