! [거부 됨] 마스터-> 마스터 (먼저 가져 오기)
! [rejected] master -> master (fetch first)'
Git에서 " " 를 해결하는 방법을 설명하는 좋은 방법이 있습니까?
이 명령을 사용 $ git push origin master
하면 오류 메시지가 표시됩니다.
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:zapnaa/abcappp.git'
대답은 거기에 있습니다. git은 먼저 가져 오라고 말합니다.
아마 다른 누군가가 이미 마스터하기 위해 밀어 붙였고 당신의 커밋은 뒤쳐져있을 것입니다. 따라서 변경 세트를 가져 와서 병합 한 다음 다시 푸시 할 수 있습니다.
그렇지 않은 경우 (또는 --force
옵션 을 사용하여 강제하는 경우 ) 커밋 기록을 엉망으로 만들 수 있습니다.
편집 : 여기에있는 사람이 --force
옵션 사용에 대한 매우 나쁜 조언을했기 때문에 마지막 요점에 대해 자세히 설명합니다 .
git은 DVCS이므로 이상적으로는 다른 많은 개발자가 동일한 저장소 (또는 포크)를 사용하여 동일한 프로젝트에서 작업하고 있습니다. 변경 세트로 강제로 덮어 쓰면 "이력을 다시 작성"하기 때문에 저장소가 다른 사람의 저장소와 일치하지 않습니다. 당신은 다른 사람들을 불행하게 만들 것이고 저장소는 고통받을 것입니다. 아마도 세상의 새끼 고양이도 울 것입니다.
TL; DR
- 해결하려면 먼저 가져 와서 병합하십시오.
- 해킹하려면
--force
옵션을 사용하십시오 .
하지만 당신은 전자를 요구했습니다. 1) 항상 git을 혼자서 사용하더라도 좋은 습관이기 때문에 항상 사용하십시오.
시험:
git fetch origin master
git merge origin master
이 코드를 작성한 후 다른 오류가 발생했습니다. (빨리 감기가 아님)
이 코드를 작성합니다.
git fetch origin master:tmp
git rebase tmp
git push origin HEAD:master
git branch -D tmp
그리고 내 문제를 해결했습니다.
을 사용해야 합니다 . 그 git pull
명령은 do a를 git fetch
하고 다음은 git merge
.
git push origin master --force
명령 을 사용 하면 향후 문제가 발생할 수 있습니다.
pull은 항상 올바른 접근 방식이지만 Git이 아닌 파일 시스템을 Github 저장소로 변환하려는 경우 한 가지 예외가있을 수 있습니다. 거기에서 첫 번째 커밋을 강제해야합니다.
git init
git add README.md
git add .
git commit -m "first commit"
git remote add origin https://github.com/userName/repoName.git
git push --force origin master
이 git 명령을 시도하십시오.
git push origin master --force
또는 힘 부족 -f
git push origin master -f
다음 명령을 사용할 수 있습니다. 먼저 --mirror 플래그를 사용하여 저장소의 새 복사본을 복제합니다.
$ git clone --mirror git://example.com/some-big-repo.git
그런 다음 그에 따라 코드를 따르십시오.
작동하지 않더라도 간단히 코딩 할 수 있습니다.
$ git push origin master --force
또는
$ git push origin master -f
다른 사람 (예 : 동료)이 origin/master
로컬 master
브랜치에 없는 커밋을했고 로컬 브랜치에서 서버로 커밋을 푸시하려고 할 수 있습니다. 99 %의 경우에서 작업을 지우고 싶지 않다고 가정하면 origin
두 가지 옵션이 있습니다.
2) 변경 사항을 로컬 브랜치에 병합 한 다음 병합 된 결과를 푸시합니다. git checkout master git pull # resolve conflicts here git push
( 이 경우 git pull
본질적으로 a git fetch
와 a git merge
입니다.)
1) Rebase your local branch, so that it looks like your colleague made their commits first, and then you made your commits. This keeps the commit history nice and linear - and avoids a "merge commit". However, if you have conflicts with your colleague's changes, you may have to resolve those conflicts for each of your commits (rather than just once) in the worst case. Essentially this is nicer for everyone else but more effort for you. git pull --rebase # resolve conflicts here git push
(Note that git pull --rebase
is essentially a git fetch
and a git rebase origin/master
.)
Sometimes it happens when you duplicate files typically README sort of.
Your error might be because of the merge branch.
Just follow this:
step 1 : git pull origin master
(in case if you get any message then ignore it)
step 2 : git add .
step 3 : git commit -m 'your commit message'
step 4 : git push origin master
this work for me
git init
git add --all
3.git commit -m "name"
4.git push origin master --force
This worked for me:
$ git add .
$ git commit -m "commit"
$ git push origin master --force
참고URL : https://stackoverflow.com/questions/28429819/rejected-master-master-fetch-first
'development' 카테고리의 다른 글
Jekyll 및 Liquid로 정렬 된 탐색 메뉴 (0) | 2020.11.06 |
---|---|
문자열을 돈으로 포맷하는 방법 (0) | 2020.11.06 |
Android Indeterminate ProgressBar 색상을 변경하는 방법은 무엇입니까? (0) | 2020.11.06 |
라텍스-몇 페이지의 여백 변경 (0) | 2020.11.06 |
정수를 나누고 정수 값 얻기 (0) | 2020.11.06 |