Sourcetree中现有的Checkout和Checkout的新分支之间的区别

时间:2019-03-20 14:32:04

标签: git atlassian-sourcetree git-checkout

在sourcetree中,我只想签到远程开发分支,以便可以在其中启动一个新的功能分支。我目前在另一个功能分支中,已经提交并推送了所有更改。

但是,当我右键单击远程分支起源/开发时,我得到以下信息: enter image description here

由于某种原因,我在这里找不到任何区别。我不想中断我的新工作,所以我非常小心。在GitKraken中,您只需签到远程帐户,并在必要时更新本地开发分支。

3 个答案:

答案 0 :(得分:0)

我不太了解GitKraken或Sourcetree,但是一般来说,您不希望直接签出Git中的远程跟踪分支。也就是说,通常您不想这样做:

git checkout origin/develop

原因是,顾名思义,跟踪分支主要存在于 track 真正的远程分支的状态。但是您所有的本地工作都应该进入某个地方的新本地分支。

因此,回到您的Sourcetree问题和屏幕截图,在那里我看不到任何惊奇。您说要基于跟踪分支develop创建一个新的本地分支origin/develop。另外,您还告诉Sourcetree / Git您希望此本地分支跟踪远程跟踪分支origin/develop

答案 1 :(得分:0)

我对sourcetree不太熟悉,但是通常您可以通过checkout创建一个新分支(如果您在命令窗口中向命令添加-b),因此我假设checkout new分支就是这样做的,而其他让您签出现有分支机构

答案 2 :(得分:0)

这是什么:

git checkout -b develop --track origin/develop

这将确保本地分支develop默认会推送到远程分支origin/develop

请注意,在Git 2.23+中,该值为git switch

git switch -c develop --track origin/develop

SourceTree尚未集成该新命令。


  

我不想中断新工作的回购,所以我非常小心

这不会破坏任何东西:这只是本地操作。