因此,我使用Jira创建了一个分支,并在本地系统中查看了该分支。现在我正在尝试对我的本地系统进行git拉动,但我得到了这样的信息
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> feature/branch-name mark-violation
我需要做什么?我看过这个链接,但我不清楚。
这个故事里有两个怪人。我们叫他们吉拉的Git和你的本地Git吧。
>
当您在Jira的Git上创建一个分支时,您就是这样做的:在Jira的Git上创建一个分支。
当您在本地Git上说Git checkout-b branch-name
时,您就在本地Git上创建了一个分支。
git branch -u origin/branchname branchname
-u
表示“上游设置”,并将本地分支BranchName
绑定到远程跟踪分支Origin/BranchName
(假设Origin
是指定JIRA的Git的远程的本地名称)。请注意,这正是Git告诉您应该说的时候已经告诉您要做的
git branch --set-upstream-to=origin/<branch> feature/branch-name
你本来可以这么做的,现在就到家了。
注意,这个故事中实际上有三个分支:Jira Git上的分支、本地Git中的远程跟踪分支和本地Git中的本地分支。Jira Git上的分支和本地Git中的分支通常具有相同的名称,比如branchname
;本地Git中的远程跟踪分支通常在该名称前面加上起源名称,比如origin/branchname
。
>
当您说Git Fetch
时,您将Jira的Git分支向下同步到本地远程跟踪分支。因此,您通常不需要告诉Git如何将远程跟踪分支绑定到Jira Git;它已经知道如何做到这一点,因为当您说git fetch
时,它是这样为您设置的。
当您说Git checkout
的分支名称恰好与远程跟踪分支的名称匹配时,Git假定您真正的意思是“创建一个本地分支并将其绑定到同名的远程跟踪分支。”所以它就是这样做的。这就是为什么提取然后结账本来是正确的事情。相反,您手动创建了一个本地分支,因此它与远程跟踪分支没有关系。
当您说Git pull
时,您将Jira Git分支向下同步到本地远程跟踪分支和相应的本地分支。第一步,涉及远程跟踪部门,只需复印一份;但第二步将(默认情况下)远程跟踪分支合并到本地分支中。
当您说Git Push
时,您将以另一种方式同步:本地分支合并到远程跟踪分支中,然后再向上合并到相应的Jira Git分支中。那些合并被保证是快进合并,因为如果它们不是,Git会抵制;你可以通过使用“武力”来克服那种阻力。如果在本地分支未绑定到远程跟踪分支时使用git push
,则可以通过添加-u
属性来绑定它:git push-u origin branchname
是对本地创建的分支执行第一次推送的常用方法,之后就不需要该分支的-u
了,因为已经建立了关联。
我已经做了很大的简化,但希望这足以给你一个更准确的心理图片,一般情况下发生的事情。
我使用github的时间相对较短,并且一直使用客户端执行提交和拉取。我决定从昨天的git bash开始尝试它,并且我成功地创建了一个新的repo和提交的文件。 今天,我从另一台计算机上对存储库进行了更改,我提交了更改,现在我回到家里,执行了来更新我的本地版本,我得到了以下信息: 这次回购的唯一贡献者是我,没有分支(只有一个主人)。我在windows上执行了git Bash中的pull: 我做错了什
对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应
然后我试了一下: 有什么提示吗?
我正在使用JGit创建一个新的git存储库,文件夹中已经存在的所有内容都另存为new branch。 我正在用 (默认情况下,master分支是在上面的语句之后创建的,所以我将其重命名为Backup分支)。 问题是当我推后支时,它被推了,但我无法建立远程跟踪。 从终端:如果我使用结果是 根据链接,让现有的Git分支跟踪远程分支?我可以使用终端中的来指定推送backupbranch后的任何时间。 如
Git 有几个实现大部的分支及合并功能的实用命令。 git branch git branch 命令实际上是某种程度上的分支管理工具。 它可以列出你所有的分支、创建新分支、删除分支及重命名分支。 Git 分支 一节主要是为 branch 命令来设计的,它贯穿了整个章节。 首先,我们在 分支创建 一节中介绍了它,然后我们在 分支管理 一节中介绍了它的其它大部分特性(列举及删除)。 在 跟踪分支 一节
分支是我最喜欢的 Git 特性之一。如果你用过其他版本控制系统,把你所知的分支给忘记,倒可能更有帮助些 ——事实上,以我们使用分支的方式,把 Git 的分支看作 上下文 反而更合适。当你检出分支时,你可以在两三个不同的分支之间来回切换。 简而言之,你可以执行 git branch (branchname) 来创建分支,使用 git checkout (branchname) 命令切换到该分支,在该