목차
Introduction
머리말
reset介绍
리셋 소개
revert介绍
commit记录打tag
3. 초점은 우리에게 git Reset 69fde2c를 사용하여 롤백합니다. 이때 로그 기록을 확인하여 마지막 새 c를 찾습니다. > 레코드가 사라졌습니다. git push를 직접 사용하면 여기에 또 다른 문제가 있습니다. code>Push에는 다음 메시지가 표시됩니다.
소개 되돌리기
커밋 레코드 태그
개발 도구 자식 git 롤백 코드를 이해하게 해주세요(자세한 예시)

git 롤백 코드를 이해하게 해주세요(자세한 예시)

Feb 15, 2022 pm 05:39 PM
git

이 글은 Git 롤백 코드에 대한 관련 지식을 제공합니다. Git은 소규모 프로젝트부터 대규모 프로젝트까지 효율적이고 빠르게 버전 관리를 처리할 수 있는 오픈 소스 분산 버전 관리 시스템입니다. 도움이 되는.

git 롤백 코드를 이해하게 해주세요(자세한 예시)

일상적인 코딩 과정에서 브랜치 간 병합, 롤백, 제출, 태그 지정 및 기타 작업은 불가피합니다. 여전히 git 도구를 사용하여 코드를 롤백하는 방법을 모르거나 항상 걱정됩니다. 코드를 잃는 것은 매우 위험합니다. 결국 코드를 ​​잃는 것은 약간의 성능이나 많은 점수를 차감하게 되지만 걱정하지 마십시오. 이 글을 읽은 후에는 운이 좋게도 코드가 손실될 수 있습니다. 롤백의 일반적인 상황을 시뮬레이션하기 위해 브랜치를 단계별로 안내할 것이기 때문입니다

Introduction

Git(발음) /gət/)는 소규모 프로젝트부터 초대형 프로젝트까지의 버전 관리를 효과적이고 신속하게 처리할 수 있는 오픈소스 분산 버전 관리 시스템입니다.

머리말

일일 코드 롤백에는 일반적으로 사용되는 두 가지 방법이 있습니다: git revert 및 롤백을 위한 git Reset 이 두 가지 방법은 서로 다릅니다. 최선을 다하겠습니다. 이 두 명령이 수행할 수 있는 작업을 간단하고 명확하게 소개합니다. 다음으로 개인 창고에서 0부터 시작하는 새 분기를 가져와 메인 분기인 master와 개발 분기를 빌드하겠습니다. 시뮬레이션용 개발git revertgit reset来进行回滚,这两种分别对应的不同的情况我尽量简单明了的介绍这两个命令都能做些什么,接下来我会从个人仓库新拉个分支从0开始,建两个分支,分别是主分支master和开发分支develop来进行模拟

reset介绍

1、reset的作用是当你希望提交的commit从历史记录中完全消失就可以用

2、比如你在master分支提交了A-->B-->C提交了三个记录,这个时候如果C记录有问题你想回滚到B就可以用git reset进行

3、这个命令大概率的情况都是用在我们主分支的,因为我们上线的分支一般是master分支然后从develop进行功能开发

4、开发完成之后将分支合并到master,如果在上线之前发现合并的分支用问题可以将develop合并过来的分支进行回滚

5、说白了就是取消develop的本次合并

6、但是有一种情况就是协作开发的时候大家都合并到master之后就不能用reset强行回滚commit因为这样会把其他人的提交记录给冲掉,这时候就可以用revert来进行操作我们在下面说

制造一个分支模拟环境

1.从你自己的git仓库创建一个新项目之后拉到本地

2.创建一个index.js随便写点东西,之后提交到仓库

git 롤백 코드를 이해하게 해주세요(자세한 예시)

3.我们在终端使用git log查看commit可以看到目前只有一个刚才提交的commit

git 롤백 코드를 이해하게 해주세요(자세한 예시)

4.我们从master分支迁出一个develop分支git branch develop,并且切换到该分支 git checkout develop

5.在develop

리셋 소개

1. reset 기능은 commit을 완전히 제출하려는 경우입니다. 기록에서 사라지려면

git 롤백 코드를 이해하게 해주세요(자세한 예시)2를 사용할 수 있습니다. 예를 들어 master 분기에 세 개의 레코드를 제출한 경우 A-->B-->C , 현재 C 레코드에 문제가 있어 B로 롤백하고 싶다면 git Reset을 사용하여 수행할 수 있습니다

3. 이 명령은 메인에서 가장 많이 사용됩니다. 브랜치는 온라인 상태이기 때문에 일반적으로 브랜치는 마스터 브랜치이며 기능 개발은 develop

4에서 수행됩니다. 개발이 완료된 후 브랜치를 다음으로 병합합니다. master. 온라인에 접속하기 전에 발견된 경우 병합된 브랜치에 문제가 있는 경우 developgit 롤백 코드를 이해하게 해주세요(자세한 예시)

5의 병합된 브랜치를 롤백할 수 있다는 의미입니다. develop

6 병합을 취소하는 중입니다. 하지만 공동 개발 중에 모든 사람이 master에 병합된 후에는 reset을 사용할 수 없는 상황이 있습니다. code>를 사용하여 commit을 강제로 롤백하면 다른 사람의 제출 기록이 Flush로 전송되므로 revert를 사용하여 작업을 수행할 수 있습니다. 이에 대해서는 아래에서 설명하겠습니다

git 롤백 코드를 이해하게 해주세요(자세한 예시) git 롤백 코드를 이해하게 해주세요(자세한 예시)브랜치 시뮬레이션 환경 만들기

1. 자신의 Git 저장소에서 새 프로젝트를 만들고 로컬로 가져옵니다.

2. index.js를 만들고 아무렇게나 작성한 다음 웨어하우스에 제출합니다

git 롤백 코드를 이해하게 해주세요(자세한 예시)

3 git log를 사용하여 터미널에서 커밋을 보면 현재 방금 제출된 커밋이 하나만 있음을 알 수 있습니다🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/067/5829d49cf26b24b27cd5cd940724038b-7.png" class="lazy" alt="git 롤백 코드를 이해하게 해주세요(자세한 예시)">🎜🎜4. <code>마스터 분기 develop 분기 git 분기 개발에서 하나를 마이그레이션했습니다. , 그리고 이 브랜치 git checkout development🎜🎜5로 전환하세요. develop 브랜치에 새 브랜치를 추가하세요. B의 레코드가 개발 커밋 레코드에 추가됩니다. 🎜🎜🎜6. 그런 다음 개발 브랜치에 코드 조각을 추가합니다🎜🎜🎜🎜🎜7. 브랜치 비교해 보면 dev 브랜치가 마스터 브랜치보다 두 커밋이 앞선다는 것을 알 수 있습니다🎜🎜🎜🎜🎜🎜🎜 브랜치를 병합할 때 때로는 코드가 다르지만 문제가 발생할 수 있습니다. 브랜치를 병합할 때 메시지가 표시됩니다. 현재 개발 브랜치의 커밋 기록이 병합할 대상 브랜치보다 뒤처지기 때문에 코드가 업데이트되지 않습니다. 이러한 상황의 원인은 재설정을 남용하기 때문이므로 재설정을 주의해서 사용해야 합니다. 🎜🎜🎜 리셋을 조작해 느껴보세요 잠시만요 🎜🎜

1. develop 브랜치의 코드를 master로 병합하고, master 브랜치로 전환한 후 git merge development를 실행합니다. code><code>develop分支的代码合并到master,切换到master分支 执行git merge develop

2.我们在master分支使用git log查看commit记录找到B记录,准备回滚这一条,回滚的时候不需要输入全部的commid一般是前7位就够用

git 롤백 코드를 이해하게 해주세요(자세한 예시)

3.重点来了我们使用git reset 69fde2c进行回滚,这个时候查看log记录发现最后一条新增c记录没有了,这里还有个问题如果直接使用git push推送会有以下提示。

git 롤백 코드를 이해하게 해주세요(자세한 예시)

这是因为本地的记录因为我们的回滚已经落后于仓库的代码了,这个使用需要使用git push -f进行强制提交

4.这个时候master分支就剩下A和B的commit记录了,到这里就是一次完整的reset回滚记录,之后我们还是可以继续正常把develop分支合并到master的

git 롤백 코드를 이해하게 해주세요(자세한 예시)

revert介绍

1、revert的原理是,在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化。它不会改变过去的历史,所以是首选方式,没有任何丢失代码的风险

2、revert可以抵消上一个提交,那么如果想要抵消多个需要执行 git revert 倒数第一个commit id 倒数第二个commit

3、这个就常用于当你提交了一次commit之后发现提交的可能有问题就可以用到revert

4、还有一种情景是已经有很多人提交过代码,但是想改之前的某一次commit记录又不想影响后面的也可以使用revert,他会把你后面提交的记录都放到工作区只是合并的时候需要注意一点

我们来模拟一下环境

1.切到develop分支现在该分支有三个commit记录git 롤백 코드를 이해하게 해주세요(자세한 예시)

2.我们使用rever进行回滚试一下git revert 16083ce,如果你也用的是vs code可以看到工作区的变化,并且在控制台可以提交默认的commit

git 롤백 코드를 이해하게 해주세요(자세한 예시)

3.看一下log记录,可以看到新增了一个记录Revert 新增C,并且原来的新增C还是在的

git 롤백 코드를 이해하게 해주세요(자세한 예시)

