차이 - git 원격 저장소 만들기




어떻게 원격 Git 지점을 만드나요? (12)

나는 업스트림에 '푸시'하려는 로컬 브랜치를 만들었습니다. 새로 생성 된 원격 지점을 추적하는 방법에 대한 스택 오버플로와 비슷한 질문이 여기에 있습니다.

그러나 내 작업 흐름은 약간 다릅니다. 먼저 로컬 지점을 만들고 싶습니다. 만족스럽고 지점을 공유하고 싶을 때만 업스트림에 푸시합니다.

  • 내가 어떻게 그럴 수 있니? (내 Google 검색은 아무것도 나오지 않는 것 같았습니다.)
  • 동료에게 업스트림 저장소에서 가져 오기를 어떻게 알리는가?

업데이트 Git 2.0에는 아래에 작성한 간단한 대답 이 있습니다. https://stackoverflow.com/a/27185855/109305


로컬 컴퓨터에 브랜치를 만들고이 브랜치로 전환하십시오 :

$ git checkout -b [name_of_your_new_branch]

github에 지점을 밀어 :

$ git push origin [name_of_your_new_branch]

당신이 당신의 지점에 뭔가를 저 지르길 원할 때, 당신의 지점에 있어야합니다.

다음을 사용하여 생성 된 모든 분기를 볼 수 있습니다.

$ git branch

다음과 같이 표시됩니다.

* approval_messages
  master
  master_clean

지사에 새 리모컨을 추가하십시오.

$ git remote add [name_of_your_remote] 

커밋에서 변경 사항을 지점으로 푸시 :

$ git push origin [name_of_your_remote]

공식 저장소의 원래 분기가 업데이트되면 해당 분기를 업데이트하십시오.

$ git fetch [name_of_your_remote]

그런 다음 변경 사항을 병합하려면 분기에서 파생 된 것을 적용해야합니다.

$ git merge [name_of_your_remote]/develop

로컬 파일 시스템의 브랜치 삭제 :

$ git branch -d [name_of_your_new_branch]

파일 시스템에서 로컬 브랜치를 강제로 삭제하려면 :

$ git branch -D [name_of_your_new_branch]

github에서 분기 삭제 :

$ git push origin :[name_of_your_new_branch]

여기에 모든 정보

기타 기존 프로젝트


간단한 힘내 2.0+ 해결책 :

Git 2.0에서 동작은 더욱 단순 해졌다 .

git를 push.default = current 로 설정하면 쉽게 사용할 수 있습니다 :

나는 이것을 추가하여 이제는 새로운 브랜치를 업스트림에 올릴 수있다.

$ git push -u

-u 는 동일한 이름의 원격 분기를 추적합니다. 이 설정을 사용하면 git push에 대한 원격 참조가 자동으로 추측됩니다. git.config 문서에서 :

기본.

refspec가 명시 적으로 주어지지 않으면 git push가 취해야 할 동작을 정의합니다.

push.default = current - 현재 분기를 푸시하여 수신 측에서 동일한 이름을 가진 분기를 업데이트합니다. 중앙 및 비 중앙 워크 플로 모두에서 작동합니다.

나를 위해, 이것은 나의 일상적인 Git 워크 플로우의 좋은 단순화이다. 구성 설정은 지점을 로컬에 추가하고 원격으로 만들고자하는 '일반적인'유스 케이스를 처리합니다. 또한 git co remote_branch_name ( --set-upstream-to 플래그를 사용하는 것과 반대)을 수행하여 원격지에서 로컬 브랜치를 쉽게 만들 수 있습니다.

나는이 질문을 알고 있으며 대답은 오래되었지만 동작이 변경되어 작업 흐름을보다 단순하게 만들기위한 구성 옵션이 존재하게되었습니다.

글로벌 Git 설정에 추가하려면 명령 행에서 다음을 실행하십시오 :

$ git config --global push.default current

그냥 그 동안 추가하고 싶었 :

git checkout -b {branchName}

새 분기를 만들고, 해당 분기를 체크 아웃하거나 현재 분기를 만듭니다. 어떤 이유로 든 지부에서 손을 떼지 만 현재 지사가되지 않도록하려는 경우 다음 명령을 사용합니다.

git branch {branchName}

첫 번째 명령에서 "checkout"은 해당 지점을 현재 지점으로 만들고 "-b"는이 지점이 아직 존재하지 않으므로 나를 위해 만듭니다.


기존 분기에서 로컬 분기 만들기 (master / develop / any-other-branch가 될 수 있음)

자식 체크 아웃 -b branch_name

