내가 원하는 일을 할 수 있는 다음과 같습니다.
일부 다른 (원격이나 로컬) 를 기반으로 만든 현지법인과 지점 (깃 (git) '또는' - 'b' 를 통해 분기로의 체크아웃합니다 깃 (git)
현지 지사 밉니다 원격 리포지토리를 (제작) 를 만들었지만, 정보기술 (it) 깃 (git) '와' 깃 (git) '은' 추적 가능한 그러하매 당기십시오 누름식 바로 업무에.
어떻게 그래요?
깃 (git) 은 약 1.7 있으나, 그 후 작성 '에서' 업스트림입니다 설정되었습니다 그러니까말이야 않았다. I want to make 비슷한 방법을 찾기 위해 박차를 가하고 있는 바뀔 때 드라이버로의 원격 리포지토리를.
깃 (git) 의 새 분기로의 체크, 나중에 1.7.0 수 있습니다.
git checkout -b <branch>
파일 편집, 추가 및 커밋합니다. 다음 [누름식 함께 '-u' ('업스트림입니다 설정되었습니다' 의 줄임말)] (https://git-scm.com/docs/git-push) 옵션:
git push -u origin <branch>
깃 (git) 을 설정할 수 있는 동안 추적 정보를 누름식.
다른 사람과 공유 리포 않을 경우, 이는 모든 '및' 를 원격 유용한 푸시할 너회의 분기로서의 업스트림입니다 설정되었습니다 제대로 자간은 당신꺼에요:
git push --all -u
아닌 것을 요구하고 있지만, 이는 매우 유명한 OP 는 정확히 한 줄 광고문)
이 경우, 다른 사람과 공유 리포 isn& t # 39 위로 정말 좋은 형태로 제공하는 모든 실험 분기로서의 너회의 맛없어 리포 나막신 됩니다.
깃 (git) ',' u '도입되기 git push push - 얻을 수 없었다' 옵션을 너희는너희가 하고 있다. 새로운 구성 명령문입니다 추가 했습니다.
새 분기로의 만들 경우 사용:
$ git checkout -b branchB
$ git push origin branchB:branchB
깃 (git) 을 피하기 위해 사용할 수 있습니다 '명령' 직접 '편집' 구성용 .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 프란치나미 체크아웃합니다 - b
git push - u 출처 헤드입니다
'헤드' 는 " 간편한 방법을 사용하여, 현재 밉니다 드라이버로의 있는 이름이 같은 remote". 출처: https://git-scm.com/docs/git-push 깃 (git), 헤드 (대문자로) 의 조건에 대한 참조입니다 상단형 현재 분기로의 (나무).
이 옵션은 스토프스트림 설정되었습니다 '-u' 의 약어로 '그냥'. 이렇게 하면 추가 참조로는 업스트림입니다 자간은 현재 주장한다. 해당 파일을 .git/config 교체되었는지 확인할 수 있습니다.
내가 그냥 책임질래
git push -u origin localBranch:remoteBranchToBeCreated
이미 클론된 통해 프로젝트.
깃 (git) 는 이름이 '의' under my 새 분기로의 레모테브란치토베크리스트 커밋한 로카레브란츠 '' i did.
git branch --set-upstream-to=origin/localBranch
그래서 지금 '그' 는 현재 사용자의 로컬 분기로의 / 로카레브란츠 뒤로를.
예를 들어, 내가 이전에 클론된 프로젝트 다음과 같습니다.
git clone http://github.com/myproject.git
깃 (git) - b < 체크아웃합니다 newbranch>;
깃 (git) 그 ssh://example.com/var/git/myapp.git 원격 추가 git push 출처 마스터
git 클론할 http://example.com/var/git/myapp.git
< h1> ADDED< /h1>;;;
추가하기에서는 원격 지점.
git push origin master:new_feature_name
모든 것이 잘 있는지 (페치할 출처 및 목록 원격입니다 분기로서의):
git fetch origin
git branch -r
로컬 및 원격 지점 추적되도록 분기로의 만듭니다.
git checkout -tb new_feature_name origin/new_feature_name
업데이트 설명하였노라:
git pull
, git push - u $ 프란치나미 '그' 오래된 편집하십시오 됩니다
깃 (git) 을 사용하여 형상게시 분기로의 '에서' [william& # 39 의 기타 git 툴과도] (http://git-wt-commit.rubyforge.org/) ([기토리우스 리포] (https://gitorious.org/willgit/mainline) 및 [클론할] (https://github.com/DanielVartanov/willgit)).
안전 규정을 무시하고 양호임 없고, 루비, 그래서 -! - 최근 3 줄의 스크립트입니다 시행하십시오 만들어 배시 스크립트에 git 형상게시 분기로의 ':'
#!/bin/bash
REMOTE=$1 # Rewrite this to make it optional...
BRANCH=$2
# Uncomment the following line to create BRANCH locally first
#git checkout -b ${BRANCH}
git push ${ORIGIN} ${BRANCH}:refs/heads/${BRANCH} &&
git config branch.${BRANCH}.remote ${REMOTE} &&
git config branch.${BRANCH}.merge refs/heads/${BRANCH}
여기서 레모텐임 실행하십시오 git 형상게시 분기로의 레모텐임 프란치나미 '보통' 원점 (수정할 수 있습니다) 과 어원이 스크립트입니다 시행하십시오 기본, etc.)
I made it 추진할 수 있도록 만들 때마다 새 분기로의 앨리어스를 원격 지점 및 추적, 그에 따라. I put 정보정의다음 청크가 .bash_profile 꽂으십시오 '' file:
# Create a new branch, push to origin and track that remote branch
publishBranch() {
git checkout -b $1
git push -u origin $1
}
alias gcb=publishBranch
내게 중요한 것은 이 메시지를 전달하며 유닛 테스트 실행하십시오 아니라 나를 커밋하기 전에 현재 분기로의 이름 기본적으로.
$ git_push_new_branch.sh
Have you run your unit tests yet? If so, pass OK or a branch name, and try again
usage: git_push_new_branch {OK|BRANCH_NAME}
e.g.
git_push_new_branch -> Displays prompt reminding you to run unit tests
git_push_new_branch OK -> Pushes the current branch as a new branch to the origin
git_push_new_branch MYBRANCH -> Pushes branch MYBRANCH as a new branch to the origin
function show_help()
{
IT=$(cat <<EOF
Have you run your unit tests yet? If so, pass OK or a branch name, and try again
usage: git_push_new_branch {OK|BRANCH_NAME}
e.g.
git_push_new_branch.sh -> Displays prompt reminding you to run unit tests
git_push_new_branch.sh OK -> Pushes the current branch as a new branch to the origin
git_push_new_branch.sh MYBRANCH -> Pushes branch MYBRANCH as a new branch to the origin
)
echo "$IT"
exit
}
if [ -z "$1" ]
then
show_help
fi
CURR_BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$1" == "OK" ]
then
BRANCH=$CURR_BRANCH
else
BRANCH=${1:-$CURR_BRANCH}
fi
git push -u origin $BRANCH