commit记录打tag

1、在上线之前我们需要对当前的commit记录打一个tag方便上线的代码有问题可以及时回滚

我们来介绍一下常用的几个命令

1.git tag列出所有的tag列表

git 롤백 코드를 이해하게 해주세요(자세한 예시)

2.创建一个tag,使用git tag [name],我们新增一个 git tag 测试4,在使用git tag 查看一下

git 롤백 코드를 이해하게 해주세요(자세한 예시)

3.查看tag对应的commit信息,git show [tag名字],举个例子git show 测试1

2. master 브랜치에서 git log를 사용하여 커밋 레코드를 확인하고 B 레코드를 찾아 롤백할 때 준비합니다. 일반적으로 처음 7자리이면 충분합니다

git 롤백 코드를 이해하게 해주세요(자세한 예시) 5160a2005420978bcac99ed9e3 c4ee3d .png

3. 초점은 우리에게 git Reset 69fde2c를 사용하여 롤백합니다. 이때 로그 기록을 확인하여 마지막 새 c를 찾습니다. > 레코드가 사라졌습니다. git push를 직접 사용하면 여기에 또 다른 문제가 있습니다. code>Push에는 다음 메시지가 표시됩니다.

git 롤백 코드를 이해하게 해주세요(자세한 예시)

이런 이유는 롤백으로 인해 로컬 레코드가 웨어하우스 코드보다 뒤처졌습니다. 이 경우 git push -f를 사용하여 강제 커밋

4해야 합니다. B와 함께 커밋이 기록되었습니다. 이것은 완전한 재설정 및 롤백 기록입니다. 그 후에는 계속해서 개발 브랜치를 마스터에 병합할 수 있습니다.
git 롤백 코드를 이해하게 해주세요(자세한 예시)🎜

소개 되돌리기

🎜1. 원칙 되돌리기는 현재 제출, 새 제출 추가, 이전 커밋으로 인한 모든 변경 사항 취소. 과거 기록을 변경하지 않으므로 코드 손실 위험이 없는 선호되는 방법입니다🎜🎜2. Revert는 이전 커밋을 상쇄할 수 있으므로 여러 제출을 상쇄하려면 git revert를 실행해야 합니다. 마지막 커밋 ID 두 번째 커밋🎜🎜3. 커밋을 제출하고 제출에 문제가 있을 수 있음을 발견할 때 자주 사용됩니다. revert🎜🎜4를 사용할 수도 있습니다. 많은 사람들이 이미 코드를 제출했지만, 후속 커밋에 영향을 주지 않고 특정 이전 커밋 레코드를 변경하려면 나중에 제출한 모든 레코드를 작업 공간에 저장하기만 하면 됩니다. 🎜🎜시뮬레이트하자 환경🎜🎜1. 이제 개발 브랜치로 전환하세요. git 롤백 코드를 이해하게 해주세요(자세한 예시)🎜🎜2. rever를 사용하여 git revert 16083을 롤백해 보겠습니다. ce. vs 코드를 사용하면 작업 공간에서 변경 사항을 볼 수 있고 콘솔에서 기본 커밋을 제출할 수 있습니다🎜🎜git 롤백 코드를 이해하게 해주세요(자세한 예시) 🎜🎜3. 로그 레코드를 보면 새 레코드 Revert New C가 추가된 것을 확인할 수 있으며 원본 새로운 C는 아직 존재합니다🎜🎜4a1daf6769ae6e16423d7732f441be78. png 🎜

커밋 레코드 태그

🎜1. 온라인에 접속하기 전에 현재 커밋 레코드에 태그를 지정해야 온라인 코드에 문제가 있는 경우 롤백할 수 있습니다. time🎜🎜자주 사용하는 명령어를 소개하겠습니다 🎜🎜1.git tag는 모든 태그 목록을 나열합니다🎜🎜git 롤백 코드를 이해하게 해주세요(자세한 예시)🎜🎜2. 태그를 생성하고 git 태그 [이름]을 사용하세요. 코드> , <code>git 태그를 사용하여 확인해보세요🎜🎜git 롤백 코드를 이해하게 해주세요(자세한 예시)git 태그 테스트 4를 추가합니다. /article/000/000/067/870df98a2e05989467274a30bc346365-14.png" alt="4b1e4e2b5ccbc34d361435339def8a 2c.png"/>🎜🎜3. 태그에 해당하는 커밋 정보를 확인하세요. git show [태그 이름] 예를 들어 git show test 1, 온라인 접속 후 문제가 발생하면 아래 그림의 커밋 ID를 기준으로 코드 롤백을 수행할 수 있습니다🎜🎜🎜🎜🎜End🎜🎜Git 관리 도구는 일상 생활에서 매일 사용된다고 할 수 있으므로 일반적인 문제 시나리오에 해당하는 방법을 확실하게 마스터해야 합니다. 이를 접했을 때 당황하지 않으려면🎜🎜추천 학습: "🎜Git Tutorial🎜"🎜🎜

