찾다

 >  Q&A  >  본문

버전 관리 - git이 브랜치 생성에 실패하고, 커밋을 할 수 없고, 브랜치의 목적을 이해하기 어려웠습니다.

의심

저는 git 브랜치에 대해 잘 모릅니다. 오늘 테스트용으로 git 브랜치를 사용하고 new 이후에 commit 브랜치가 오류를 보고했고 push 브랜치가 생겼습니다. 원격으로 볼 수 없었습니다. new

스크린샷

원격 스크린샷 bitbucket.org, 새 브랜치가 아닌 기본 마스터 브랜치만 표시


명령

으아아아

브랜치의 이해

1. 브랜치를 생성한 후

을 추가한 후 현재 브랜치에 git add .을 제출할까요? git commit -m "" 2.
을 실행하면 원격에서 로컬로 새 브랜치가 다운로드되어 자동으로 직접 병합되나요? git checkout new 3.
을 실행한 다음 git bash를 닫고 git bash를 열면 기본값은 새 브랜치 git checkout new입니다. 4. git의 기본 브랜치는
브랜치인가요? master

지점의 목적

우분투를 개발한다면 프로그래머 A는

브랜치를 개발하고 있고, 프로그래머 B는 LTS12.04 버전을 계속 개발하고 있다고요? V13 그런 다음 프로그래머 B는 프로그래머 A의
개발을 도와야 합니다. 그런 다음 B는 먼저 프로젝트 V13의 모든 파일을 V13 브랜치로 git push한 다음 git checkout LTS12.04, 그런 다음 모든 LTS12.04 브랜치를 git pull해야 합니다. 수정 후 git은 LTS12.04 브랜치를 푸시하고 V13 브랜치를 체크아웃한 다음 V13 브랜치로 돌아가기 전에 모든 V13 프로그램을 가져옵니다. LTS12.04 그렇습니까? 그런데 B 프로젝트 폴더에 있는 V13과 LTS12.04 버전의 코드를 git pull로 병합하지 않았나요?

이해하기 힘드네요...

高洛峰高洛峰2796일 전899

모든 응답(4)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-28 09:07:49

    구문 오류. . . 명확한 오류 메시지도 읽지 마세요

    으아악

    새 브랜치를 푸시할 때는 이렇게 작성해야 합니다. (콜론 =.=은 어디서 보셨나요?

    으아악

    ==========================================

    브랜치의 이해

    1. 브랜치를 생성한 후 git add 를 실행하고 git commit -m ""을 실행하여 현재 브랜치에 커밋합니다.

    새 브랜치를 생성한다고 해서 브랜치로 전환하는 것은 아닙니다.git branch new_branch단지 현재 브랜치의 현재 상태에서 새 브랜치를 생성할 뿐입니다. 그러나 이때 직접 수정 및 커밋은 여전히 ​​현재 브랜치에만 있습니다. 🎜> 새로운 지점으로 전환됩니다git checkout new_branch

    은 위 두 명령의 합과 같습니다. git checkout -b new_branch

    2. git checkout new를 실행하면 새 브랜치가 원격에서 로컬로 다운로드되어 자동으로 직접 병합되나요?

    만 원격 끝과 상호 작용합니다. push/pull/fetch 등은 순전히 로컬 작업입니다. commit/checkout
    는 현재 사용되는 브랜치에서 다른 로컬 브랜치로 전환합니다. 브랜치. 작업공간의 모든 파일 내용이 다른 브랜치의 상태로 변경됩니다. checkout

    "원격에서 로컬로 새 브랜치를 다운로드하고 자동으로 직접 병합"하는 것은

    이 새 브랜치git pull에 미치는 영향입니다.

    3. git checkout new를 실행한 다음 git bash를 닫고 git bash를 열면 기본값은 새 브랜치입니다

    예, 브랜치 상태는 유지되며 모든 정보는 .git 디렉토리에 저장됩니다.

    4. git의 기본 브랜치는 마스터 브랜치인가요?

    지점의 목적

    Ubuntu를 개발할 때 프로그래머 A가 LTS12.04 브랜치를 개발하고 있고 프로그래머 B가 계속해서 V13 버전을 개발하고 있다고 가정해 보겠습니다.

    그런 다음 프로그래머 B는 프로그래머 A가 LTS12.04를 개발하도록 도와야 합니다. 그런 다음 B는 먼저 프로젝트 V13의 모든 파일을 V13 브랜치
    로 git push한 다음 git checkout LTS12.04를 수행하고 git pull을 통해 모든 LTS12를 가져와야 합니다. .04 브랜치 不需要push,但必须commit/stash 否则修改内容会丢失. 수정 후 这里应该描述为拉取1204分支上所有的远端变更 git push LTS12.04 브랜치, 그런 다음 V13 브랜치를 체크아웃하고 모든 V13 프로그램을 git pull先git commit V13 브랜치로 돌아가나요? 同样不需要pull 그렇습니까? 그런데 B 프로젝트 폴더에 있는 V13과 LTS12.04 버전의 코드를 git pull merge로 병합하지 않았나요?

    pull只会从远端拉取其他人push上去的变更,合并到本地“对应”的分支,跨分支的合并只能在本地通过git merge完成

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-04-28 09:07:49

    다른 사람의 오류 메시지를 잘 살펴보라고 Git에서 전화를 걸었습니다! 완료

    으아악

    는 정상이고, push의 명령은

    입니다. 으아악

    아! 언제 origin:new가 되었나요?

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-04-28 09:07:49

    push이어야 합니다. 이 과정에서 문제가 있습니다. git push origin new

    Q: 브랜치를 생성한 후 git add 를 사용하여 추가한 다음 git commit -m "" 를 사용하여 현재 브랜치에 커밋합니까?

    A: 로컬에서 코드를 제출하세요

    Q: git checkout new를 실행하면 새 브랜치가 원격에서 로컬로 다운로드되어 자동으로 직접 병합되나요?

    A: 명시적으로 호출하지 않는 한 원격에서 로컬로 new 분기를 다운로드하지 않습니다. git pull origin

    Q: git checkout new을 실행하고 git bash를 닫은 다음 git bash을 열면 기본값은 새 브랜치

    입니다.

    답: 그렇죠

    Q: gi의 기본 브랜치는 master 브랜치가 아닌가요?

    A: git 기본 분기는 master 분기

    입니다.

    처음부터 익히는 것을 권장합니다: https://github.com/numbbbbb/progit-zh-pdf-epub-mobi

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-28 09:07:49

    newBranch 브랜치를 푸시하는 경우 마스터에서 새 브랜치를 병합해야 합니다: git merge newBranch
    전체 단계:

    으아아아

    회신하다
    0
  • 취소회신하다