programing

git 오류: 일부 참조를 원격으로 푸시하지 못했습니다.

yellowcard 2023. 4. 10. 21:32
반응형

git 오류: 일부 참조를 원격으로 푸시하지 못했습니다.

어제는 할 수 있었지만 지금은 할 수 없다.

★★★★★★★를 사용하는 git push origin master에러가 표시됩니다.

$ git remote -v
origin  https://github.com/REDACTED.git (fetch)
origin  https://github.com/REDACTED.git (push)

$ git push origin master
Username for 'https://github.com': REDACTED
Password for 'https://REDACTED@github.com':
To https://github.com/REDACTED.git
! [rejected]         master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/REDACTED.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

작업 디렉토리 및 원격 저장소 모양:

.git, css, js 디렉토리가 있는 Windows 파일 폴더의 스크린샷.

(주의: 2020년 10월부터 기본 브랜치로 새 저장소가 생성됩니다.main 아니라, 이에요.master또한 기존 저장소 기본 브랜치의 이름을 에서 로 변경할 수 있습니다.
2014년"을 사용하도록 업데이트되었습니다.main )"

은 (하다)라고 가정합니다.github.comeri0o코멘트에서 지적한 바와 같이, 그 자체는 다운되지 않았습니다.확인을 참조해 주세요.

만약 당신이 로컬에서 일하는 동안 GitHub repo에서 새로운 커밋이 푸시되는 것을 보았다면, 나는 다음을 사용할 것을 권고한다.

git pull --rebase
git push

완전한 구문은 다음과 같습니다.

git pull --rebase origin main
git push origin main

Git 2.6+(2015년 9월)로 (1회) 후

git config --global pull.rebase true
git config --global rebase.autoStash true

한 a a.git pull충분할 거예요.
(주의: Git 2.27 2020년 2분기에는merge.autostash기본 재배치 없이 일반 풀에도 사용할 수 있습니다.)

다시 수 요.--rebasepart)된 부품 을 )origin/main (오류)origin/yourBranchgit pull origin yourBranch를 참조해 주세요.

Git 포켓북의 6장 Pull with rebase를 참조하십시오.

추천할 점은 다음과 같습니다.

# add and commit first
#
git push -u origin main

# Or git 2.37 Q2 2022+
git config --global push.autoSetupRemote true
git push

그러면 로컬 메인브런치와 업스트림브런치 사이에 트래킹 관계가 확립됩니다.
후, 그 할 수 .「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」

git push

다시, Git 2.37+와 그것의 글로벌 옵션과 함께, 심플한git push 로컬 사용자 ).main 및 그 " " " " "origin/main를 참조해 주세요.

"새 분기를 명시적으로 푸시해야 하는 이유는 무엇입니까?"를 참조하십시오.


OP는 이미 리셋하고 커밋을 리다이렉트했기 때문에origin/main:

git reset --mixed origin/main
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin main

는 없다pull --rebase.

★★★★★★git reset --mixed origin/main도 쓸 수도 있다git reset origin/main 이후로는--mixed옵션을 사용하는 경우 기본 옵션입니다.

시험:

git push -f origin master

그러면 문제가 해결될 거예요.

@@Mehdi는 @Mehdi, @Mehdi는 @Mehdi, @Mehdi는 @Mehdi, @Mehdi는 @Mehdi의 코멘트를 바탕으로 하고 있습니다—force pushing: 위의 Git 명령어는 첫 번째 커밋에서만 안전하게 동작합니다.이전에 커밋, 풀 요구 또는 브런치가 이미 있었을 경우, 모든 것이 리셋 되어 0부터 설정됩니다.그렇다면 더 나은 솔루션에 대해서는 @VonC의 자세한 답변을 참조하십시오.

★★★★★★★★★★★★★★★★★★★★★★★★★★git init했습니다.git add .리모트 브런치를 추가했을 가능성이 있습니다(실행하지 않았을 가능성이 있습니다).git commit -m 'commit message''어디로 가는지'방금 이 에러가 났는데 그게 제 문제였어요.

