기존의 다른 분기에 변경 사항을 커밋하는 방법
방금 지점을 변경했습니다.변경 사항을 다른 지점에 커밋하려면 어떻게 해야 합니까?
다음을 사용하려고 합니다.
git checkout "the commmit to the changed branch" -b "the other branch"
그러나 이 경우 "다른 지점"에 대한 변경을 커밋하는 대신 새 지점을 만드는 것이기 때문에 이 작업은 올바른 작업이 아니라고 생각합니다.
대신 다음 명령을 사용해야 합니까?
git merge "the other branch"
git checkout -b your-new-branch
git add <files>
git commit -m <message>
먼저 새 지점에서 체크아웃합니다.그런 다음 스테이징에 커밋할 모든 파일을 추가합니다.마지막으로 방금 추가한 모든 파일을 커밋합니다.당신은 할 수도 있습니다.git push origin your-new-branch
나중에 변경 사항이 리모컨에 표시됩니다.
변경 내용을 커밋하지 않은 경우
변경 내용이 다른 분기와 호환되는 경우
OP가 새 분기에 커밋하기를 원하며 덮어쓰기를 트리거하지 않고 변경 사항이 대상 분기와 호환되는 경우에도 적용되기 때문입니다.
John Brodie가 수락한 답변과 마찬가지로 새 지점을 확인하고 작업을 커밋할 수 있습니다.
git checkout -b branch_name
git add <files>
git commit -m "message"
변경 내용이 다른 분기와 호환되지 않는 경우
오류가 발생하는 경우:
error: Your local changes to the following files would be overwritten by checkout:
...
Please commit your changes or stash them before you switch branches
그런 다음 작업을 저장하고, 새 분기를 만든 다음, 저장 변경 사항을 팝업하고, 충돌을 해결할 수 있습니다.
git stash
git checkout -b branch_name
git stash pop
새 분기를 만든 후 변경한 것과 같습니다.그런 다음 평소와 같이 커밋할 수 있습니다.
git add <files>
git commit -m "message"
변경 내용을 커밋한 경우
원래 분기에 커밋을 유지하려는 경우
이 경우에 적합한 도구인 체리 픽과 함께 칼 노룸의 답변을 보십시오.
git checkout <target name>
git cherry-pick <original branch>
원래 분기에 커밋을 유지하지 않으려면
작업을 유지하는 마지막 커밋에서 새 분기를 만든 다음 원래 분기를 재설정합니다.
git checkout -b <new-branch-name>
git checkout <original-branch-name>
git reset <commit-id> --soft
GitHub와 같은 공유 원격으로 변경사항을 푸시한 경우, 작업 내용을 모르는 경우에는 이 롤백을 시도하면 안 됩니다.
이 잠재적인 복제에 대한 Joeytwiddle의 답변을 참조하십시오.
내가 옳게 이해했다면, 당신은 약속을 했습니다.changed_branch
그리고 당신은 그 약속을 복사하고 싶어합니다.other_branch
쉬운:
git checkout other_branch
git cherry-pick changed_branch
언급URL : https://stackoverflow.com/questions/14655816/how-to-commit-changes-to-another-pre-existent-branch
'programing' 카테고리의 다른 글
Spring Cloud Config의 속성 로드 우선 순위는 무엇입니까? (0) | 2023.06.20 |
---|---|
IP 주소로 사용자 위치 가져오기 (0) | 2023.06.20 |
동적으로 계산된 이름으로 개체 속성 액세스 (0) | 2023.06.15 |
iOS 앱 아이콘 설정 및 이미지 실행 방법 (0) | 2023.06.15 |
R 스크립트를 다른 스크립트에 포함(소스)하는 방법 (0) | 2023.06.15 |