[git] 귀하의 지점은 3 커밋으로 ‘원산지 / 마스터’보다 앞서 있습니다.

실행할 때 다음과 같은 결과가 나타납니다. git status

Your branch is ahead of 'origin/master' by 3 commits.

다른 게시물 에서이 문제를 해결하는 방법을 읽었 git pull --rebase지만 정확히 rebase가 무엇입니까, 데이터가 손실됩니까, 아니면 마스터와 동기화하는 간단한 방법입니까?



답변

로컬 마스터를 변경하고 원격으로 푸시하지 않았기 때문에 해당 메시지가 표시됩니다. 이를 해결하는 방법에는 여러 가지가 있으며 일반적으로 워크 플로의 모양에 따라 다릅니다.

  • 좋은 워크 플로에서 원격 마스터 복사본은 좋은 것이되어야하며 로컬 마스터 복사본은 원격에있는 복사본입니다. 이 워크 플로를 사용하면이 메시지가 다시 표시되지 않습니다.
  • 다른 방법으로 작업하고 로컬 변경 사항을 푸시 해야하는 경우 git push origin원점이 가정하면 원격
  • 로컬 변경 사항이 잘못된 경우 변경 사항을 제거하거나 로컬 마스터를 원격 상태로 재설정하십시오. git reset --hard origin/master

답변

수정할 것이 없습니다. 당신은 단순히 3 개의 커밋을 만들고 아직 원격 브랜치로 옮기지 않았습니다. 수행하려는 작업에 따라 몇 가지 옵션이 있습니다.

  • git push: 변경 사항을 리모컨으로 옮깁니다 (원격에 다른 변경 사항이있는 경우 거부 될 수 있음)
  • 아무것도하지 않고 코딩을 계속하고 다른 날 동기화
  • git pull: 원격에서 변경 사항이있는 경우이를 가져와 변경 사항에 병합하십시오.
  • git pull --rebase: 위와 같지만 원격 변경 사항 위에 커밋을 다시 실행하십시오.

당신은 고전적인 상황에 처해 있습니다 (일반적으로 대부분의 워크 플로에서 마스터를 많이하지는 않지만). 일반적으로 수행 할 작업은 다음과 같습니다. 변경 내용을 검토하십시오. 어쩌면 git rebase --interactive화장품을 만들고, 빨아들이는 화장품을 떨어 뜨리고, 더 논리적으로 만들기 위해 재정렬하십시오. 이제로 리모컨으로 옮깁니다 git push. 로컬 지사가 최신 상태가 아니 어서 거부 된 경우 : git pull --rebase가장 최근의 변경 사항에 대해 내 작업을 다시 실행 git push해야합니다.


답변

이 4 가지 간단한 명령을 사용하십시오

1 단계 :git checkout <branch_name>

이것은 해당 지점으로가는 것이 분명합니다.

2 단계 :git pull -s recursive -X theirs

원격 브랜치 변경을 수행하고 충돌이 발생하면 변경을 대체하십시오. 여기 당신 git status이 이렇게하면 당신의 지점은 3 커밋으로 ‘원산지 / 마스터’보다 앞서 있습니다.

3 단계 :git reset --hard origin/<branch_name>

4 단계 :git fetch

지점을 하드 리셋하십시오.

즐겨.


답변

Bitbucket에서 풀 요청을 병합 한 후이 문제가 발생했습니다.

해야했다

git fetch

그게 다야.


답변

일반적으로 마스터와 다른 커밋이 무엇인지 확인 해야하는 경우 :

git rebase -i origin/master

이런 식으로 커밋을보고 삭제하거나 선택하기로 결정할 수 있습니다 …


답변

이 메시지는 git로컬 master리포지토리 에서 3 개의 커밋을 만들고 리포지토리에 게시하지 않았 음을 의미 합니다. 이를 위해 실행할 명령은 git push {local branch name} {remote branch name}입니다.

명령 git pull(및 git pull --rebase)은 로컬 리포지토리에없는 원격 리포지토리에 커밋이있는 다른 상황에 대한 것입니다. 이 --rebase옵션은 git로컬 커밋을 한쪽으로 옮기고 원격 리포지토리와 동기화 한 다음 새 상태에서 세 가지 커밋을 적용하려고합니다. 충돌이 발생하면 실패 할 수 있지만이를 해결하라는 메시지가 표시됩니다. rebase를 사용하여 충돌을 해결하는 방법을 모르면를 중단하고 git rebase --abort실행하기 전에 상태로 돌아갑니다 git pull --rebase.


답변

당신의 자식이 당신이 앞서 나간다고 말하면 먼저

자식 푸시 원점

당신이 repo에서 모든 최신 작업을 푸시했는지 확인하려면

그때,

git reset-하드 오리진 / 마스터

repo와 재설정하고 일치 시키려면