히스토리없이 새 브랜치를 푸시하는 방법
두 개의 관련되지 않은 분기, 마스터 및 구성이있는 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를 사용하고 있다면 이것이 내가 그것을 할 수 있었던 방법입니다. 소스 제어 관리에 대해 잘 모르기 때문에 내가 잘못했거나 잊어 버린 경우 알려주십시오.
- 소스 트리의 터미널 버튼으로 이동했습니다.
- 'git checkout --orphan clean-ver'명령을 사용하여 새로운 '고아'브랜치를 만들었습니다. 여기서 clean-ver는 내 브랜치 이름입니다.
- 터미널을 닫고 새 고아 분기에 있었기 때문에 커밋 로그가 지워지는 것을 확인했습니다. 모든 소스 코드를 준비하고 변경 사항을 커밋했습니다.
- 저장소> 원격 추가 또는 저장소> 저장소 설정> 추가에서 내 bitbucket 저장소를 설정했습니다.
- 그것을 닫고 누름 버튼을 클릭했습니다.
- 나는 나의 새로운 'clean-ver'지점을 선택했다.
bitbucket을 확인했을 때 이것이 작동하고 내 커밋 기록을 버린 것 같습니다.
이것이 누군가를 돕기를 바랍니다.
참고 URL : https://stackoverflow.com/questions/12543055/how-to-push-new-branch-without-history
'Programing' 카테고리의 다른 글
data.frame에서 누락 된 값을보고하는 우아한 방법 (0) | 2020.10.26 |
---|---|
여러 파일로 구성된 Go 프로그램을 컴파일하는 방법은 무엇입니까? (0) | 2020.10.26 |
Facebook의 sharer.php를 어떻게 사용자 정의합니까? (0) | 2020.10.26 |
IntelliJ Idea Ctrl + Alt + Left 바로 가기가 Ubuntu에서 작동하지 않음 (0) | 2020.10.26 |
모든 배열 항목이 비어 있는지 확인 PHP (0) | 2020.10.26 |