我希望将一个"复制"的远程分支"复制"到特定的本地分支.
比如说,例如,团队成员创建了一个实验性功能,他已经检查experiment了远程存储库中调用的分支.我希望能够在我的本地存储库中签出一个新分支,然后将experiment分支" 原样"复制到我新签出的分支.
我不想将它与我的代码合并 - 我想完全覆盖我的代码,以便我可以清楚地看看他在"实验"分支上做了什么.
如何将"其他人"提交到远程存储库的远程分支"获取"(获取/拉/任何...),以不会尝试在您自己的本地代码上执行合并的方式?
eck*_*kes 107
如果你不关心合并:
git reset --hard <remote>/<branch_name>
Run Code Online (Sandbox Code Playgroud)
这将完全符合您的要求:没有合并,没有变基,只需将本地分支置于与远程完全相同的状态.
但是,在你的情况下,你不需要那样做.您希望创建一个与远程状态相同的新本地分支,因此在创建本地分支时指定远程分支git checkout:
git checkout -b <my_new_branch> <remote>/<branch_name>
Run Code Online (Sandbox Code Playgroud)
git reset --hard如果您已经有一个本地分支(例如,对其进行了一些更改),您将使用它,丢弃您所做的任何修改,而是采用远程分支的确切版本.
要确保您具有远程分支的最新状态,请git fetch <remote>在签出或重置之前使用.
daG*_*aGo 17
假设git remote命令输出origin为结果,则
git fetch origin remote_branch_name:local_branch_name
Run Code Online (Sandbox Code Playgroud)
将创建一个本地分支,它是您需要的远程分支的精确副本。
编辑:有一个替代的更现代的解决方案:
git switch remote_branch_name
Run Code Online (Sandbox Code Playgroud)
该命令将创建一个与指定远程分支同名的本地分支。
小智 7
我没有足够的代表发表评论,但我想为那些仍在苦苦挣扎的人添加一个例子。在我的示例中,我使用 Github 作为我的远程并将分支复制到我的 Linux 服务器环境/终端。
首先,您需要运行git fetch以确保您是最新的。
使用的例子
git checkout -b <my_new_branch> <remote>/<branch_name>
使用名为“picklerick”的远程分支
我跑了
git checkout -b picklerick remotes/origin/picklerick
I probably could have just used remote/picklerick for my remote path, but this worked for me.
| 归档时间: |
|
| 查看次数: |
53957 次 |
| 最近记录: |