>  기사  >  개발 도구  >  git에서 파일 수정을 취소하는 방법은 무엇입니까? 제출을 취소하는 방법은 무엇입니까?

git에서 파일 수정을 취소하는 방법은 무엇입니까? 제출을 취소하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-04-03 09:21:483975검색

개발자로서 Git 사용은 필수입니다. Git에서는 파일 수정을 취소하거나 커밋을 취소해야 하는 상황이 자주 발생합니다. 파일을 수동으로 변경하거나 명령줄을 사용하여 파일 수정을 취소할 수 있지만 Git은 이러한 상황을 처리할 수 있는 몇 가지 매우 편리한 방법을 제공합니다.

이 글에서는 Git을 사용하여 파일 수정을 취소하는 방법과 커밋을 취소하는 방법을 자세히 소개합니다.

Git 파일 수정 취소

상황 1: 파일이 준비 영역에 추가되지 않았습니다

파일을 변경했지만 Git 준비 영역에 추가하지 않은 경우 수정 사항을 취소하는 것은 매우 쉽습니다. 다음 명령을 사용하여 파일 변경 사항을 취소할 수 있습니다.

git checkout -- <file>

이 명령은 파일을 가장 최근에 제출된 상태로 복원합니다. 예를 들어, test.txt라는 파일을 편집하고 해당 파일을 변경한 경우 다음 명령을 사용하여 변경 사항을 취소할 수 있습니다. test.txt 的文件,并且已经对其进行了修改,那么可以使用以下命令来取消修改:

git checkout -- test.txt

这样就可以将 test.txt 文件恢复到最近一次提交时的状态。

情况二:文件已添加到暂存区

如果你已经将文件添加到了 Git 的暂存区,那么取消修改要稍微麻烦一些。你需要使用以下两个命令:

git reset HEAD 
git checkout -- <file>

第一个命令会将文件从 Git 的暂存区移除,第二个命令则是将文件恢复到最近一次提交的状态。例如,如果你已经将 test.txt 文件添加到了 Git 的暂存区,并对其进行了修改,那么可以使用以下命令来取消修改:

git reset HEAD test.txt
git checkout -- test.txt

这两条命令的顺序非常重要。如果先使用 git checkout -- test.txt 命令,那么 Git 会将文件恢复到最近一次提交的状态,忽略你之前在暂存区所做出的修改。

情况三:文件已提交

如果你已经将一个文件提交到了 Git,那么撤销修改就需要用到 git revert 命令了。这个命令会创建一个新的提交,该提交会取消之前的提交。例如,如果你在 master 分支上提交了一个名为 test.txt 的文件,并对其进行了修改,那么可以使用以下命令来撤销该次提交:

git revert HEAD

这条命令会打开一个编辑器,让你输入关于这个提交的撤销信息。如果你想直接提交,可以使用以下命令:

git revert --no-edit HEAD

这样就会直接提交撤销。

撤销提交

有时候,你会意识到你提交的代码存在问题,或者你不想将其添加到版本控制中。在这种情况下,你需要撤销提交。

情况一:还未推送至远程仓库

如果你在本地提交了代码,但还未将其推送至远程仓库,那么可以使用以下命令来撤销提交:

git reset HEAD~1

这条命令会将最近的一次提交撤销,并将代码恢复到上一次提交的状态。

情况二:已经推送至远程仓库

如果你已经将代码推送至远程仓库,那么可以使用以下命令来撤销提交:

git revert <commit_id>

其中,<commit_id>rrreee

이 명령은 test를 대체합니다. .txt 파일이 가장 최근 커밋 상태로 복원됩니다.

상황 2: 파일이 Staging Area에 추가되었습니다

Git Staging Area에 파일을 추가했다면 수정을 취소하는 것이 조금 더 번거롭습니다. 다음 두 명령을 사용해야 합니다. 🎜rrreee🎜 첫 번째 명령은 Git 준비 영역에서 파일을 제거하고, 두 번째 명령은 파일을 가장 최근에 제출된 상태로 복원합니다. 예를 들어 Git 준비 영역에 test.txt 파일을 추가하고 수정한 경우 다음 명령을 사용하여 수정을 취소할 수 있습니다. 🎜rrreee🎜이 두 명령의 순서 매우 중요 . git checkout --test.txt 명령을 먼저 사용하면 Git은 스테이징 영역에서 변경한 내용을 무시하고 파일을 가장 최근에 제출한 상태로 복원합니다. 🎜🎜상황 3: 파일이 제출되었습니다🎜🎜Git에 파일을 제출한 경우 git revert 명령을 사용하여 변경 사항을 취소해야 합니다. 이 명령은 이전 커밋을 취소하는 새 커밋을 생성합니다. 예를 들어 master 브랜치에 test.txt라는 파일을 제출하고 수정한 경우 다음 명령을 사용하여 제출을 취소할 수 있습니다.🎜rrreee🎜이 명령은 이 커밋에 대한 철회 정보를 입력할 수 있는 편집기가 열립니다. 직접 제출하려면 다음 명령을 사용하면 됩니다. 🎜rrreee🎜 이렇게 하면 취소가 직접 제출됩니다. 🎜🎜Undo Commit🎜🎜커밋한 코드에 문제가 있거나 버전 관리에 코드를 추가하고 싶지 않다는 것을 깨닫는 경우가 있습니다. 이 경우 커밋을 취소해야 합니다. 🎜🎜상황 1: 아직 원격 저장소에 푸시되지 않았습니다.🎜🎜코드를 로컬에서 제출했지만 원격 저장소에 푸시하지 않은 경우 다음 명령을 사용하여 제출을 취소할 수 있습니다. 🎜rrreee🎜이 명령은 최신 커밋을 실행 취소하고 코드를 마지막 커밋 상태로 복원합니다. 🎜🎜시나리오 2: 이미 원격 저장소에 푸시되었습니다🎜🎜코드를 원격 저장소에 푸시한 경우 다음 명령을 사용하여 커밋을 취소할 수 있습니다. 🎜rrreee🎜그 중 <commit_id> code>는 원하는 것입니다. 취소할 커밋의 식별자입니다. 이 명령은 새 커밋을 생성하고 그 안에 지정된 커밋을 취소합니다. 🎜🎜결론🎜🎜Git은 파일 수정을 취소하고 커밋을 실행 취소하는 매우 편리한 방법을 제공합니다. 이 문서에 설명된 명령을 사용하면 이러한 상황을 쉽게 처리할 수 있습니다. 물론, 오작동을 피하기 위해 이러한 명령을 사용할 때는 매우 주의해야 합니다. 🎜

위 내용은 git에서 파일 수정을 취소하는 방법은 무엇입니까? 제출을 취소하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.