저도 같은 문제가 있었어요.이 문제는 제가 어떤 커밋도 하지 않았고, 심지어 처음 커밋도 하지 않았고, 여전히 추진하려고 했기 때문입니다.

은 ★★★★★★★★★★★★★★★★★★★★★★★.git commit -m "your msg"이 잘

다음과 같은 여러 명령줄을 조합하여 사용할 수 있었습니다.

git reset 
git remote -v
git pull --rebase
git init
git add -A
git commit -m "Add your commit"
git branch -M main
git push origin main --force

Readme 파일git reset에 의해 삭제됩니다.

지점 이름을 변경한 다음 을 누릅니다. 예:

git branch -m new-name
git push -u new-name

이건 나한테 효과가 있었어.

  1. git init

  2. git remote add origin https://gitlab.com/crew-chief-systems/bot

  3. git remote -v (현재 저장소 확인용)

  4. git add -A 파일 모든 파일 추가)

  5. git commit -m 'Added my project'

  6. git pull --rebase origin master

  7. git push origin master

이 문제의 해결 방법은 GitHub 도움말(빠르지 않은 오류에 의한 처리):

이 문제는 리모트브런치에서 이루어진 변경을 로컬에서 수행한 변경과 취득하여 Marge함으로써 해결할 수 있습니다.

$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin branch
# Merges updates made online with your local work

또는 단순히 git pull을 사용하여 두 명령을 동시에 수행할 수 있습니다.

$ git pull origin branch
# Grabs online updates and merges them with your local work

나는 다음 단계를 따라 했고 그것은 나에게 효과가 있었다.

 rm -rf .git
 git init
 git add .
 git commit -m"first message"
 git remote add origin "LINK"
 git push -u origin master

