GitHub에 빈 분기 만들기
새로운 GitHub 지점을 만들고 싶습니다.release
.
이 분기는 비워 두어야 합니다!하지만 기존에 x개의 커밋이 있는 브랜치가 있어서 커밋 내역을 가지고 싶지 않습니다.
내가 찾은 유일한 방법은 로컬을 만드는 것입니다. --orphan
분점.
2021년 11월 업데이트:Git 버전 2.27부터 이제 사용할 수 있습니다.git switch --orphan <new branch>
기록이 없는 빈 분기를 만듭니다.
와는 달리git checkout --orphan <new branch>
이 분기에는 현재 분기의 파일이 없습니다(git가 추적하지 않는 파일은 저장).
이 방법은 이전 내역이 없는 빈 분기를 만드는 기본 방법입니다.
이 분기에 실제로 커밋이 있으면 다음을 통해 Github으로 푸시할 수 있습니다.git push -u origin <branch name>
:
git switch --orphan <new branch>
git commit --allow-empty -m "Initial commit on orphan branch"
git push -u origin <new branch>
원답:
무슨 문제가 있습니까?--orphan
옵션?만약 당신이 비어있고 기록이 없는 가지를 원한다면, 이것이 방법입니다...
git checkout --orphan empty-branch
그런 다음 스테이징 영역에 있는 모든 파일을 제거하여 파일이 커밋되지 않도록 할 수 있습니다.
git rm -rf .
이 시점에서 시스템에 빈 분기가 있습니다.
GitHub(또는 다른 Git 저장소)에 푸시하기 전에 빈 분기를 푸시할 수 없으므로 콘텐츠가 없는 경우에도 하나 이상의 커밋이 필요합니다(즉, 빈 커밋).
git commit --allow-empty -m "root commit"
마지막으로, 리모콘에 밀어넣고, 맥주를 따세요.
git push origin empty-branch
--orphan
로컬에서 빈 분기를 만드는 데 유용하지만, 이를 푸시하거나 다른 분기와 상호 작용하려면 커밋이 필요합니다.
다른 분기와 상호 작용할 수 없으므로 분리된 분기에 새 커밋을 만드는 것은 좋은 생각이 아닙니다.예.
git checkout --orphan test
git commit --allow-empty -m "init test branch"
git merge master
fatal: refusing to merge unrelated histories
대신 마스터의 첫 번째 커밋에서 새 분기를 만드는 것을 선호해야 합니다.커밋이 비어 있지 않으면 @houtanb에서 설명한 것처럼 첫 번째 커밋 앞에 빈 커밋을 추가할 수 있습니다.
여기에 있는 지침에 따라 루트에 빈 커밋을 만들 수도 있습니다.master
분점.그런 다음 당신의 것을 만듭니다.release
빈 루트 커밋이 있는 분기입니다.
수락된 답변은 저를 몇 가지 문제로 이끌었고, 그래서 저는 다음과 같이 했습니다.
$ git branch
* staging
$ git branch master c74d99cf46f6ed23e742f2617e9908294b4a608b
$ git checkout master
Switched to branch 'master'
그리고 원하는 것을 얻었고 병합/풀 요청 문제가 발생하지 않았습니다.두 번째 지점을 만들기 위해 기본 커밋을 선택해야 했습니다.
받아들여진 답이 정말로 가야 할 길입니다.그러나 새로 생성된 신규 개발 분기에 병합할 수 없는 다른 분기가 이미 있는 경우에는 기본 재배치를 수행하고 개발을 위해 병합해야 하는 분기에서 다음을 실행하는 것이 개인적으로 가장 좋습니다.
git rebase develop
이렇게 하면 초기 커밋이 분기에서 병합되는 첫 번째 커밋이 됩니다.물론 주의사항이 있습니다 :) 리베이스를 수행하여 분기에 기록을 다시 작성하고 있습니다.따라서 분기를 원점으로 강제 푸시해야 합니다.
git push -f
브랜치를 사용하는 다른 사람들은 지금 풀링할 수 없으므로 페칭이 개발된 후 로컬에서 리베이스도 수행해야 합니다.재배치가 필요한 분기에 있다고 가정합니다.
git fetch
git rebase origin/develop
언급URL : https://stackoverflow.com/questions/34100048/create-empty-branch-on-github
'programing' 카테고리의 다른 글
.NET에 좀비가 존재합니까? (0) | 2023.05.15 |
---|---|
Xcode 8.3 / Xcode 9.0 프로비저닝 프로파일 디바이스 새로 고침 (0) | 2023.05.15 |
Int, Int16, Int32 및 Int64의 차이점은 무엇입니까? (0) | 2023.05.15 |
파이썬 3에서 stdout에 이진 데이터를 쓰는 방법은 무엇입니까? (0) | 2023.05.15 |
POSTgres에서 LIKE와 ~의 차이 (0) | 2023.05.15 |