【发布时间】:2011-01-19 01:03:30
【问题描述】:
您好,我是 Windows 上没有经验的 Git 用户。我正在使用 Git Gui。 我对分支机构管理感兴趣。
我的 repo 有一个名为“leafy”的分支,我如何将这个分支签出到我的本地机器,然后他们会从 master 中挑选一个提交到 leafy?
非常感谢
--MB
【问题讨论】:
您好,我是 Windows 上没有经验的 Git 用户。我正在使用 Git Gui。 我对分支机构管理感兴趣。
我的 repo 有一个名为“leafy”的分支,我如何将这个分支签出到我的本地机器,然后他们会从 master 中挑选一个提交到 leafy?
非常感谢
--MB
【问题讨论】:
感谢回复,但我说我使用的是 Git Gui
要签出新创建的分支(存在于服务器上,而不是本地),这是一个两步过程:
Git Gui -> 分支 -> 签出 -> 跟踪分支 -> 选择分支
分支 -> 创建 -> 名称 = 与您选择的跟踪分支相同的名称 -> 选择此分离结帐
您现在正在使用分支。
另一个有用且明显的东西->切换到另一个分支->分支->签出->本地分支.....
【讨论】:
我如何检查这个分支到我的 本地机器
一切都已经在您的本地机器上,checkout 所做的是更新文件系统中的文件以匹配您正在检查的提交状态。
git checkout leafy
使用分支顶部的提交内容更新您的文件(请注意,如果您的文件中有未提交的更改,git 拒绝签出。这样做是为了防止您丢失更改。您可以覆盖此行为通过添加-f 选项)。它还将leafy 设置为您当前的HEAD,在这种情况下,您当前的HEAD 定义了您所在的分支。
然后要挑选,你需要找出你想要挑选的提交的 SHA1 ID(gitk --all& 在这里可能很方便)。然后以正确的顺序使用几个git cherry-pick <the-interesting-SHA1-ID> 来挑选提交。
【讨论】:
其他答案对我不起作用。
浪费了一个小时。
以下顺序有效:
第一次/新的远程分支:
获取新创建的远程仓库列表:
Branch -> Checkout
Revision > Tracking Branch > {select your origin/remote-branch} > Checkout
切换到你的分支:
Branch -> Create
Branch Name > Match Tracking Branch Name
Starting Revision > Tracking Branch > {select your origin/remote-branch} > Create
稍后,一旦签出,只需执行以下操作:
Branch -> Checkout
Revision > Local Branch > {select your local-branch} > Checkout
希望对您有所帮助。
【讨论】:
切换到“多叶”分支:
git checkout leafy
根据 SHA1 标识符来挑选提交:
git cherry-pick abc123
【讨论】: