> 개발 도구 > 자식 > 본문

아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

藏色散人
풀어 주다: 2020-01-26 16:55:20
앞으로
3313명이 탐색했습니다.

아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

1. 방금 제출한 코드를 미세 조정해야 한다는 것을 알았습니다.

방금 코드 조각을 제출한 다음 프런트 엔드에 인터페이스가 준비되었다고 말했습니다. 2분 후에 프런트 엔드에서 '안녕, 형제님, 그 금액을 소수점 없이 정수로 반환할 수 있나요?'라고 알려줍니다.

이때는 보통 수정 후 버전을 제출하는 경우가 많습니다. 그리고 2분쯤 지나서 프론트엔드가 다시 와서 '형님, 그 날짜 형식을 변경할 수 있나요...

보통 우리는 그것을 수정해서 버전을 제출할 것이므로 몇 가지 간단한 변경만으로 제출하겠습니다'라고 했습니다. it 여러 버전 이후에는 가능하지만 더 우아하고 간단한 솔루션이 있습니다. commit --amend commit --amend 

"amend" 是「修正」的意思。在提交时,如果加上 --amend 参数,Git 不会在当前 commit 上增加 commit,而是会把当前 commit 里的内容和暂存区(stageing area)里的内容合并起来后创建一个新的 commit,用这个新的 commit 把当前 commit 替换掉。所以 commit --amend 做的事就是它的字面意思:对最新一条 commit 进行修正。

具体地,当你把修改改完之后,直接运行:

git add .
git commit --amend
로그인 후 복사
로그인 후 복사

之后会出现你之前一个提交的信息:

아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

你可以修改或保留它,然后保存退出就可以了。你的最新commit就被更新了,如下图所示:

   아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

二、要修改的不是最新的commit,而是倒数第二个

突然我先我们倒数第二个提交需要进行一些微小的调整,那么这时候我们就不能用上面那种处理方式了,不过也是有办法的。

rebase -i :是 rebase --interactive 的缩写,意思为「交互式rebase」。

  아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

git log 后我们发现是倒数第二个commit需要修改,那么此时我们可以运行:

git rebase -i HEAD^^

"amend"는 "수정"을 의미합니다. 제출할 때 --amend 매개변수를 추가하면 Git은 현재 커밋에 커밋을 추가하지 않지만 현재 커밋의 내용을 준비 영역의 내용과 병합하여 현재 커밋을 대체합니다. 이 새로운 커밋으로. 따라서 commit --amend는 말 그대로 최신 커밋을 수정합니다.

아직 이런 유용한 Git 기능을 모르실 수도 있습니다!구체적으로 변경한 후 직접 실행하세요.

git add .
git commit --amend
로그인 후 복사
로그인 후 복사

이전에 제출한 정보가 표시됩니다.

아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

수정하거나 유지한 다음 저장하고 종료할 수 있습니다. 최근 커밋이 업데이트됩니다. , 아래와 같이: 아직 이런 유용한 Git 기능을 모르실 수도 있습니다!

 E61GZ@A9DT6U$ NS[@{14NL0.png

둘째, 수정해야 할 것은 최신 커밋이 아니라 마지막에서 두 번째 커밋입니다

갑자기 마지막에서 두 번째 커밋을 먼저 커밋합니다. 약간의 조정이 필요합니다. 그래서 지금은 위의 처리 방법을 사용할 수 없지만

rebase -i 방법이 있습니다: rebase --interactive입니다. 대화형 리베이스"

git log 이후 두 번째 커밋을 수정해야 한다는 것을 알았으므로 이때 다음을 실행할 수 있습니다.

git rebase - i HEAD^^ , 다음 인터페이스가 나타납니다.

이 편집 인터페이스의 상단에는 "rebase"될 모든 커밋이 나열됩니다. 이는 두 번째 커밋 "modify testgit"과 최신 커밋 "mofify .gitignore"입니다. 이 배열은 이전 커밋이 맨 위에 있고 새 커밋이 맨 아래에 있는 긍정적인 순서입니다.

이때 수정해야 할 커밋을 수정하기 전에 커밋을 넣을 수 있습니다.

위 인터페이스는 수정이 필요한 커밋에서 리베이스 프로세스가 중지되었음을 알려주며 수정 후:

git rebase --continue
로그인 후 복사

  업로드 수정 후, 다음을 실행할 수 있습니다: 🎜
git stash pop
로그인 후 복사
🎜충돌이 없으면 완벽하게 리베이스됩니다. 🎜🎜 🎜🎜🎜 3. 비상: 보관함 🎜🎜🎜 키보드를 치며 새로운 기능 개발에 열중하고 있을 때, 갑자기 누군가 다가와서 '야 형, 아까 개발했던 기능이 나타났다'고 합니다. 버그, 빨리 수정해주세요. 이때 새로운 브랜치 기능이 막 시작되었습니다. 한 번 직접 커밋하면 확실히 가능하지만, git stash를 처리하는 더 좋은 방법이 있습니다.🎜🎜git stash가 변경됩니다. 나중에 작업 디렉터리 변경 사항을 지우고 다른 위치에 저장하세요. git stash는 추적되지 않는 파일을 무시한다는 점에 유의해야 합니다. 이 경우 -u 매개변수, 즉 git stash -u를 추가해야 합니다. 🎜🎜버그를 수정한 후 작업 브랜치로 다시 전환하세요. 그렇다면: 🎜rrreee🎜전에 보관했던 것들이 다시 돌아오니까 정말 편리하지 않나요? 🎜🎜이 기사는 🎜git 튜토리얼 🎜 칼럼에서 가져온 것입니다. 배우신 것을 환영합니다! 🎜

위 내용은 아직 이런 유용한 Git 기능을 모르실 수도 있습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
git
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!