새 로컬 분기를 원격 Git 저장소로 밀어 넣고 트랙을 수행하려면 어떻게해야합니까?


질문

 

나는 다음을 할 수 있기를 원한다 :

  1. Create a local branch based on some other (remote or local) branch (via git branch or git checkout -b)

  2. Push the local branch to the remote repository (publish), but make it trackable so git pull and git push will work immediately.

어떻게해야합니까?

GIT 1.7의 - 상류에 대해 알아 두지 만, 그것은 기업 후 작품입니다.브랜치를 원격 저장소로 밀 때 비슷한 변경을 할 수있는 방법을 찾고 싶습니다.


답변

 

Git 1.7.0 이상에서는 새로운 지점을 체크 아웃 할 수 있습니다.

git checkout -b <branch>

파일을 편집하고 추가하고 확약하십시오.그런 다음 -u (짧은 - 설정 짧은 - 업스트림) 옵션을 누릅니다.

git push -u origin <branch>

Git은 푸시 중에 추적 정보를 설정합니다.



답변

다른 사람들과 함께 Repo를 공유하지 않으면 모든 분기를 원격 및 - 셋트 스트림 추적으로 올바르게 밀어 넣는 것이 유용합니다.

git push --all -u

(OP가 요구 한 것과 정확히 일어나지는 않지만이 한 라이너는 꽤 인기가 있습니다)

다른 사람들과 repo를 공유하는 경우 이것은 당신이 모든 dodgy 실험 지점으로 repo를 막을 것처럼 정말 좋은 형태가 아닙니다.



답변

Git Push -u의 도입 이전에, 당신이 원하는 것을 얻기 위해 Git Push 옵션이 없었습니다.새 구성 문을 추가해야했습니다.

다음을 사용하여 새 지점을 만드는 경우 :

$ git checkout -b branchB
$ git push origin branchB:branchB

git config 명령을 사용하여 .git / config 파일을 직접 편집하지 않도록 할 수 있습니다.

$ git config branch.branchB.remote origin
$ git config branch.branchB.merge refs/heads/branchB

또는 .git / config 파일을 수동으로 편집 하여이 지점에 추적 정보를 추가 할 수 있습니다.

[branch "branchB"]
    remote = origin
    merge = refs/heads/branchB


답변

단순히 새로운 로컬 지점을 만들려면 다음을 수행하십시오.

git branch <branch-name>

원격 저장소로 밀어 넣으려면 다음을 수행하십시오.

git push -u origin <branch-name>


답변

이미 여기에 주어진 솔루션의 약간의 변형

git



답변

나는 단순히 그렇게한다

git push -u origin localBranch:remoteBranchToBeCreated

이미 복제 된 프로젝트를 통해.

Git은 LocalBranch에서 한 나의 커밋 아래에 RemoteBranchTobecreated라는 새로운 지점을 만듭니다.

편집 : 현재 로컬 지점 (아마도 LocalBranch (아마도 이름이 지정된 LocalBranch) 업스트림이 Origin / RemoteBranchTobeCreated로 변경됩니다.그 문제를 해결하려면 다음을 입력하십시오.

git branch --set-upstream-to=origin/localBranch

또는

git branch -u origin/localBranch

따라서 현재의 로컬 지점은 이제 원산지 / 로컬 브랜치를 추적합니다.

출처:https://stackoverflow.com/questions/2765421/how-do-i-push-a-new-local-branch-to-a-remote-git-repository-and-track-it-too