Programing

git-브랜치가 1 커밋만큼 '원산지 / 마스터'보다 앞서 있습니다.

crosscheck 2020. 8. 28. 06:51
반응형

git-브랜치가 1 커밋만큼 '원산지 / 마스터'보다 앞서 있습니다.


나는 git의 초보자이고 git에서 일하고 있습니다.

git에 몇 가지 파일을 추가했습니다.

git add <file1>
git add <file2>

검토를 위해 푸시하고 싶었지만 실수로

git commit

그래서 내가 변경 한 파일은 리뷰를 위해 가지 않습니다.
이제 명령을 입력하면 :

git status

그것은 말한다

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

해당 커밋을 되돌리고 싶고 커밋보다는 검토를 위해 해당 파일을 푸시하고 싶습니다. 누구든지 내가 어떻게 할 수 있는지 알려줄 수 있습니까?


아직 커밋되지 않은 것은 푸시 할 수 없습니다. 작업 순서는 다음과 같습니다.

  1. 변경하십시오.
  2. git add -커밋을위한 변경 단계
  3. git commit -이것은 단계적 변경을 로컬로 커밋합니다.
  4. git push -이것은 커밋 된 변경 사항을 원격

커밋하지 않고 밀면 아무것도 밀리지 않습니다. 추가하지 않고 커밋하면 아무것도 커밋되지 않습니다. 커밋하지 않고 추가하면 아무 일도 일어나지 않으며 git은 추가 한 변경 사항이 다음 커밋에 대해 고려되어야 함을 기억합니다.

표시되는 메시지 (분기가 1 개의 커밋보다 앞서 있음)는 로컬 저장소에 아직 푸시되지 않은 커밋이 하나 있음을 의미합니다.

다른 말로 : addcommit로컬 작업이다 push, pullfetch조작은 원격 상호 작용할 것이다.

작업하는 곳에 공식 소스 제어 워크 플로가있는 것 같으므로 내부적으로 어떻게 처리해야하는지 문의해야합니다.


git reset HEAD^ --soft (변경 사항 저장, 마지막 커밋으로 돌아 가기)

git reset HEAD^ --hard (변경 사항 취소, 마지막 커밋으로 돌아 가기)


변경 사항을 버리고 마지막 커밋 (공유하려는 커밋)으로 되돌리려면 다음을 수행하십시오.

git reset --hard HEAD~

git log모든 변경 사항을 잃게되므로이 항목 ( ) 이 필요한지 절대적으로 확인하는 것이 좋습니다 .

더 안전한 대안은 실행하는 것입니다.

git reset --soft HEAD~ # reset to the last commit
git stash              # stash all the changes in the working tree 
git push               # push changes 
git stash pop          # get your changes back 

나는 간단한 실행으로 이것을 해결했습니다.

git pull

더 이상은 없습니다. 이제 다음과 같이 표시됩니다.

# On branch master
nothing to commit, working directory clean

자식 재설정 HEAD ^

그러면 수정 된 파일이 표시됩니다.

수정 된 파일을 새 분기로 이동할 수 있습니다.

사용, git checkout -b newbranch git checkout commit -m "files modified"git push origin newbranch

git checkout master

그러면 깨끗한 브랜치에 있어야하며 변경 사항은 newbranch에 저장되어야합니다. 나중에이 변경 사항을 마스터 브랜치에 병합 할 수 있습니다.


git reset HEAD <file1> <file2> ...

다음 커밋에서 지정된 파일 제거

참고 URL : https://stackoverflow.com/questions/10169328/git-your-branch-is-ahead-of-origin-master-by-1-commit

반응형