Programing

히스토리없이 새 브랜치를 푸시하는 방법

crosscheck 2020. 10. 26. 07:43
반응형

히스토리없이 새 브랜치를 푸시하는 방법


두 개의 관련되지 않은 분기, 마스터 및 구성이있는 git repo가 ​​있습니다. 구성을 만들고 모든 파일을 제거한 다음 구성 파일에만 배치했습니다. 이제 이것을 원격 저장소에 푸시하고 싶지만 새롭고 빈 분기이므로 (모든 변경 사항 및 원래 분기의 이전 개정에 대한 로그가 없음).

모든 히스토리를 제거하고 푸시하려면 어떻게해야합니까?


모든 파일을 제거해도 기록이 제거되지는 않습니다. 먼저 기록이없는 브랜치를 생성하고 구성 파일을 추가해야합니다. 요즘 git checkout에는 --orphan역사가없는 지점을 만드는 옵션이 있습니다. --orphan옵션 에 대한 정보는 다음과 같습니다 .

--orphan <new_branch>

<start_point>에서 시작하여 <new_branch>라는 새 고아 분기를 만들고 전환합니다. 이 새로운 브랜치에서 만들어진 첫 번째 커밋에는 부모가 없으며 다른 모든 브랜치 및 커밋과 완전히 분리 된 새로운 역사의 뿌리가 될 것입니다.

인덱스와 작업 트리는 이전에 "git checkout <start_point>"를 실행 한 것처럼 조정됩니다. 이렇게하면 루트 커밋을 만들기 위해 "git commit -a"를 쉽게 실행하여 <start_point>와 유사한 경로 집합을 기록하는 새 기록을 시작할 수 있습니다.

전체 히스토리를 노출하지 않고 커밋에서 트리를 게시하려는 경우 유용 할 수 있습니다. 현재 트리가 "깨끗한"프로젝트의 오픈 소스 브랜치를 게시하기 위해이 작업을 수행 할 수 있지만 전체 기록에 독점적이거나 다른 코드 조각이 포함되어 있습니다.

<start_point>의 경로와 완전히 다른 경로 집합을 기록하는 연결 해제 기록을 시작하려면 "git rm -rf. " 작업 트리의 최상위 수준에서. 그 후에는 새 파일을 준비하고, 작업 트리를 다시 채우고, 다른 곳에서 복사하고, 타르볼을 추출하는 등의 작업을 할 수 있습니다.

다음은 체크 아웃 문서 링크 입니다. 당신은 또한 실행할 수 있습니다 git help checkout.

히스토리없이 브랜치를 생성 한 후 서버로 푸시하면 히스토리도 포함되지 않습니다. FWIW를 사용하면 git push"원격 지점을 내 로컬 지점과 동일하게 보이게" 라고 생각할 수 있습니다. 따라서 역사가 있고 푸시하면 역사가 있습니다. 그렇지 않으면 푸시 된 분기가 작동하지 않습니다.


모든 히스토리를 제거하고 푸시하려면 어떻게해야합니까?

git checkout --orphan <name_you_choose_for_orphan_branch>
git commit

그런 다음 실행할 수 있습니다.

git push <remote-name> <branch-name>


cf. 이 한 줄짜리


개인 정보를 공유하거나 내 기록을 삭제하지 않고 프리랜서에게 코드를 보내려면 이렇게해야했습니다.

당신 중 누구라도 SourceTree를 사용하고 있다면 이것이 내가 그것을 할 수 있었던 방법입니다. 소스 제어 관리에 대해 잘 모르기 때문에 내가 잘못했거나 잊어 버린 경우 알려주십시오.

  1. 소스 트리의 터미널 버튼으로 이동했습니다.
  2. 'git checkout --orphan clean-ver'명령을 사용하여 새로운 '고아'브랜치를 만들었습니다. 여기서 clean-ver는 내 브랜치 이름입니다.
  3. 터미널을 닫고 새 고아 분기에 있었기 때문에 커밋 로그가 지워지는 것을 확인했습니다. 모든 소스 코드를 준비하고 변경 사항을 커밋했습니다.
  4. 저장소> 원격 추가 또는 저장소> 저장소 설정> 추가에서 내 bitbucket 저장소를 설정했습니다.
  5. 그것을 닫고 누름 버튼을 클릭했습니다.
  6. 나는 나의 새로운 'clean-ver'지점을 선택했다.

bitbucket을 확인했을 때 이것이 작동하고 내 커밋 기록을 버린 것 같습니다.

이것이 누군가를 돕기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/12543055/how-to-push-new-branch-without-history

반응형