저는 같은 문제에 직면하여 아래의 순서로 수정하였습니다.

  1. git init

  2. git add .

  3. git commit -m 'Add your commit message'

  4. git remote add origin https://User_name@bitbucket.org/User_name/sample.git

    (위 URL https://User_name@bitbucket.org/User_name/sample.gitBitbucket 프로젝트의 URL을 나타냅니다.)

  5. git push -u origin master

힌트

다음을 사용하여 GitHub 계정이 로컬 Git 저장소와 링크되는지 확인합니다.

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

「 」를 사용하고 는,git push origin master로.git push origin main그리고 역도 성립.

GitHub에 빈 저장소를 만들고 코드를 로컬로 가지고 있습니다.저는 지금 같은 문제에 직면해 있습니다.아래의 순서를 따르면서

git init
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git add .
git push -u origin master

문제는: 가지고 있는 파일을 스테이징하기 전에 커밋하려고 했습니다.

파일을 준비해서 커밋해야 합니다.

이것이 올바른 순서입니다.

git init
git add .
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git push -u origin master

처음에 잘못된 시퀀스를 실행했기 때문에 다음 명령을 실행했을 뿐입니다.

git add .
git commit -m 'Initial Commit'
git push -u origin master

왜냐하면 (진짜로, 아무것도) 밀어낼 것이 없기 때문입니다.다음과 같이 합니다.

git remote add origin https://github.com/donhuvy/accounting133.git
git remote -v
git add .
git commit -m"upload"
git push --set-upstream origin master

사용자의 경우 원격 리포지토리의 URL을 변경합니다. 수 .git remote -v★★★★★★★★★★★★★★★★★★.

이 에러는 커밋을 하지 않고 밀려고 했더니 발생했습니다.

git add를 클릭합니다.

git - m "message" 커밋

git 푸시 -f

그럼 나한테는 잘 먹혔어.

Gerrit을 사용하는 경우 커밋의 부적절한 Change-id가 원인일 수 있습니다.Change-Id를 삭제하고 어떻게 되는지 확인해 보십시오.

GitHub 저장소에 푸시하기 전에 변경을 커밋하는 것을 잊지 마십시오.이것으로 문제가 해결될지도 모릅니다.

GitHub은 기본 브랜치 이름을 master에서 main으로 변경하였습니다.따라서 최근에 repo를 작성했다면 메인 브랜치를 푸시해 보십시오.

git push origin main

이것은 초보자들이 흔히 저지르는 실수이다.

GitHub 기사 마스터에서 기본 브랜치 이름을 변경합니다.

를 누르기 전에 초기 변경을 커밋하지 않는 경우에도 문제가 발생합니다.

용도:

git push origin {your_local_branch}:{your_remote_branch}

로컬 지점과 원격 지점이 동일한 이름을 공유하는 경우 로컬 지점 이름을 생략할 수 있습니다.그냥 사용하다git push {your_remote_branch}이치

이 Git 명령어를 사용해 보세요.

git push origin master –f
git push origin master --force

전에 을 추가 및 을 해야 .git push -f origin master.

Azure DevOps의 Git 저장소를 사용할 때 문제는 Pull Request(PR; 풀 요청)를 통해 브랜치를 변경해야 한다는 브랜치 정책입니다.브랜치에 직접 변경을 푸시하려고 하면 "일부 참조를 푸시하지 못했습니다..." 오류가 발생했습니다.

PR 브랜치를 만들어 문제없이 추진했습니다.

GitHub 페이지에 사이트를 처음 도입하는 경우 이 두 가지 명령을 실행합니다.

git commit -m "initial commit"
git push origin +HEAD

Git에 .pre-push

실행합니다.git push --verbose에러가 없는지 확인합니다.

을 Git directory 시 、 Git in 、 Git in double 。.git/hooks아니면 임시로 다른 곳으로 옮겨서 그 후에 모든 것이 작동하는지 확인합니다.

최근 "마스터와 GitHub의 메인 교체" 액션으로 인해 참조/헤드/메인이 있을 수 있습니다.git show-ref가 '바꿀 수 있다'에서 바뀔 수

git push heroku master

로.

git push heroku main

그것으로 당신의 문제가 해결됩니다.

다음의 스텝이 유효했습니다.

  1. 현재 브랜치로 전환하여 최신 코드를 가져옵니다.

  2. 로컬 브랜치 이름 변경

    git branch -m [new-name]

  3. 로컬 브랜치를 서버에 푸시합니다.

    git push origin [new-name]

  4. 서버에서 분기 제거

    git push origin --delete [old-name]

husky이치노

> husky - pre-push hook failed (add --no-verify to bypass)
> husky - to debug, use 'npm run prepush'
error: failed to push some refs to 'https://username@bitbucket.org/username/my-api.git'

는 그냥 .git push origin master --no-verify

npm run prepush에러의 입니다.이것이 원인입니다.

npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your npm-shrinkwrap.json, run  npm install  to fix them.
npm ERR!     Invalid: lock file's loopback-utils@0.8.3 does not satisfy loopback-utils@^0.9.0

npm install이치노

제 경우 지점명 프리픽스가 리모트에 이미 존재했기 때문에 기본적으로 지점명 'fix'가 있으면 'fix/new_branch_name'이라는 이름의 다른 지점을 푸시할 수 없습니다.

지점 이름을 바꾸자 문제가 해결되었다.

GitHub이 master를 main으로 바꾼 것이 이 문제에 직면하게 되었습니다.따라서, 향후의 솔루션은, 다음과 같습니다.

git push -u origin main

제 경우에는 이 두 줄이 문제를 해결했습니다.

git add .
git commit -m "Changes"

사실, 저는 제 변경 사항을 추가하고 커밋하는 것을 잊어버리고 처음 적용하려고 했습니다.

git init
git remote add origin https://github.com/anything/repo-name.git
git add .
git commit -m "Changes"
git branch -M main
git push -u origin main

이게 도움이 됐으면 좋겠네요!

언급URL : https://stackoverflow.com/questions/24114676/git-error-failed-to-push-some-refs-to-remote

반응형