정말 이해가 안 되고, 인터넷에도 이에 대한 명확한 설명이 없습니다.
상황은 이렇습니다. 이제 원격 창고와 마스터 지점이 하나만 있습니다. 그런 다음 내 로컬 창고가 원격 마스터에서 복제됩니다. 모두가 이를 복제한 다음 로컬로 변경하고 커밋한 다음 풀(Pull)하고 푸시(Push)합니다. 이제 질문이 나옵니다:
1 그렇다면 내 로컬 지점도 지점으로 간주될 수 있나요? 아니면 그냥 동네 창고인가요?
2. 원격으로 새 브랜치를 생성한 후 가져오면 로컬에 브랜치가 생기나요? 내 로컬 지점이 새로 생성된 원격 지점과 동일합니까?
3. 현지 창고와 현지 지점의 차이점은 무엇인가요?
4. 커밋이 로컬 창고에 제출된 후 푸시됩니다. 이 푸시는 모든 코드를 원격 창고로 푸시합니까, 아니면 커밋만 원격 창고로 푸시합니까?
5. 그럼 왜 먼저 커밋하고 풀하고 푸시해야 하나요? 덮어씌워졌다는 뜻이 아닌가요? 좋은 로컬 변경 사항이 있나요? 그럼 어떻게 밀어낼 수 있나요?
6. 두 개의 분기 A와 B. A는 B와 병합되고 B는 A와 병합됩니다. 차이점이 있나요?
인사이트
1. 로컬 컴퓨터는 클론으로 간주됩니다.
2. 예, 원격으로 브랜치 개발자가 있는 경우 오리진 개발자를 끌어오면 로컬로 dev 브랜치가 생깁니다.
3. 창고는 전체 프로젝트이고 지점은 생산 라인 중 하나입니다. 알리바바 그룹에 타오바오가 하나만 있는 것이 아닌 것처럼
4. 푸시는 물론 전부는 아니지만 직접 테스트하여 대용량 파일을 얻을 수 있습니다. 처음으로 몇 킬로바이트의 텍스트를 추가하면 전송 속도가 매우 느려집니다. 아주 빨리
5. 커밋은 원격이 로컬을 직접 덮어쓰는 것을 방지합니다. 수정 사항이 있는 한 커밋하라는 메시지가 표시되는 이유는 원격의 최신 항목이 로컬과 일치하지 않기 때문입니다. 원격 브랜치에 있는 것들은 버릴 수 없기 때문에 로컬에서 가져와서 저장하면 로컬이 최신이 되고 마지막으로 푸시하면 됩니다. 원격을 수정하세요.
답변 완료, 알겠습니다
둘 다 가능하지만 대부분의 사람들은 다른 파트너의 코드 변경 사항을 이해할 수 있도록 먼저
pull
,因为你没提交你的代码,别人提交了,这时候git
会自动merge
,而如果你提交了,有时候git
自动merge
会报冲突,选择先pull
就是图一个方便和省事,当然也有人选择先push
在pull
를 선택합니다일반인의 관점에서 말하면, 무엇이 필요한지, 무엇이 필요하지 않은지 모르기 때문에
master
的代码快照是1,你的同伴改了提交了是2,你的提交代码是3,如果你先pull
,那么就是3和1merge
,而3包含1,git
选择最新代码3覆盖1,不存在冲突关系,而你先push
在pull
,那就是2和3merge
,这是git
自动merge
잘못될 것이라는 것이 밝혀졌습니다병합 문제
a와 b의 병합은 b와 a의 병합과 동일합니다. 두 브랜치에서 요구하는 코드는 유지되어 모두가 동의하는 코드로 통합됩니다
병합 과정이 조금 다를 수 있다는 점만 다를 뿐 기본적으로는 동일합니다
로컬과 원격의 관계는 두 개의 브랜치와 동일합니다. 스트림 설정 시 해당 관계가 자동으로 바인딩되어 있기 때문에 같은 느낌이 듭니다..발발라
git pull
를 추가한 다음 제출 시간에 따라 정렬하여 새로 만듭니다. 커밋 기록을 병합하고 업로드하세요
commit
给怼上去,如果本地的这几个commit
和远程的commit
有冲突的部分就merge
이 제출에서 내가 무엇을 변경했는지 git에게 알려주는 것입니다. 그렇지 않으면 방금 변경했지만 git은 변경한 사실을 모르므로 판단하고 비교할 방법이 없습니다.
commit
세 번 연속으로 다시 한 번 당기면 협상 중에 다른 사람이 다른 버전을 제출하는 것을 방지할 수 있습니다. 일반적으로 충돌이 없으면 직접 병합됩니다. 귀하의 코드는 덮어쓰이지 않습니다
pull
是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来,这个时候就需要先把和你冲突的那个人拉过来问问保留谁的代码,然后在git add && git commit && git pull
작업을 수행하지 않았습니다. 직접 해봤는데 뭔가 썼는데
commit
操作,他先自己写了东西,然后git pull
这个时候 B 本地版本已经到3了,B 在本地版本3的时候改了 A 写过的代码,再进行了git commit && git push
이때 B의 로컬 버전이 3이 됐습니다. B가 로컬 버전이 3일 때 A가 작성한 코드를 변경한 후git commit && git push, 그러면 원격 버전에서 답은 4이고, A의 코드가 가려지므로 모두가 먼저 커밋한 다음 당겨야 합니다. 그렇지 않으면 코드가 정말 가려지게 됩니다