2012-07-06 85 views
36

我想远程分支的一个确切的“复制”“复制”到特定的本地分支。如何干净地获取/复制远程git分支到本地存储库

例如,说一个团队成员创建了一个实验性功能,他已经签入了远程存储库中名为experiment的分支。我希望能够检出本地存储库上的新分支,并将experiment分支按原样“复制”到我的新检出分支。

我不想将它与我的代码合并 - 我想完全覆盖我的代码,以便我可以清楚地看看他在“实验”分支上做了什么。

如何以某种方式“获得”(取/拉/无论...)一个远程分支,其他人已将远程存储库提交给您自己的本地存储库,方法是不尝试并执行合并你自己的本地代码?

+0

我喜欢为这种情况保留一份本地回购单独的副本。它不仅可以帮你避免错误,还可以让我平行工作。 – user1164937 2016-10-19 00:08:48

回答

67

如果你不关心合并:

git reset --hard <remote>/<branch_name> 

这正是你想要的东西:没有合并,没有垫底,干脆把本地分支完全相同的状态作为遥控器是。

在你的情况下,你不需要那个。你想创建本地一个与git checkout时创建具有相同的状态偏僻了当地的分支机构,因此指定的远程分支:

git checkout -b <my_new_branch> <remote>/<branch_name> 

你会使用git reset --hard如果你已经有一个本地分支(例如对其进行了一些更改),请丢弃所做的任何修改,而是采用远程分支的确切版本。

要确保您拥有远程分支的最新状态,请在检出或重置之前使用git fetch <remote>

+7

不要重置放弃您的更改。请改为藏起来。更安全。 – 2012-07-06 07:40:53

+2

这一开始并不起作用,但那是因为我没有通过取得遥控器开始。 – David 2014-05-05 19:43:09

+0

我不明白这个答案。您是否输入“remote/”或“/”替代的“origin”或其他内容? – William 2014-11-16 22:13:04

相关问题