이것을 원격지로 밀어 넣으십시오.

git push -u remote_name local_branch_name : remote_branch_name

이리,

  1. -u : 업스트림 브랜치를 설정합니다.
  2. remote_name : git은 저장소를 생성 할 때 기본적으로 이름을 "origin"으로 설정합니다. 그러나 다른 임의의 이름으로 변경할 수 있습니다.
  3. local_branch_name : 푸시 할 로컬 분기의 이름입니다.
  4. remote_branch_name :은 원격지에서 생성하고자하는 원격 브랜치의 이름입니다.

로컬 브랜치와 리모트 브랜치 이름을 지우면,

git push -u remote_name branch_name

이렇게하면 로컬 브랜치가 원격으로 브랜치 branch_name과 동일한 이름으로 푸시됩니다. 로컬 브랜치는 원격 브랜치도 추적합니다.


먼저 로컬로 분기를 만들어야합니다.

git checkout -b your_branch

그런 다음 지사에서 로컬로 작업 할 수 있습니다. 지사를 공유 할 준비가되면 밀어 넣을 수 있습니다. 다음 명령은 분기를 원격 저장소 원본으로 푸시하고 추적합니다

git push -u origin your_branch

팀 단원은 다음을 수행하여 지회에 연락 할 수 있습니다.

git fetch
git checkout origin/your_branch

당신은 git push에 인수를 건네지 않고서도 언제든지 브랜치에서 작업하고 푸시 할 수 있습니다 (인수없는 git 푸시는 마스터를 원격 마스터로 푸시하고 로컬은 로컬 your_branch에 푸시합니다)

git push

팀 단원은 커밋을 수행하여 지점으로 푸시하고 명시 적으로 푸시 할 수 있습니다.

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

또는 git push에 대한 인수를 피하기 위해 분기 추적

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push

먼저 로컬로 분기를 만듭니다.

git checkout -b your_branch

그런 다음 지점을 원격으로 만듭니다.

git push --set-upstream origin your_branch

참고 : 이것은 git의 최신 버전에서 작동합니다 :

$ git --version
git version 2.3.0

건배!


소스 트리를 통해 수행하는 방법

 1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)

실제로 로컬 브랜치를 사용하지 않고 원격 브랜치를 만들고 싶다면 다음과 같이하면된다.

git push origin HEAD:refs/heads/foo

그것은 당신의 HEAD가 원격지에 존재하지 않는 foo 브랜치로 푸시됩니다.


이전 답변에서 언급했듯이,

git push <remote-name> <local-branch-name>:<remote-branch-name>

로컬 브랜치를 푸시하기에 충분합니다.

동료는 다음 명령을 사용하여 모든 원격 브랜치 (새로운 브랜치 포함)를 가져올 수 있습니다.

git remote update

그런 다음 분기를 변경하려면 일반적인 흐름을 따르십시오.

git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>

이제 git을 사용하면 올바른 분기에있을 때만 입력 할 수 있습니다.

git push --set-upstream origin <remote-branch-name >

git은 origin branch를 생성합니다.


현재 브랜치에서 브랜치를 생성하려면

git checkout -b {your_local_branch_name} 

당신은 원격 브랜치의 브랜치를 원한다.

git checkout -b {your_local_branch_name} origin/<remote_branch_name>

변경이 끝나면 파일을 추가 할 수 있습니다.

git add -A or git add <each_file_names>

그런 다음 로컬에서 커밋하십시오.

git commit -m 'your commit message'

원격 저장소로 푸시하려는 경우

git push -u origin <your_local_branch_name>

모두 함께 할 것입니다.

git checkout -b bug_fixes 

또는 원격 브랜치에서 브랜치를 만들고 싶다면 개발 말하기

자식 체크 아웃 -b bug_fixes 원점 / 개발

다음과 같이 원격 저장소로 분기 할 수 있습니다.

git push -u origin **bug_fixes**

언제든지 다른 브랜치에서 브랜치를 업데이트하려면 master 라고 말하십시오.

git pull origin master .


git push -u <remote-name> <branch-name> 은 새로 생성 된 브랜치가 같은 repo에서 생성되지 않으면 작동하지 않습니다. 즉, git checkout -b new_branch 사용하여 새 브랜치를 작성하지 않았다면 이 작동하지 않습니다.

예를 들어, 나는 두 개의 다른 저장소를 로컬로 복제했고 repo2 / branch1을 repo1에 복사해야했습니다.

This 링크는 내 로컬 지점 (다른 저장소에서 복제)을 원격 저장소에 푸시하는 데 도움 This 되었습니다.





git-branch