위 내용은 git 롤백 코드를 이해하게 해주세요(자세한 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

git로 저장소를 삭제하는 방법 git로 저장소를 삭제하는 방법 Apr 17, 2025 pm 04:03 PM

git 저장소를 삭제하려면 다음 단계를 따르십시오. 삭제하려는 저장소를 확인하십시오. 로컬 리포지토리 삭제 : rm -rf 명령을 사용하여 폴더를 삭제하십시오. 원격으로 창고 삭제 : 창고 설정으로 이동하고 "창고 삭제"옵션을 찾은 후 작동을 확인하십시오.

Git Commit을 사용하는 방법 Git Commit을 사용하는 방법 Apr 17, 2025 pm 03:57 PM

Git Commit은 프로젝트의 현재 상태에 대한 스냅 샷을 저장하기 위해 파일 변경을 GIT 저장소에 기록하는 명령입니다. 사용 방법은 다음과 같습니다. 임시 저장 영역에 변경 사항 추가 제출 메시지를 저장하고 종료하기 위해 간결하고 유익한 제출 메시지를 작성하여 제출을 완료하기 위해 제출물을 완료하십시오. 제출자에 서명을 추가하여 제출 내용을보기 위해 GIT 로그를 사용하십시오.

git 제출 후 돌아 오는 방법 git 제출 후 돌아 오는 방법 Apr 17, 2025 pm 01:06 PM

git 커밋을 되돌려 보려면 Git Reset -Hard Head ~ N 명령을 사용할 수 있습니다. 여기서 N은 폴백의 커밋 수를 나타냅니다. 자세한 단계에는 다음이 포함됩니다. 롤백 할 커밋 수를 결정합니다. -하드 옵션을 사용하여 폴백을 강요하십시오. 지정된 커밋으로 돌아 가기 위해 명령을 실행하십시오.

GIT 서버의 공개 네트워크에 연결하는 방법 GIT 서버의 공개 네트워크에 연결하는 방법 Apr 17, 2025 pm 02:27 PM

GIT 서버를 공개 네트워크에 연결하려면 5 가지 단계가 포함됩니다. 1. 공개 IP 주소 설정. 2. 방화벽 포트를 엽니 다 (22, 9418, 80/443); 3. SSH 액세스 구성 (키 쌍 생성, 사용자 생성); 4. HTTP/HTTPS 액세스 구성 (설치 서버, 권한 구성); 5. 연결을 테스트합니다 (SSH 클라이언트 또는 GIT 명령 사용).

GIT 계정에 공개 키를 추가하는 방법 GIT 계정에 공개 키를 추가하는 방법 Apr 17, 2025 pm 02:42 PM

GIT 계정에 공개 키를 추가하는 방법은 무엇입니까? 단계 : SSH 키 쌍을 생성합니다. 공개 키를 복사하십시오. Gitlab 또는 Github에 공개 키를 추가하십시오. SSH 연결을 테스트하십시오.

git 코드 충돌을 다루는 방법 git 코드 충돌을 다루는 방법 Apr 17, 2025 pm 02:51 PM

코드 충돌은 여러 개발자가 동일한 코드를 수정하고 변경 사항을 자동으로 선택하지 않고 합병 할 때 발생하는 충돌을 말합니다. 해상도 단계에는 다음이 포함됩니다. 충돌하는 파일을 열고 충돌하는 코드를 찾으십시오. 코드를 수동으로 병합하고 보관하려는 변경 사항을 충돌 마커에 복사하십시오. 충돌 마크를 삭제하십시오. 변경 사항을 저장하고 제출하십시오.

GIT 프로젝트를 로컬로 다운로드하는 방법 GIT 프로젝트를 로컬로 다운로드하는 방법 Apr 17, 2025 pm 04:36 PM

GIT를 통해 로컬로 프로젝트를 다운로드하려면 다음 단계를 따르십시오. GIT를 설치하십시오. 프로젝트 디렉토리로 이동하십시오. 다음 명령을 사용하여 원격 저장소 클로닝 : git 클론 https://github.com/username/repository-name.git

git에서 코드를 업데이트하는 방법 git에서 코드를 업데이트하는 방법 Apr 17, 2025 pm 04:45 PM

GIT 코드를 업데이트하는 단계 : 코드 확인 : git 클론 https://github.com/username/repo.git 최신 변경 사항 가져 오기 : Git Fetch Merge 변경 사항 : GIT 병합 원산지/마스터 푸시 변경 (옵션) : Git Push Origin Master

See all articles