我怎么做:

从另一个分支创建一个本地分支(通过 git 分支或 git checkout -b) 将本地分支推到远程存储库(即发布),但使其可追踪,以便 git pull 和 git push 工作。


当前回答

我创建了一个标签,所以每当我创建一个新的分支,它将按下推和跟踪远程分支。

# 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

使用: 只是用 thuy/do-sth-kool 输入 gcb thuy/do-sth-kool 是我的新分支名称。

其他回答

在引入 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 1.7.0 或更高版本中,您可以查看一个新的分支:

git checkout -b <branch>

编辑文件,添加和承诺. 然后按下 -u (缩写为 --set-upstream) 选项:

git push -u origin <branch>

Git 在推时将设置跟踪信息。

如果你不分享你的repo与其他人,这是有用的推所有的分支到远程,并 -set-upstream跟踪正确为你:

git push --all -u

(不是OP想要什么,但这个单线是相当受欢迎的)

如果你正在与其他人分享你的repo,这不是一个很好的形式,因为你会用你所有的Dodgy实验分支来关闭repo。

你可以在2个步骤中完成:

使用支票来创建本地分支:

git checkout -b yourBranchName

随心所欲地与你的分支工作。

使用推命令自我创建分支,并将代码发送到远程存储库:

git push -u origin yourBanchName

有很多方法可以做到这一点,但我认为这很简单。

创建一个新的分支,通过从现有分支中分支

git checkout -b <new_branch>

然后将这个新分支推到存储库使用

git push -u origin <new_branch>

此创建并推动所有本地承诺到新创建的远程分支起源/<new_branch>