Git Rebase 수수께끼
5948 단어 gitprogrammingcodingwebdev
나는 잘못을 하나 저질렀는데, 나는 어떻게 고쳐야 합니까?
나의 범죄 기록이 엉망진창인데, 어떻게 그것을 정리해야 합니까?
만약 네가 일찍이 상술한 문제가 있었다면, 이 게시물은 너를 위해 준비한 것이다.
만약 당신이 Git 기초 지식을 모른다면, click here Git 기초 지식에 관한 저의 블로그를 보십시오.본문을 충분히 활용하기 위해서는 Git의 기초 지식을 알아야 합니다.
우선, 이 글은gitamend를 해석한 다음에gitrebase를 해석할 것이다😃
나는 잘못을 하나 저질렀다.나 어떡하지?
chuttersnap 위의 Unsplash "바닥 위의 도자기판"
장면 1
만약 당신이 이미 한 무더기의 파일을 제출했고 입력한 제출 메시지가 실제로는 분명하지 않다는 것을 깨달았다면.제출 메시지를 변경하려고 합니다.이를 위해 사용할 수 있습니다git commit --amend
git commit --amend -m "New commit message"
장면 2
여섯 개의 파일을 제출하려고 했지만 오류로 인해 결국 다섯 개의 파일만 제출했다고 가정하십시오.새 커밋을 만들고 여섯 번째 파일을 커밋에 추가할 수 있다고 생각할 수 있습니다.
이런 방법은 틀림없다.단, 깔끔한 제출 기록을 유지하기 위해서, 만약 당신이 정말로 어떤 방식으로 이 파일을 이전의 제출 자체에 추가할 수 있다면 더욱 좋지 않겠습니까?이것 또한 git commit --amend
를 통해 완성할 수 있다.
git add file6
git commit --amend --no-edit
--no-edit
제출 메시지가 변경되지 않음을 나타냅니다.
장면
Git에서 제출할 때마다 제출에는 작성자 이름과 작성자 이메일이 첨부됩니다.일반적으로 Git를 처음 설정할 때 작성자 이름과 전자 메일을 설정해야 합니다.제출할 때마다 작성자의 상세한 정보를 걱정할 필요가 없습니다.
즉, 특정 항목에 대해 다른 전자 메일 ID를 사용할 수 있습니다. 다음 명령을 사용하여 항목의 전자 메일 ID를 구성해야 합니다.
git config user.email "your email id"
전자 메일 설정을 잊어버리고 첫 번째 제출을 마쳤다고 가정하십시오.Amend
마지막으로 제출한 작성자를 변경할 수도 있습니다.다음 명령을 사용하여 커밋된 작성자를 변경할 수 있습니다.
git commit --amend --author "Author Name <Author Email>"
주석 가리키기
로컬 저장소에서만 amend
명령을 사용합니다.원격 저장소에 amend
를 사용하는 것은 많은 혼란을 초래할 수 있습니다.
나의 범죄 기록은 엉망진창이다.어떻게 처리해야 합니까?
코드를 작성하고 있다고 가정하십시오.코드는 대략 10일이 걸려야 완성할 수 있다는 것을 알고 있습니다.10일 내에 다른 개발자들도 코드를 원격 저장소에 제출할 것이다.
로컬 저장소 코드와 원격 저장소의 코드를 최신 상태로 유지하는 것은 좋은 방법이다.이것은 나중에 요청을 할 때 대량의 합병 충돌을 피할 수 있다.따라서 원격 저장소에서 이틀에 한 번씩 변경 사항을 추출하기로 결정했습니다.
원격 저장소에서 로컬 저장소로 코드를 끌어올릴 때마다 로컬 저장소에 새로운 통합 커밋이 생성됩니다.이것은 로컬 제출 기록에 많은 합병 제출이 있을 것이라는 것을 의미하며, 이것은 검토자를 곤혹스럽게 할 수 있습니다.
다음은 제출 기록이 로컬 저장소에 있는 모양입니다.
어떻게 하면 제출 역사를 더욱 깔끔하게 볼 수 있습니까?
이것이 바로 리베이스의 생명을 구하는 길이다.
재정기란 무엇입니까?
나는 하나의 예를 통해 이 점을 설명하겠다.
이 그림은 발표 지점과 기능 지점의 제출을 보여 준다
git commit --amend -m "New commit message"
git add file6
git commit --amend --no-edit
git config user.email "your email id"
git commit --amend --author "Author Name <Author Email>"
코드를 작성하고 있다고 가정하십시오.코드는 대략 10일이 걸려야 완성할 수 있다는 것을 알고 있습니다.10일 내에 다른 개발자들도 코드를 원격 저장소에 제출할 것이다.
로컬 저장소 코드와 원격 저장소의 코드를 최신 상태로 유지하는 것은 좋은 방법이다.이것은 나중에 요청을 할 때 대량의 합병 충돌을 피할 수 있다.따라서 원격 저장소에서 이틀에 한 번씩 변경 사항을 추출하기로 결정했습니다.
원격 저장소에서 로컬 저장소로 코드를 끌어올릴 때마다 로컬 저장소에 새로운 통합 커밋이 생성됩니다.이것은 로컬 제출 기록에 많은 합병 제출이 있을 것이라는 것을 의미하며, 이것은 검토자를 곤혹스럽게 할 수 있습니다.
다음은 제출 기록이 로컬 저장소에 있는 모양입니다.
어떻게 하면 제출 역사를 더욱 깔끔하게 볼 수 있습니까?
이것이 바로 리베이스의 생명을 구하는 길이다.
재정기란 무엇입니까?
나는 하나의 예를 통해 이 점을 설명하겠다.
이 그림은 발표 지점과 기능 지점의 제출을 보여 준다
git checkout feature
git rebase release
재정비
기본 주소를 다시 정할 때, 기능 지점이 발표 지점에서 최신 코드를 얻을 수 있도록 하는 것이 목표입니다.
재배치 각 제출을 하나씩 추가하고 충돌을 검사합니다.이것은 듣기에 사람을 곤혹스럽게 합니까?
도표로 설명해 드릴게요.
이것은 내부의 실제 작용을 재조정하는 것을 나타낸다.
1단계
2단계
git add fixedfile
git rebase --continue
단계 3
주의사항
축하한다😃
본 게시물에서 다음을 알 수 있습니다.
심지어 더 많다.
언제든지 저에게 연락하거나 따라주세요.
만약 네가 이 게시물을 좋아한다면, 너는 나의 사이트를 볼 수 있다https://adityasridhar.com기타 유사 직위
Reference
이 문제에 관하여(Git Rebase 수수께끼), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adityasridhar/the-mystery-of-git-rebase-2k2h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)