Giit에서 충돌을 제거하려면
7072 단어 Git
개요
언제 올지 모르는 충돌 해소의 날을 위해 마련한 비망록.
(즉, 충돌을 제거하려면 다음을 수행합니다.)
정황
업무 지점에서 편집을 진행한 후 포스터가 나오면 충돌이 발생합니다!
공구.
등장 지점
전제 조건
업무 지점 (b branch) 에서 개발자로 끌어내세요.
먼저브랜치를 합병해서 그 지점 편집자와 경쟁한 것 같아.
포즈가 나왔을 때 충돌이 생기면 이렇게 표현할 거예요.
절차.
개발자를 최신 상태로 전환
# ブランチをdevelopに切り替えて
git checkout develop
# pullする(リモートの状態を反映させて最新に)(fetch + mergeでもOK)
git pull origin develop
개발자를 업무 지점에 합병하다
# 作業ブランチに切り替えて
# git checkout <作業ブランチ>
git checkout b_branch
# developをマージ
git merge develop
그렇다면 충돌이 일어날 것이다.출력
Auto-merging fuel/app/classes/util/message.php
CONFLICT (add/add): Merge conflict in fuel/app/classes/util/message.php
Automatic merge failed; fix conflicts and then commit the result.
컨디션 체크.
git status
출력On branch b_branch
# ここにも、マージできなかった旨がかいてある
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
# a_branchが追加してたファイルで、コンフリクト起こしてないから自動マージされたやつ
Changes to be committed:
new file: fuel/app/classes/util/ahoge.php
# コンフリクト起こして自動マージできなかったやつ
# ※これを修正してコンフリクト解消する必要がある!※
Unmerged paths:
(use "git add <file>..." to mark resolution)
both added: fuel/app/classes/util/message.php
로그도 보고(IDE 플러그인 또는 기타 도구로 확인할 수 있음)git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
(※'git graphiall'에서 확인할 수 있도록gitconfig에 알리스를 설치)그럼 충돌 취소
이번에 넷빈스를 통해 해결한 방법은 IDE를 사용하지 않고 편집기에서 해도 된다.
확인
충돌을 일으킨 파일
both added
이 빨간색으로 표시됩니다.대상 파일을 열면 충돌을 일으키는 부분은 다음과 같다.
<<<<<<< HEAD
# 作業ブランチでの変更内容
・・・
=======
# develop(マージしたブランチ)での変更内容
・・・
>>>>>>> develop
이번에는 이런 느낌이야.새 파일 및 상수 추가branch b브랜치도 갔고.
message.php
<<<<<<< HEAD
<?php
class Util_Message
{
const B_MESSAGE_1 = 'bbranchが追加したメッセージ 1個目。';
const B_MESSAGE_2 = 'bbranchが追加したメッセージ 2個目。';
=======
<?php
class Util_Message
{
const A_MESSAGE_1 = 'abranchが追加したメッセージ 1個目。';
const A_MESSAGE_2 = 'abranchが追加したメッセージ 2個目。';
>>>>>>> develop
}
차이를 확인하면서 편집합니다.
개체 파일→
fuel/app/classes/util/message.php
→Git
→差分
를 마우스 오른쪽 버튼으로 클릭합니다.이렇게 하면 차이를 보면서 수정할 수 있어요.
수정하면 이런 느낌이야.어떤 수정이 있었는지 쉽게 볼 수 있다.
이렇게 저장합니다.
편집된 파일을 검사하다
만약 이렇게 하지 않는다면,git는 자신이 이미 충돌을 없앴다는 것을 의식하지 못할 것이다
git add fuel/app/classes/util/message.php
확인
git status
충돌 방지 및 편집된 파일 추가출력
On branch b_branch
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
Changes to be committed:
new file: fuel/app/classes/util/ahoge.php
modified: fuel/app/classes/util/message.php
그리고 바로 커밋과 푸쉬로 OK.
git commit -m "コンフリクト解消" # デフォルトのマージコミットコメントを使用する場合は、git commitのみでenter。エディタが開くので、コミットコメントを保存。
git push origin b_branch
일단 일지를 한번 보도록 하겠습니다.
가지를 나눈 건 잘 모으는 거예요?어휘력.
gitlab 확인
포스터 화면을 열면 충돌이 없어져서 정보를 교환할 것 같아요.
끝맺다
후기
Reference
이 문제에 관하여(Giit에서 충돌을 제거하려면), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/crarrry/items/c5964512e21e383b73da텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)